openapi: 3.0.1
info:
  title: ChangeTracker Hub
  version: '8.1'
servers:
  - url: https://localhost:5001/api
paths:
  '/command/tasks/poll/{AgentId}':
    get:
      tags:
        - command
      summary: 'Poll agent tasks and template dates'
      description: 'Returns a list of pending AgentTasks and the latest tracking template definition dates for all devices managed by the specified agent. Use this endpoint during the agent polling cycle to determine which tasks to execute and whether any template definitions have been updated since the last poll.'
      operationId: GetAgentPolltaskspollAgentId_Get
      parameters:
        - name: UniqueId
          in: query
          description: Specifies the agent unique reference id. This is supplied in the return from the initial RegisterAgent call.
          required: true
          schema:
            type: string
        - name: AgentId
          in: query
          description: 'Specifies the agent id. Note: this the agent id excluding the device id: the poll returns tasks and configuration dates for all devices registered under this agent id.'
          required: true
          schema:
            type: string
        - name: LegacyId
          in: query
          description: 'The legacy v6.5 RA agent id. Note: this is only present for upgrade purposes.'
          schema:
            type: string
        - name: PollTimeUtc
          in: query
          description: Specifies the local agent Utc time. Used to detect system time differences between agent and hub.
          required: true
          schema:
            type: DateTime
            format: date-time
          x-nullable: false
        - name: AgentVersion
          in: query
          description: Specifies the agent version. This is optional and typically only sent on initial poll.
          schema:
            type: string
        - name: AgentMacAddresses
          in: query
          description: Specifies the agent physical/MAC addresses. This is optional and typically only sent on an initial poll or when the list changes.
          schema:
            type: string
        - name: AgentIPv4
          in: query
          description: Specifies the agent IP v4 addresses. This is optional and typically only sent on initial poll or when the list changes.
          schema:
            type: string
        - name: AgentIPv6
          in: query
          description: Specifies the agent IP v6 addresses. This is optional and typically only sent on initial poll or when the list changes.
          schema:
            type: string
        - name: MachineName
          in: query
          description: 'Specifies the agent machine name including custom prefix, and domain prefix, if used. This is optional and typically only sent on initial poll or when the it changes.'
          schema:
            type: string
        - name: FullyQualifiedDomainName
          in: query
          description: Specifies the fully qualified domain name. This is optional and typically only sent on initial poll or when the it changes.
          schema:
            type: string
        - name: AgentType
          in: query
          description: Specifies the type of agent
          schema:
            enum:
              - Unknown
              - NetDesktop
              - Mono
              - NetCore
              - ExpressAgent
            type: string
          x-nullable: false
        - name: Os
          in: query
          description: Specifies the agent operating system. This is optional and typically only sent on initial poll or when the it changes.
          schema:
            type: string
        - name: DeviceIds
          in: query
          description: Specifies the deviceIds of the devices online that the agent is proxying. This is optional and typically only sent by a proxying agent.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: ReturnXml
          in: query
          description: Specifies whether to return the report task template xml in the response. This is optional and defaults to true. It can be used to prevent xml download on agents that implement a local cache of report definitions.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentPoll
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentPollResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: 'Poll agent tasks and template dates'
      description: 'Returns a list of pending AgentTasks and the latest tracking template definition dates for all devices managed by the specified agent. Submit this request when the agent polls for new work, allowing the hub to communicate task assignments and template update notifications.'
      operationId: GetAgentPolltaskspollAgentId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentPoll'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentPoll
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentPollResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/agent/{AgentId}':
    get:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns task information for the specified agent, optionally filtered by AgentId, DeviceId, task status, task IDs, or policy run ID. Use the Concise flag to omit large text and result-data fields from the response, and use the pagination parameters to page through large result sets.
      operationId: GetAgentTaskstasksagentAgentId_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent's AgentId.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the agent's DeviceId.
          schema:
            type: string
        - name: TaskStatuses
          in: query
          description: Specifies a value indicating the task statuses to filter by.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies value indicating the task ids to look for.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          schema:
            type: integer
            format: int32
        - name: TaskType
          in: query
          description: Specifies the specific task type to retrieve details for
          schema:
            type: string
        - name: Concise
          in: query
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          schema:
            type: boolean
          x-nullable: false
        - name: IgnoreActiveDates
          in: query
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Get tasks for given agent
      description: Submits a request for task information for the specified agent. Accepts the same filtering options as the GET variant, including task status, task type, and Concise mode, via the request body.
      operationId: GetAgentTaskstasksagentAgentId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/submitAgentTaskResultStream/{AgentId}/{DeviceId}/{TaskId}':
    post:
      tags:
        - submitAgentTaskResultStream
      summary: Stream agent task result data
      description: Submits agent task result data to the hub as a streaming upload. Use this endpoint when the result payload is too large to send as a single request body, sending chunks incrementally until the task result is complete.
      operationId: SubmitAgentTaskResultStreamAgentIdDeviceIdTaskId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitAgentTaskResultStream'
        x-bodyName: body
      responses:
        '200':
          description: The response object for SubmitAgentTaskResultsStream.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAgentTaskResultStreamResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /submitAgentTaskResultData:
    get:
      tags:
        - submitAgentTaskResultData
      summary: 'Submit Gen 7 agent task data'
      description: Submits report result data to the hub for the specified agent report task using the Gen 7 format. Provide the TaskId, result DataValues, and final Status to indicate whether the task completed successfully or encountered an error.
      operationId: SubmitAgentTaskResultData_Get
      parameters:
        - name: AgentId
          in: query
          description: 'Specifies the agent id. This required for external api callers, but optional internally because the system may update / expire tasks without knowing the AgentId, but external api entry points should ensure it is set to prevent tampering with tasks not owned by the caller.'
          schema:
            type: string
        - name: DeviceId
          in: query
          description: 'Specifies the device id. Note: this is optional as the system knows the device id from the task.'
          schema:
            type: string
        - name: TaskId
          in: query
          description: Specifies the task id that this data relates to.
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: DataValues
          in: query
          description: Specifies the result data items.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/VariableDataValue'
        - name: Status
          in: query
          description: 'Specifies the status of the task.  e.g complete, or error.'
          schema:
            enum:
              - AwaitingPickup
              - InProgress
              - Complete
              - Error
              - Deleted
              - ProcessingResults
            type: string
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - submitAgentTaskResultData
      summary: 'Submit Gen 7 agent task data'
      description: Submits report result data to the hub for the specified agent report task using the Gen 7 format. Supply the TaskId, DataValues, and Status in the request body to record the outcome of the completed task.
      operationId: SubmitAgentTaskResultData_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitAgentTaskResultData'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /submitAgentTaskResult:
    get:
      tags:
        - submitAgentTaskResult
      summary: 'Submit agent task result'
      description: Submits task result data to the hub for the specified agent task. Supply the AgentId, DeviceId, and TaskId along with the result payload, which may be a single string in ResultData, a list of items in ResultDataItems, or rule evaluation results in RuleItemResults.
      operationId: SubmitAgentTaskResult_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent id.
          required: true
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the device id.
          required: true
          schema:
            type: string
        - name: TaskId
          in: query
          description: Specifies the task id.
          required: true
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: ResultData
          in: query
          description: Specifies the result data. If the task result is a single string it may be specified here. Otherwise specify it in ResultDataItems or RuleItemResults.
          schema:
            type: string
        - name: ResultDataItems
          in: query
          description: 'Specifies the result data items, when the task result is a list of data items (eg get processes).'
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AgentDataItem'
        - name: Status
          in: query
          description: Specifies the task status.
          schema:
            enum:
              - AwaitingPickup
              - InProgress
              - Complete
              - Error
              - Deleted
              - ProcessingResults
            type: string
          x-nullable: false
        - name: StatusMessage
          in: query
          description: 'Specifies the additional status message, if any.'
          schema:
            type: string
        - name: ReportResultSummary
          in: query
          description: Specifies the report result summary when this task represents a 'AgentTaskType.ReportExecutionRequest'.
          schema:
            $ref: '#/components/schemas/ReportResultSummary'
        - name: RuleItemResults
          in: query
          description: Specifies the rule item results when this task represents a 'AgentTaskType.ReportExecutionRequest'.
          schema:
            title: 'Dictionary<String,List<RuleItemResult>>'
            type: object
            additionalProperties:
              type: array
              items:
                $ref: '#/components/schemas/RuleItemResult'
            description: 'Dictionary<String,List<RuleItemResult>>'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - submitAgentTaskResult
      summary: 'Submit agent task result'
      description: Submits task result data to the hub for the specified agent task. Supply the AgentId, DeviceId, TaskId, result payload, and final Status in the request body.
      operationId: SubmitAgentTaskResult_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitAgentTaskResult'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /credential:
    get:
      tags:
        - credential
      summary: Get credentials by type and key
      description: Returns the stored credentials matching the specified type and key name. Supported credential types include Shell, Database, FTP, Cloud, ESX, ITSM, and Splunk. Use this endpoint to retrieve connection credentials for use by agents or proxy configurations.
      operationId: GetCredentials_Get
      parameters:
        - name: CredentialsType
          in: query
          description: Specifies the credentials type.
          schema:
            enum:
              - Unknown
              - Shell
              - Database
              - FTP
              - Cloud
              - ESX
              - ITSM
              - Splunk
            type: string
          x-nullable: false
        - name: Key
          in: query
          description: Specifies the key (name) of the required credentials.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    post:
      tags:
        - credential
      summary: Get credentials by type and key
      description: Returns the stored credentials matching the specified type and key name supplied in the request body. Supported credential types include Shell, Database, FTP, Cloud, ESX, ITSM, and Splunk.
      operationId: GetCredentials_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCredentials'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplates:
    get:
      tags:
        - policyTemplates
      summary: Gets matching config templates.
      description: Returns configuration policy templates matching the specified filter criteria. Filter by name, name substring, template version, tracker type, usage tags, or trust status. Set ReturnXml to true to include the full template XML definition in the response.
      operationId: GetPolicyTemplates_Get
      parameters:
        - name: Name
          in: query
          description: Specifies a single policy name (id) to search for.
          schema:
            type: string
        - name: NameContains
          in: query
          description: Specifies the text the name contains. Used to search for partial match if 'Name' not specified.
          schema:
            type: string
        - name: Names
          in: query
          description: Specifies a list of policy names (ids) to search for.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: ReturnXml
          in: query
          description: Specifies a value indicating whether to return the template xml in the response. Defaults to false.
          schema:
            type: boolean
          x-nullable: false
        - name: ReturnSignatures
          in: query
          description: Specifies a value indicating whether to calculate and return the template signatures in the response. Defaults to false.
          schema:
            type: boolean
          x-nullable: false
        - name: IsActive
          in: query
          description: Get the Active version of a template
          schema:
            type: boolean
        - name: IsLatest
          in: query
          description: Get the Latest version of a template
          schema:
            type: boolean
        - name: IsSystem
          in: query
          description: Get System supplied templates
          schema:
            type: boolean
        - name: HasRules
          in: query
          description: Get templates with Rules
          schema:
            type: boolean
        - name: HasTrackers
          in: query
          description: Get templates with Trackers
          schema:
            type: boolean
        - name: TemplateTrackerTypes
          in: query
          description: Specifies the template's tracker types.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: TemplateVersion
          in: query
          description: Specifies the template version to get.
          schema:
            type: string
        - name: UsageTags
          in: query
          description: Specifies the policy usage types to get.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: IsTrusted
          in: query
          description: Policy templates which  contains commands that are trusted
          schema:
            type: boolean
        - name: NotificationRefId
          in: query
          description: Policy templates associated with the supplied notification ref id
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to a request for matching config templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplatesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplates
      summary: Gets matching config templates.
      description: Returns configuration policy templates matching the filter criteria supplied in the request body. Supports the same filtering options as the GET variant, including name, tracker type, usage tags, and pagination.
      operationId: GetPolicyTemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPolicyTemplates'
        x-bodyName: body
      responses:
        '200':
          description: Response to a request for matching config templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplatesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplateVariables:
    get:
      tags:
        - policyTemplateVariables
      summary: Get report variable definitions
      description: Returns a list of variable definitions from the specified report template that the agent must collect. Use the ReturnConfigAsXml flag to receive any required configuration as an XML string rather than a structured object.
      operationId: GetPolicyTemplateVariables_Get
      parameters:
        - name: PolicyTemplateName
          in: query
          description: Specifies the report template name.
          schema:
            type: string
        - name: ReturnConfigAsXml
          in: query
          description: 'For any config that needs to be applied, return as XML.'
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The list of variable definitions from a named report to be collected by the agent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplateVariablesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplateVariables
      summary: Get report variable definitions
      description: Returns a list of variable definitions from the specified report template that the agent must collect. Supply the template name and format preference in the request body.
      operationId: GetPolicyTemplateVariables_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPolicyTemplateVariables'
        x-bodyName: body
      responses:
        '200':
          description: The list of variable definitions from a named report to be collected by the agent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplateVariablesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceCredentials:
    get:
      tags:
        - deviceCredentials
      summary: Get agent credential names
      description: Returns the names of all credentials associated with the specified agent device. Use this endpoint to discover which credential sets are available before making targeted credential lookup calls.
      operationId: GetCredentialsForAgentDevice_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent device.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceCredentials
      summary: Get agent credential names
      description: Returns the names of all credentials associated with the specified agent device. Supply the agent device details in the request body.
      operationId: GetCredentialsForAgentDevice_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCredentialsForAgentDevice'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceDbCredentials:
    get:
      tags:
        - deviceDbCredentials
      summary: Get proxied agent database credentials
      description: Returns the database credentials associated with the specified database-proxied agent device. Use this endpoint when a proxy agent needs to retrieve connection credentials for the database device it manages.
      operationId: GetDbCredentialForDatabaseAgentDevice_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent device.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceDbCredentials
      summary: Get proxied agent database credentials
      description: Returns the database credentials associated with the specified database-proxied agent device. Supply the agent device details in the request body.
      operationId: GetDbCredentialForDatabaseAgentDevice_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDbCredentialForDatabaseAgentDevice'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupMemberships:
    get:
      tags:
        - groupMemberships
      summary: 'Get agent or group memberships'
      description: Returns all groups that the specified agent or group belongs to, including transitively inherited parent groups. For example, if a device belongs to a "Windows 7" group that is itself a member of a "Windows" group, both groups are returned unless ExcludeInherited is set to true.
      operationId: GroupMemberships_Get
      parameters:
        - name: MemberName
          in: query
          description: Specifies the member name to retrieve group memberships for.
          schema:
            type: string
        - name: MemberType
          in: query
          description: Specifies the member type of the member specified by MemberName (AgentDevice or Group).
          schema:
            enum:
              - None
              - AgentDevice
              - Group
            type: string
          x-nullable: false
        - name: ExcludeInherited
          in: query
          description: 'Specifies a value indicating whether to exclude inherited groups. This defaults to false meaning that all groups including those that are parents of thoseexplicitly set are returned, for example if Windows 7 group is a member of Windows group, and a device is explicitly a member of Windows 7the function will return ''Windows, Windows 7''. If ''ExcludeInherited'' is true, only ''Windows 7'' will be returned.'
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupMemberships
      summary: 'Get agent or group memberships'
      description: Returns all groups that the specified agent or group belongs to, including transitively inherited parent groups. Supply the member name, member type, and ExcludeInherited preference in the request body.
      operationId: GroupMemberships_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupMemberships'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agents:
    get:
      tags:
        - agents
      summary: List agents by device filter
      description: Returns a list of agents matching the specified device filter. Use the optional flags to include related data such as group details, credentials, planned changes, proxy agents, and applied templates. Supports pagination and sorting through the standard query parameters.
      operationId: GetAgents_Get
      parameters:
        - name: ExcludeTotalCount
          in: query
          description: Specifies a value indicating whether to calculate the total count returned in the GetAgentsResponse.Total
          schema:
            type: boolean
          x-nullable: false
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: GetAgentGroupDetails
          in: query
          description: Specifies a value indicating whether to get agent group details.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedCredentials
          in: query
          description: Specifies a value indicating whether to get related credentials.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedPlannedChanges
          in: query
          description: Specifies a value indicating whether to get related planned changes.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedProxyAgents
          in: query
          description: Specifies a value indicating whether to get related proxy agents.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedTemplates
          in: query
          description: Specifies a value indicating whether to get templates applied to the returned agents.
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeMasterInFilter
          in: query
          description: Specifies a value indicating whether to include proxy master devices in filters that match a child proxied device but would not otherwise return the proxying master.
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agents
      summary: List agents by device filter
      description: Returns a list of agents matching the specified device filter. Supply all filter and pagination options in the request body. Supports the same related-data flags as the GET variant.
      operationId: GetAgents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgents'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agents/register:
    get:
      tags:
        - agents
      summary: Register agent details
      description: Registers a new agent or proxied device with the hub and returns the resulting Agent record. Supply device properties such as host name, host type, group memberships, and credentials. The UniqueId parameter prevents duplicate registrations if the hub store is reset and agent IDs are reissued.
      operationId: RegisterAgentregister_Get
      parameters:
        - name: CanProxy
          in: query
          description: Specifies a value indicating whether the agent can proxy connections to other devices.
          schema:
            type: boolean
          x-nullable: false
        - name: CredentialKey
          in: query
          description: Specifies the credential key. Only allowed for proxied devices.
          schema:
            type: string
        - name: DbConnection
          in: query
          description: Specifies the details for a database connection.
          schema:
            $ref: '#/components/schemas/DbConnection'
        - name: DeviceName
          in: query
          description: Specifies the device name.
          schema:
            type: string
        - name: GroupNames
          in: query
          description: Specifies the group names. Only allowed for proxied devices.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: HostName
          in: query
          description: Specifies the host name. This is the name or IP address used for agentless access to this device by a proxy.
          schema:
            type: string
        - name: HostType
          in: query
          description: Specifies the host type.
          schema:
            enum:
              - Unknown
              - Unix
              - Windows
              - Network
              - Database
              - Cloud
              - ESX
              - Splunk
            type: string
          x-nullable: false
        - name: MacAddresses
          in: query
          description: Specifies the mac addresses.
          schema:
            type: string
        - name: IPv4
          in: query
          description: Specifies the v4 ip address.
          schema:
            type: string
        - name: IPv6
          in: query
          description: Specifies the v6 ip address.
          schema:
            type: string
        - name: LegacyHubId
          in: query
          description: Specifies the legacy hub id.
          schema:
            type: string
        - name: DiscoveryId
          in: query
          description: Specifies the internal discovery-based id.
          schema:
            type: string
        - name: DiscoveryTaskId
          in: query
          description: Specifies the internal discovery task id.
          schema:
            type: string
        - name: OnlineDetection
          in: query
          description: Specifies the method to use when detecting if a proxed device is online
          schema:
            enum:
              - None
              - Ping
              - TcpConnect
            type: string
          x-nullable: false
        - name: Os
          in: query
          description: Specifies the Operating System full description as reported by the device.
          schema:
            type: string
        - name: KnownOsName
          in: query
          description: Specifies the Operating System from the list of known Os names.
          schema:
            type: string
        - name: OsUserSpecified
          in: query
          description: 'Specifies the operating system as entered by the user. This will override the discovered Os in the UI, if specified.'
          schema:
            type: string
        - name: PollPeriodSeconds
          in: query
          description: Specifies the poll period in seconds.
          schema:
            type: integer
            format: int32
        - name: ProxiedByAgentId
          in: query
          description: Specifies the agent id of the proxy agent this device will be proxied by.
          schema:
            type: string
        - name: Registered
          in: query
          description: Specifies a value indicating whether registered.
          schema:
            type: boolean
          x-nullable: false
        - name: BaselineSendEnabled
          in: query
          description: Specifies that the agent send baseline events flag should be set according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UniqueId
          in: query
          description: 'Specifies a value uniquely identifying the agent independent of name or agent id from a previous registration. Used to detect a need to re-register when underlying hub store has been emptied, otherwise the autoincrementing agent id counter can result in clashes as already used ids are reissued to different agents.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents a remote NNT Agent. May be a 1.x Agent, Gen7 Agent or Express Agent or a proxied device.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agents
      summary: Register agent details
      description: Registers a new agent or proxied device with the hub and returns the resulting Agent record. Supply all device properties in the request body, including host name, host type, group memberships, and credentials.
      operationId: RegisterAgentregister_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RegisterAgent'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents a remote NNT Agent. May be a 1.x Agent, Gen7 Agent or Express Agent or a proxied device.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agents/update:
    get:
      tags:
        - agents
      summary: Update an Agent's details.
      description: Updates the specified agent's details and returns the refreshed agent list. Use the Update* boolean flags to control which fields are actually written, allowing partial updates without overwriting fields that were not supplied.
      operationId: UpdateAgentupdate_Get
      parameters:
        - name: Agent
          in: query
          description: Specifies the agent being updated
          schema:
            $ref: '#/components/schemas/Agent'
        - name: CredentialKey
          in: query
          description: Specifies the credential key to associate with this agent. e.g ssh credentials.
          schema:
            type: string
        - name: DbConnection
          in: query
          description: Specifies the details for a database connection.
          schema:
            $ref: '#/components/schemas/DbConnection'
        - name: GroupNames
          in: query
          description: Specifies a list of group names this agent belongs to.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: UpdateAgentDeviceName
          in: query
          description: Specifies that the agent device name should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateAgentHostType
          in: query
          description: Specifies that the agent host type should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateCredentialKey
          in: query
          description: Specifies that the agent credential key should be updated according to the value specified.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateDbConnectionDetails
          in: query
          description: Specifies that the agent database connection details should be updated according to the values specified.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateDiagnosticModeEnabled
          in: query
          description: Specifies that the agent diagnostic mode flag should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateEventBlockEnabled
          in: query
          description: Specifies that the agent events blocked flag should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateGroupNames
          in: query
          description: Specifies that the agent group names should be updated according to the value specified.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateHostName
          in: query
          description: Specifies that the agent host name should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateIPv4
          in: query
          description: Specifies that the IPv4 should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateOnlineDetection
          in: query
          description: Specifies that the agentonline detection mode should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateOsUserSpecified
          in: query
          description: Specifies that the agent user specified os type should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: UpdateBaselineSendEnabled
          in: query
          description: Specifies that the agent send baseline events flag should be updated according to the value specified in the Agent property.
          schema:
            type: boolean
          x-nullable: false
        - name: ClearUniqueId
          in: query
          description: 'Specifies that the agent UniqueId should be cleared, allowing registration by another device of the same name, but different UniqueId.'
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agents
      summary: Update an Agent's details.
      description: Updates the specified agent's details and returns the refreshed agent list. Supply the agent object and the Update* boolean flags in the request body to control which fields are written.
      operationId: UpdateAgentupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateAgent'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agents/search:
    get:
      tags:
        - agents
      summary: Find agents by filter and criteria
      description: Returns agents that match both the device filter and the specified text search criteria. Use this endpoint to perform free-text searches across agent fields, with the results scoped to the devices identified by the DeviceFilter.
      operationId: SearchAgentssearch_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Limits the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: MatchText
          in: query
          description: Text to search for in the Agents fields.
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for SearchAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAgentsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agents
      summary: Find agents by filter and criteria
      description: Returns agents that match both the device filter and text search criteria supplied in the request body. Accepts the same filter and pagination options as the GET variant.
      operationId: SearchAgentssearch_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SearchAgents'
        x-bodyName: body
      responses:
        '200':
          description: The response object for SearchAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAgentsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agents/preRegister:
    get:
      tags:
        - agents
      summary: Register specified agents
      description: Pre-registers a batch of agents with the hub before they connect for the first time. Returns the pre-registration response for each supplied agent, allowing you to provision agent records in advance of deployment.
      operationId: PreRegisterAgentspreRegister_Get
      parameters:
        - name: Agents
          in: query
          description: A list of agents to pre-register at the hub.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RegisterAgent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for PreRegisterAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterAgentsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agents
      summary: Register specified agents
      description: Pre-registers a batch of agents with the hub before they connect for the first time. Supply the list of agent registration details in the request body.
      operationId: PreRegisterAgentspreRegister_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PreRegisterAgents'
        x-bodyName: body
      responses:
        '200':
          description: The response object for PreRegisterAgents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterAgentsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceConfig:
    get:
      tags:
        - deviceConfig
      summary: Get merged device tracking config
      description: Returns the effective tracking configuration for the specified device by merging all group-level policy templates that apply to it. Use ReturnDocument to receive a structured template object, or set it to false to receive the raw XML string.
      operationId: GetDeviceConfig_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent and device id. Either 'AgentDevice' or 'AgentDeviceId' can be used.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: AgentDeviceId
          in: query
          description: 'Specifies the combined agent and device id, for example 1,1.'
          schema:
            type: string
        - name: ReturnDocument
          in: query
          description: Specifies a value indicating whether return to return a device template object in GetDeviceConfigResponse.DeviceTemplate if trueor an xml string in GetDeviceConfigResponse.Xml if false.
          schema:
            type: boolean
          x-nullable: false
        - name: ReturnDocumentAsPolicyRuleSet
          in: query
          description: Specifies a value indicating whether return to return a device template rule-set object in GetDeviceConfigResponse.DeviceTemplate if trueor an xml string in GetDeviceConfigResponse.Xml if false.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Represents the tracking configuration template from the merged result of the group configurations for the groups the device is in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceConfigResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceConfig
      summary: Get merged device tracking config
      description: Returns the effective tracking configuration for the specified device by merging all group-level policy templates that apply to it. Supply the agent device identifier and response format preference in the request body.
      operationId: GetDeviceConfig_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceConfig'
        x-bodyName: body
      responses:
        '200':
          description: Represents the tracking configuration template from the merged result of the group configurations for the groups the device is in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceConfigResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceSettings:
    get:
      tags:
        - deviceSettings
      summary: 'Get device or group settings'
      description: 'Returns the effective device settings for the specified device or group, combining the global defaults with any group-specific overrides. Provide either an AgentId and DeviceId pair or a GroupName to identify the target.'
      operationId: GetDeviceSettings_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the id of the agent. Either AgentId and DeviceId or GroupName must be supplied.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the id of the device. Either AgentId and DeviceId or GroupName must be supplied.
          schema:
            type: string
        - name: GroupName
          in: query
          description: Specifies the group name. Either AgentId and DeviceId or GroupName must be supplied.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents the device specific options such as customised local ui password details, and tracker performance settings.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceSettingsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceSettings
      summary: 'Get device or group settings'
      description: 'Returns the effective device settings for the specified device or group, combining the global defaults with any group-specific overrides. Supply the AgentId and DeviceId pair or GroupName in the request body.'
      operationId: GetDeviceSettings_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceSettings'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents the device specific options such as customised local ui password details, and tracker performance settings.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceSettingsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /events:
    get:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns a filtered list of events from the hub. Use the DeviceFilter and EventFilter to scope results by device and event type, the StartUtc and EndUtc parameters to define the time window, and the pagination parameters to control the result set size. Optionally include event history or populate the AllEvents list by setting the corresponding flags.
      operationId: GetEvents_Get
      parameters:
        - name: Comment
          in: query
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: StartOffsetSeconds
          in: query
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: EndOffsetSeconds
          in: query
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: Status
          in: query
          description: Only get events of a certain status
          schema:
            type: string
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: ReturnedEventType
          in: query
          description: ' Gets or sets the returned event type.'
          schema:
            enum:
              - None
              - DeviceEvent
              - AlertEvent
              - ErrorEvent
              - AuditEvent
              - RuleSetResultEvent
              - RuleResultEvent
              - DataResultsEvent
              - ScheduledPolicyResultEvent
              - RuleSetScoreEvent
              - CommsEvent
              - BaselineEvent
              - GroupReportResultEvent
            type: string
          x-nullable: false
        - name: EventId
          in: query
          description: Gets or sets the specific event id.
          schema:
            type: string
        - name: ExcludeTotalCount
          in: query
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeHistory
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: boolean
          x-nullable: false
        - name: RulesFromBaselinePolicyName
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: string
        - name: ReturnAllEvents
          in: query
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          schema:
            type: boolean
          x-nullable: false
        - name: CountTimeMilliseconds
          in: query
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          schema:
            type: number
            format: double
        - name: FormatDiffs
          in: query
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns a filtered list of events from the hub. Supply device filter, event filter, time range, and pagination options in the request body. Supports the same filtering and response options as the GET variant.
      operationId: GetEvents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEvents'
        x-bodyName: body
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/events/start/{StartUtc}':
    get:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns events from the hub starting at the specified UTC timestamp supplied in the path. Use the DeviceFilter, EventFilter, and pagination parameters to further narrow results. The StartUtc path parameter is combined with EndUtc and any offset values in the query string.
      operationId: GetEventsstartStartUtc_Get
      parameters:
        - name: Comment
          in: query
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: StartOffsetSeconds
          in: query
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: EndOffsetSeconds
          in: query
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: Status
          in: query
          description: Only get events of a certain status
          schema:
            type: string
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: ReturnedEventType
          in: query
          description: ' Gets or sets the returned event type.'
          schema:
            enum:
              - None
              - DeviceEvent
              - AlertEvent
              - ErrorEvent
              - AuditEvent
              - RuleSetResultEvent
              - RuleResultEvent
              - DataResultsEvent
              - ScheduledPolicyResultEvent
              - RuleSetScoreEvent
              - CommsEvent
              - BaselineEvent
              - GroupReportResultEvent
            type: string
          x-nullable: false
        - name: EventId
          in: query
          description: Gets or sets the specific event id.
          schema:
            type: string
        - name: ExcludeTotalCount
          in: query
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeHistory
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: boolean
          x-nullable: false
        - name: RulesFromBaselinePolicyName
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: string
        - name: ReturnAllEvents
          in: query
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          schema:
            type: boolean
          x-nullable: false
        - name: CountTimeMilliseconds
          in: query
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          schema:
            type: number
            format: double
        - name: FormatDiffs
          in: query
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns events from the hub starting at the specified UTC timestamp in the path. Supply additional filters, pagination, and format options in the request body.
      operationId: GetEventsstartStartUtc_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEvents'
        x-bodyName: body
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/events/end/{End}':
    get:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns events from the hub up to the specified end timestamp supplied in the path. Use the DeviceFilter, EventFilter, and pagination parameters to further narrow results.
      operationId: GetEventsendEnd_Get
      parameters:
        - name: Comment
          in: query
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: StartOffsetSeconds
          in: query
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: EndOffsetSeconds
          in: query
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: Status
          in: query
          description: Only get events of a certain status
          schema:
            type: string
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: ReturnedEventType
          in: query
          description: ' Gets or sets the returned event type.'
          schema:
            enum:
              - None
              - DeviceEvent
              - AlertEvent
              - ErrorEvent
              - AuditEvent
              - RuleSetResultEvent
              - RuleResultEvent
              - DataResultsEvent
              - ScheduledPolicyResultEvent
              - RuleSetScoreEvent
              - CommsEvent
              - BaselineEvent
              - GroupReportResultEvent
            type: string
          x-nullable: false
        - name: EventId
          in: query
          description: Gets or sets the specific event id.
          schema:
            type: string
        - name: ExcludeTotalCount
          in: query
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeHistory
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: boolean
          x-nullable: false
        - name: RulesFromBaselinePolicyName
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: string
        - name: ReturnAllEvents
          in: query
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          schema:
            type: boolean
          x-nullable: false
        - name: CountTimeMilliseconds
          in: query
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          schema:
            type: number
            format: double
        - name: FormatDiffs
          in: query
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns events from the hub up to the specified end timestamp in the path. Supply additional filters, pagination, and format options in the request body.
      operationId: GetEventsendEnd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEvents'
        x-bodyName: body
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/events/start/{StartUtc}/end/{End}':
    get:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns events from the hub within the date range defined by the StartUtc and End path parameters. Use this endpoint for time-bounded queries without relying on query string date parameters, and combine it with device and event filters for more precise results.
      operationId: GetEventsstartStartUtcendEnd_Get
      parameters:
        - name: Comment
          in: query
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: StartOffsetSeconds
          in: query
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: EndOffsetSeconds
          in: query
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: Status
          in: query
          description: Only get events of a certain status
          schema:
            type: string
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: ReturnedEventType
          in: query
          description: ' Gets or sets the returned event type.'
          schema:
            enum:
              - None
              - DeviceEvent
              - AlertEvent
              - ErrorEvent
              - AuditEvent
              - RuleSetResultEvent
              - RuleResultEvent
              - DataResultsEvent
              - ScheduledPolicyResultEvent
              - RuleSetScoreEvent
              - CommsEvent
              - BaselineEvent
              - GroupReportResultEvent
            type: string
          x-nullable: false
        - name: EventId
          in: query
          description: Gets or sets the specific event id.
          schema:
            type: string
        - name: ExcludeTotalCount
          in: query
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeHistory
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: boolean
          x-nullable: false
        - name: RulesFromBaselinePolicyName
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: string
        - name: ReturnAllEvents
          in: query
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          schema:
            type: boolean
          x-nullable: false
        - name: CountTimeMilliseconds
          in: query
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          schema:
            type: number
            format: double
        - name: FormatDiffs
          in: query
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns events from the hub within the date range defined by the StartUtc and End path parameters. Supply additional filters and pagination options in the request body.
      operationId: GetEventsstartStartUtcendEnd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEvents'
        x-bodyName: body
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/events/skip/{Skip}/take/{Take}':
    get:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns a paginated list of events from the hub using the Skip and Take values specified in the path. Use this endpoint to retrieve specific result pages without relying on query string pagination parameters.
      operationId: GetEventsskipSkiptakeTake_Get
      parameters:
        - name: Comment
          in: query
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: StartOffsetSeconds
          in: query
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: EndOffsetSeconds
          in: query
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: Status
          in: query
          description: Only get events of a certain status
          schema:
            type: string
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: ReturnedEventType
          in: query
          description: ' Gets or sets the returned event type.'
          schema:
            enum:
              - None
              - DeviceEvent
              - AlertEvent
              - ErrorEvent
              - AuditEvent
              - RuleSetResultEvent
              - RuleResultEvent
              - DataResultsEvent
              - ScheduledPolicyResultEvent
              - RuleSetScoreEvent
              - CommsEvent
              - BaselineEvent
              - GroupReportResultEvent
            type: string
          x-nullable: false
        - name: EventId
          in: query
          description: Gets or sets the specific event id.
          schema:
            type: string
        - name: ExcludeTotalCount
          in: query
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeHistory
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: boolean
          x-nullable: false
        - name: RulesFromBaselinePolicyName
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: string
        - name: ReturnAllEvents
          in: query
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          schema:
            type: boolean
          x-nullable: false
        - name: CountTimeMilliseconds
          in: query
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          schema:
            type: number
            format: double
        - name: FormatDiffs
          in: query
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns a paginated list of events from the hub using the Skip and Take values specified in the path. Supply additional filter options in the request body.
      operationId: GetEventsskipSkiptakeTake_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEvents'
        x-bodyName: body
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/events/{EventId}':
    get:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns a filtered list of events from the hub service. Use the query parameters to scope results by device, event type, time range, or status. Supply a TimeZoneId to receive times converted to the caller's local time zone.
      operationId: GetEventsEventId_Get
      parameters:
        - name: Comment
          in: query
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: StartOffsetSeconds
          in: query
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: EndOffsetSeconds
          in: query
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          schema:
            type: integer
            format: int32
        - name: Status
          in: query
          description: Only get events of a certain status
          schema:
            type: string
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: ReturnedEventType
          in: query
          description: ' Gets or sets the returned event type.'
          schema:
            enum:
              - None
              - DeviceEvent
              - AlertEvent
              - ErrorEvent
              - AuditEvent
              - RuleSetResultEvent
              - RuleResultEvent
              - DataResultsEvent
              - ScheduledPolicyResultEvent
              - RuleSetScoreEvent
              - CommsEvent
              - BaselineEvent
              - GroupReportResultEvent
            type: string
          x-nullable: false
        - name: EventId
          in: query
          description: Gets or sets the specific event id.
          schema:
            type: string
        - name: ExcludeTotalCount
          in: query
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeHistory
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: boolean
          x-nullable: false
        - name: RulesFromBaselinePolicyName
          in: query
          description: Gets or sets a value indicating wether or not to return event history with the events.
          schema:
            type: string
        - name: ReturnAllEvents
          in: query
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          schema:
            type: boolean
          x-nullable: false
        - name: CountTimeMilliseconds
          in: query
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          schema:
            type: number
            format: double
        - name: FormatDiffs
          in: query
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - events
      summary: Retrieve events from hub
      description: Returns a filtered list of events from the hub service using a POST body. Use this form when the query parameters would exceed URL length limits. Supply a TimeZoneId in the body to receive times converted to the caller's local time zone.
      operationId: GetEventsEventId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEvents'
        x-bodyName: body
      responses:
        '200':
          description: The Events response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /alertEvents/add:
    get:
      tags:
        - alertEvents
      summary: Submit alert events
      description: Submits a list of alert events to the hub for processing. Use this endpoint to send alert notifications from agents or external sources. Returns 204 No Content on success.
      operationId: SubmitAlertEventsadd_Get
      parameters:
        - name: Events
          in: query
          description: Specifies the list of alert events for the hub to process.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AlertEvent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - alertEvents
      summary: Submit alert events
      description: Submits a list of alert events to the hub for processing using a POST body. Use this form to send alert event payloads that are too large for a query string. Returns 204 No Content on success.
      operationId: SubmitAlertEventsadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitAlertEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /alertEvents/limitedAdd:
    get:
      tags:
        - alertEvents
      summary: Submit alert events with rate limiting
      description: Submits a list of alert events to the hub and applies rate limiting. If the hub is processing events faster than it can handle, the response includes a back-off time that the caller should wait before sending further events.
      operationId: SubmitAlertEventsLimitedlimitedAdd_Get
      parameters:
        - name: Events
          in: query
          description: Specifies the list of alert events for the hub to process.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AlertEvent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAlertEventsLimitedResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - alertEvents
      summary: Submit alert events with rate limiting
      description: Submits a list of alert events to the hub using a POST body and applies rate limiting. The response includes a back-off interval when the hub signals that the caller should slow its submission rate.
      operationId: SubmitAlertEventsLimitedlimitedAdd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitAlertEventsLimited'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAlertEventsLimitedResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /baselineEvents/add:
    get:
      tags:
        - baselineEvents
      summary: Submit baseline events
      description: Submits a list of baseline events to the hub for processing. Use this endpoint to record baseline snapshots captured by agents. Returns 204 No Content on success.
      operationId: SubmitBaselineEventsadd_Get
      parameters:
        - name: Events
          in: query
          description: Specifies the list of baseline events for the hub to process.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/BaselineEvent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - baselineEvents
      summary: Submit baseline events
      description: Submits a list of baseline events to the hub for processing using a POST body. Use this form when the event payload is too large for a query string. Returns 204 No Content on success.
      operationId: SubmitBaselineEventsadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitBaselineEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /baselineEvents/limitedAdd:
    get:
      tags:
        - baselineEvents
      summary: Submit baseline events with rate limiting
      description: Submits a list of baseline events to the hub and applies rate limiting. If the hub signals that the submission rate is too high, the response includes a back-off interval that the caller should respect before sending more events.
      operationId: SubmitBaselineEventsLimitedlimitedAdd_Get
      parameters:
        - name: Events
          in: query
          description: Specifies the list of baseline events for the hub to process.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/BaselineEvent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitBaselineEventsLimitedResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - baselineEvents
      summary: Submit baseline events with rate limiting
      description: Submits a list of baseline events to the hub using a POST body and applies rate limiting. The response includes a back-off interval when the hub signals that the caller should reduce its submission rate.
      operationId: SubmitBaselineEventsLimitedlimitedAdd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitBaselineEventsLimited'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitBaselineEventsLimitedResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceEvents/add:
    get:
      tags:
        - deviceEvents
      summary: Submit device change events
      description: Submits a list of device change events to the hub for processing. Use this endpoint when agents report detected changes on monitored devices. Returns 204 No Content on success.
      operationId: SubmitDeviceEventsadd_Get
      parameters:
        - name: Events
          in: query
          description: Specifies the list of device events for the hub to process.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/DeviceEvent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceEvents
      summary: Submit device change events
      description: Submits a list of device change events to the hub for processing using a POST body. Use this form when the event payload is too large for a query string. Returns 204 No Content on success.
      operationId: SubmitDeviceEventsadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitDeviceEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceEvents/limitedAdd:
    get:
      tags:
        - deviceEvents
      summary: Submit device change events with rate limiting
      description: Submits a list of device change events to the hub and applies rate limiting. When the hub is under heavy load, the response includes a back-off interval that the caller should wait before submitting further events.
      operationId: SubmitDeviceEventsLimitedlimitedAdd_Get
      parameters:
        - name: Events
          in: query
          description: Specifies the list of device events for the hub to process.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/DeviceEvent'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitDeviceEventsLimitedResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceEvents
      summary: Submit device change events with rate limiting
      description: Submits a list of device change events to the hub using a POST body and applies rate limiting. The response includes a back-off interval when the hub signals that the caller should slow its event submission rate.
      operationId: SubmitDeviceEventsLimitedlimitedAdd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitDeviceEventsLimited'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitDeviceEventsLimitedResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/ready:
    get:
      tags:
        - status
      summary: Get system boot status
      description: Returns a value indicating whether the hub system has fully booted and is ready to accept login requests. Use this endpoint to poll hub availability before attempting authentication.
      operationId: SystemReadyready_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Indicates if system is booted and ready for login.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemReadyResponse'
    post:
      tags:
        - status
      summary: Get system boot status
      description: Returns a value indicating whether the hub system has fully booted and is ready to accept login requests. Use this POST form when a GET request is not appropriate for the calling environment.
      operationId: SystemReadyready_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SystemReady'
        x-bodyName: body
      responses:
        '200':
          description: Indicates if system is booted and ready for login.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemReadyResponse'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/system:
    get:
      tags:
        - status
      summary: Get system version and config
      description: Returns the hub system version and key configuration settings. Call this endpoint after authentication to verify the hub version and capabilities available to the current session.
      operationId: SystemDetailssystem_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: System version and config settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemDetailsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: Get system version and config
      description: Returns the hub system version and key configuration settings using a POST body. Use this form when a GET request is not appropriate for the calling environment.
      operationId: SystemDetailssystem_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SystemDetails'
        x-bodyName: body
      responses:
        '200':
          description: System version and config settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemDetailsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/backgroundtasks:
    get:
      tags:
        - status
      summary: 'List background task statuses'
      description: 'Returns a list of background tasks the hub has performed, along with their current status. Filter results by user, time range, task type, or specific task IDs. Admin users can retrieve tasks for other users or internal system operations.'
      operationId: GetBackgroundTaskStatusesbackgroundtasks_Get
      parameters:
        - name: UserName
          in: query
          description: 'Specifies a specific user name to retrieve tasks for (Optional, but only Admin users can retrieve tasks for other users or internal system tasks).'
          schema:
            type: string
        - name: StartDateTimeUtc
          in: query
          description: Specifies the start time (in UTC) for a task to be retrieved (Optional).
          schema:
            type: string
            format: date-time
        - name: EndDateTimeUtc
          in: query
          description: Specifies the end time (in UTC) for a task to be retrieved (Optional).
          schema:
            type: string
            format: date-time
        - name: Statuses
          in: query
          description: Specifies the status of tasks to be retrieved (Optional).
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies a list of specific task ids to retrieved (Optional).
          style: form
          schema:
            type: array
            items:
              type: string
        - name: TaskTypes
          in: query
          description: Specifies a list of specific task types to be retrieved (Optional).
          style: form
          schema:
            type: array
            items:
              type: string
        - name: IncludeDependentTasks
          in: query
          description: Specifies whether to return the tasks that each task depends on in its DependentTasks property (Optional).
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<BackgroundTaskDetails>
                type: array
                items:
                  $ref: '#/components/schemas/BackgroundTaskDetails'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: 'List background task statuses'
      description: 'Returns a list of background tasks the hub has performed, along with their current status, using a POST body. Filter results by user, time range, task type, or specific task IDs.'
      operationId: GetBackgroundTaskStatusesbackgroundtasks_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetBackgroundTaskStatuses'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<BackgroundTaskDetails>
                type: array
                items:
                  $ref: '#/components/schemas/BackgroundTaskDetails'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/eventsOnIncomingQueue:
    get:
      tags:
        - status
      summary: Events in processing queue
      description: Returns the count of events currently waiting in the hub's incoming processing queue. Use this value to monitor queue depth and assess processing backlog.
      operationId: EventsOnIncomingQueueeventsOnIncomingQueue_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: integer
                format: int32
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: Events in processing queue
      description: Returns the count of events currently waiting in the hub's incoming processing queue using a POST body. Use this value to monitor queue depth and assess processing backlog.
      operationId: EventsOnIncomingQueueeventsOnIncomingQueue_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EventsOnIncomingQueue'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: integer
                format: int32
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/messageStatus:
    get:
      tags:
        - status
      summary: 'Count internal event notifications'
      description: 'Returns a dictionary of internal event notification message counters, showing the number of messages received, successfully processed, and failed. Use this endpoint to diagnose event processing health.'
      operationId: EventMessageStatusmessageStatus_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<String,String>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,String>'
                type: object
                additionalProperties:
                  type: string
                description: 'Dictionary<String,String>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: 'Count internal event notifications'
      description: 'Returns a dictionary of internal event notification message counters, showing the number of messages received, successfully processed, and failed, using a POST body.'
      operationId: EventMessageStatusmessageStatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EventMessageStatus'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<String,String>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,String>'
                type: object
                additionalProperties:
                  type: string
                description: 'Dictionary<String,String>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/pipeline:
    get:
      tags:
        - status
      summary: 'Get pipeline component statuses'
      description: 'Returns the current operational status of each pipeline component as a key-value map. Possible component statuses include Unknown, Starting, Up, Stopping, Down, Busy, Fault, and RequiresUpgrade.'
      operationId: GetPipelineStatuspipeline_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<String,ComponentStatus>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,ComponentStatus>'
                type: object
                additionalProperties:
                  enum:
                    - Unknown
                    - Starting
                    - Up
                    - Stopping
                    - Down
                    - Busy
                    - Fault
                    - RequiresUpgrade
                  type: string
                description: 'Dictionary<String,ComponentStatus>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: 'Get pipeline component statuses'
      description: 'Returns the current operational status of each pipeline component as a key-value map using a POST body. Possible component statuses include Unknown, Starting, Up, Stopping, Down, Busy, Fault, and RequiresUpgrade.'
      operationId: GetPipelineStatuspipeline_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPipelineStatus'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<String,ComponentStatus>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,ComponentStatus>'
                type: object
                additionalProperties:
                  enum:
                    - Unknown
                    - Starting
                    - Up
                    - Stopping
                    - Down
                    - Busy
                    - Fault
                    - RequiresUpgrade
                  type: string
                description: 'Dictionary<String,ComponentStatus>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/pipelineMetrics:
    get:
      tags:
        - status
      summary: Gets system performance metrics.
      description: Returns a list of performance snapshots for the hub pipeline. Use this endpoint to monitor throughput, latency, and resource utilization over time.
      operationId: GetPipelineMetricspipelineMetrics_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<PerformanceSnapshot>
                type: array
                items:
                  $ref: '#/components/schemas/PerformanceSnapshot'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: Gets system performance metrics.
      description: Returns a list of performance snapshots for the hub pipeline using a POST body. Use this endpoint to monitor throughput, latency, and resource utilization over time.
      operationId: GetPipelineMetricspipelineMetrics_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPipelineMetrics'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<PerformanceSnapshot>
                type: array
                items:
                  $ref: '#/components/schemas/PerformanceSnapshot'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/workload:
    get:
      tags:
        - status
      summary: Returns the pipeline workload.
      description: Returns a dictionary of pipeline workload metrics, each expressed as a numeric value. Use this endpoint to assess the current processing load on individual pipeline stages.
      operationId: GetWorkloadStatsworkload_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<String,Double>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,Double>'
                type: object
                additionalProperties:
                  type: number
                  format: double
                  x-nullable: false
                description: 'Dictionary<String,Double>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: Returns the pipeline workload.
      description: Returns a dictionary of pipeline workload metrics using a POST body. Use this endpoint to assess the current processing load on individual pipeline stages.
      operationId: GetWorkloadStatsworkload_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetWorkloadStats'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<String,Double>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,Double>'
                type: object
                additionalProperties:
                  type: number
                  format: double
                  x-nullable: false
                description: 'Dictionary<String,Double>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /status/cache:
    get:
      tags:
        - status
      summary: Returns the cache statistics.
      description: Returns statistics for the hub's internal cache, including hit rates and entry counts. Use this endpoint to diagnose caching performance or confirm that cache invalidation has taken effect.
      operationId: GetCacheStatscache_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The cache statistics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCacheStatsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - status
      summary: Returns the cache statistics.
      description: Returns statistics for the hub's internal cache using a POST body, including hit rates and entry counts. Use this endpoint to diagnose caching performance or confirm that cache invalidation has taken effect.
      operationId: GetCacheStatscache_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCacheStats'
        x-bodyName: body
      responses:
        '200':
          description: The cache statistics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCacheStatsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /openapi3.yaml:
    get:
      tags:
        - openapi3.yaml
      operationId: GetOpenApi3Yaml_Get
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/availableTypes:
    get:
      tags:
        - reports
      summary: Report Service
      description: Returns the list of report types available on this hub. Use the returned type identifiers when creating new scheduled reports with the AddScheduledReport endpoint.
      operationId: GetAvailableReportTypesavailableTypes_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableReportTypesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Returns the list of report types available on this hub using a POST body. Use the returned type identifiers when creating new scheduled reports with the AddScheduledReport endpoint.
      operationId: GetAvailableReportTypesavailableTypes_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAvailableReportTypes'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableReportTypesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/template:
    get:
      tags:
        - reports
      summary: Report Service
      description: Returns the raw content of a report layout template. Use this endpoint to retrieve a template for inspection or as the basis for a customized version.
      operationId: GetReportTemplatetemplate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Returns the raw content of a report layout template using a POST body. Use this endpoint to retrieve a template for inspection or as the basis for a customized version.
      operationId: GetReportTemplatetemplate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetReportTemplate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/templates:
    get:
      tags:
        - reports
      summary: Report Service
      description: Returns a list of all available report layout templates. Use the returned template names and versions when selecting a layout for report rendering or when managing custom templates.
      operationId: GetReportTemplatestemplates_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReportTemplatesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Returns a list of all available report layout templates using a POST body. Use the returned template names and versions when selecting a layout for report rendering or when managing custom templates.
      operationId: GetReportTemplatestemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetReportTemplates'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReportTemplatesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled:
    get:
      tags:
        - reports
      summary: Report Service
      description: Returns the list of currently configured scheduled reports. The response lists each report's current state including its schedule, visibility settings, and last execution details.
      operationId: GetScheduledReportsscheduled_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledReportsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Returns the list of currently configured scheduled reports using a POST body. The response lists each report's current state including its schedule, visibility settings, and last execution details.
      operationId: GetScheduledReportsscheduled_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetScheduledReports'
        x-bodyName: body
      responses:
        '200':
          description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledReportsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/updatetemplate:
    get:
      tags:
        - reports
      summary: Report Service
      description: Updates an existing report layout template on the hub. Use this endpoint to push a revised template definition and replace the current version.
      operationId: UpdateReportTemplateupdatetemplate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateReportTemplateResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Updates an existing report layout template on the hub using a POST body. Use this endpoint to push a revised template definition and replace the current version.
      operationId: UpdateReportTemplateupdatetemplate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateReportTemplate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateReportTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/uploadreporttemplate:
    post:
      tags:
        - reports
      summary: Report Service
      description: Uploads a new custom report layout template to the hub. Returns 204 No Content on success. Use this endpoint to deploy bespoke report templates that are then available for selection when rendering reports.
      operationId: UploadReportTemplateuploadreporttemplate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UploadReportTemplate'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/deletecustomreporttemplate:
    get:
      tags:
        - reports
      summary: Delete report layout template
      description: Permanently removes a custom report layout template identified by its type, name, and version. This operation cannot be undone, so ensure the correct template is targeted before calling this endpoint.
      operationId: DeleteCustomReportTemplatedeletecustomreporttemplate_Get
      parameters:
        - name: ReportTemplateType
          in: query
          description: Gets or sets the ReportTemplateType of the report template to delete.
          required: true
          schema:
            enum:
              - None
              - ErrorReport
              - AggregateReportTemplate
              - EventsReport
              - PlannedChangeReport
              - TrackingTemplateReport
              - ExecutiveSummaryReport
              - ComplianceReport
              - DeviceReport
              - ScheduledItemsReport
              - VulnerabilitySummaryReport
            type: string
          x-nullable: false
        - name: TemplateName
          in: query
          description: Gets or sets the name of the report template to delete.
          required: true
          schema:
            type: string
        - name: TemplateVersion
          in: query
          description: Gets or sets the version of the report template to delete.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Delete report layout template
      description: Permanently removes a custom report layout template identified by its type, name, and version using a POST body. This operation cannot be undone, so ensure the correct template is targeted before calling this endpoint.
      operationId: DeleteCustomReportTemplatedeletecustomreporttemplate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteCustomReportTemplate'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/devicemonitoring:
    get:
      tags:
        - reports
      summary: Get device monitoring report data
      description: Returns the data required to populate a device monitoring report. Filter results by device group, online status, or a date range. Use the Groups parameter to limit results to specific device groups and their children.
      operationId: DataSpecDeviceMonitoringReportdevicemonitoring_Get
      parameters:
        - name: DateRange
          in: query
          description: Provides information about how to calculate the start and end dates when performing the query
          required: true
          schema:
            $ref: '#/components/schemas/ReportDateRange'
        - name: OnlineStatuses
          in: query
          description: Gets or sets the online statuses of the devices to return. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: Id
          in: query
          description: Specifies the Id of the data query specification
          schema:
            type: string
        - name: Type
          in: query
          description: The Type name of the data query specification
          schema:
            type: string
        - name: IteratorValues
          in: query
          description: 'Used to specify the list of items to report on, for data query specifications that support this. If this is not supplied, SelectionQuery can be used to specify a query to be performed to find the list of ids to report on'
          style: form
          schema:
            type: array
            items:
              type: string
        - name: SelectionQuery
          in: query
          description: 'The SelectionQuery is an alternative to supplying a list of values to report on in IteratorValues. It can be used to represent a query such as ''find Planned Change Instances where the name starts with XYZ'', returning a set of Planned Change Instance ids to report on.'
          schema:
            $ref: '#/components/schemas/SelectionQuery'
        - name: Groups
          in: query
          description: Specifies the Groups (and implicitly and child groups) to be reported on in the report.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: ItemName
          in: query
          description: 'Specifies the descriptive name of the result item, for example ''report'', ''planned change'', ''event'' etc.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The returned data for populating a device monitoring report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSpecDeviceMonitoringReportResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Get device monitoring report data
      description: Returns the data required to populate a device monitoring report using a POST body. Filter results by device group, online status, or a date range. Use the Groups parameter to limit results to specific device groups and their children.
      operationId: DataSpecDeviceMonitoringReportdevicemonitoring_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataSpecDeviceMonitoringReport'
        x-bodyName: body
      responses:
        '200':
          description: The returned data for populating a device monitoring report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSpecDeviceMonitoringReportResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/ruleresults:
    get:
      tags:
        - reports
      operationId: GetRuleResultsruleresults_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRuleResultsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      operationId: GetRuleResultsruleresults_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetRuleResults'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRuleResultsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/compliancesummarydata:
    get:
      tags:
        - stats
      operationId: GetComplianceReportSummaryDatacompliancesummarydata_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: ReportInstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceReportSummaryResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      operationId: GetComplianceReportSummaryDatacompliancesummarydata_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetComplianceReportSummaryData'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceReportSummaryResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/plannedChanges:
    get:
      tags:
        - stats
      summary: Stats Service
      description: Returns a paginated list of planned changes currently active on the hub. Use the sort and pagination parameters to control ordering and page size of the returned results.
      operationId: GetCurrentPlannedChangesplannedChanges_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentPlannedChangesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: Stats Service
      description: Returns a paginated list of currently active planned changes using a POST body. Use the sort and pagination parameters to control ordering and page size of the returned results.
      operationId: GetCurrentPlannedChangesplannedChanges_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCurrentPlannedChanges'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentPlannedChangesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/compliancedata:
    get:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Returns compliance report summary data for a scheduled report item. Results include per-device scores or group-average scores depending on the report configuration. Use the pagination parameters to page through large result sets.'
      operationId: GetComplianceDatacompliancedata_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Returns compliance report summary data for a scheduled report item using a POST body. Results include per-device scores or group-average scores depending on the report configuration.'
      operationId: GetComplianceDatacompliancedata_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetComplianceData'
        x-bodyName: body
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/getavailablecompliancedata:
    get:
      tags:
        - stats
      summary: List groups with available report data
      description: Returns a list of groups and devices for which compliance report data is currently available. Use this endpoint to determine which entities can be queried before requesting compliance summary data.
      operationId: GetAvailableComplianceDatagetavailablecompliancedata_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableComplianceDataResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: List groups with available report data
      description: Returns a list of groups and devices for which compliance report data is currently available using a POST body. Use this endpoint to determine which entities can be queried before requesting compliance summary data.
      operationId: GetAvailableComplianceDatagetavailablecompliancedata_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAvailableComplianceData'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableComplianceDataResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/deviceActivity:
    get:
      tags:
        - stats
      summary: List inactive devices by filter
      description: Returns a list of devices that have been inactive within the specified time period. The response identifies devices that have not reported activity and includes criteria matched by the filter provided in the request.
      operationId: GetDeviceActivitydeviceActivity_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Represents the list of devices matching the request criteria that have been inactive in the specified period.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceActivityResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: List inactive devices by filter
      description: Returns a list of devices that have been inactive within the specified time period using a POST body. The response identifies devices that have not reported activity and includes criteria matched by the filter.
      operationId: GetDeviceActivitydeviceActivity_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceActivity'
        x-bodyName: body
      responses:
        '200':
          description: Represents the list of devices matching the request criteria that have been inactive in the specified period.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceActivityResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/events:
    get:
      tags:
        - stats
      summary: 'Get event counts by device filter'
      description: 'Returns a summary of event counts for the devices or groups identified by the DeviceFilter over the specified time period. Use the pagination and sort parameters to page through results or order them by a specific field.'
      operationId: GetEventCountsevents_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents a summary of event counts for the devices or groups specified by the DeviceFilter, for the specified time period.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventCountsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: 'Get event counts by device filter'
      description: 'Returns a summary of event counts for the devices or groups identified by the DeviceFilter over the specified time period, using a POST body. Use the pagination and sort parameters to page through results or order them by a specific field.'
      operationId: GetEventCountsevents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEventCounts'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents a summary of event counts for the devices or groups specified by the DeviceFilter, for the specified time period.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventCountsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/noisydevices:
    get:
      tags:
        - stats
      summary: 'Get noisy device event counts'
      description: 'Returns event count summaries for the top N devices generating the most events in the specified group over the given time period. Use this endpoint to identify high-activity or problematic devices that may warrant investigation.'
      operationId: GetNoisyDevicesnoisydevices_Get
      parameters:
        - name: TopN
          in: query
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GetEventCountsResponse>
                type: array
                items:
                  $ref: '#/components/schemas/GetEventCountsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: 'Get noisy device event counts'
      description: 'Returns event count summaries for the top N devices generating the most events in the specified group over the given time period, using a POST body. Use this endpoint to identify high-activity or problematic devices that may warrant investigation.'
      operationId: GetNoisyDevicesnoisydevices_Post
      parameters:
        - name: TopN
          in: query
          schema:
            type: integer
            format: int32
          x-nullable: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetNoisyDevices'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GetEventCountsResponse>
                type: array
                items:
                  $ref: '#/components/schemas/GetEventCountsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reportExecute:
    get:
      tags:
        - reportExecute
      summary: Report Service
      description: Triggers execution of the specified scheduled report and returns the result. Provide the ReportItemId to identify which report to run. The response includes the rendered output or a reference to the result depending on the report type.
      operationId: ExecuteReport_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteReportResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportExecute
      summary: Report Service
      description: Triggers execution of the specified scheduled report using a POST body and returns the result. Provide the ReportItemId to identify which report to run.
      operationId: ExecuteReport_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExecuteReport'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteReportResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reportRenderIsCached:
    get:
      tags:
        - reportRenderIsCached
      summary: Report Service
      description: Returns a boolean indicating whether the rendered output for the specified report instance is already available in the cache. Use this check before calling the render endpoint to avoid unnecessary rendering when a cached result exists.
      operationId: RenderReportIsCached_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          schema:
            type: string
        - name: RuleSetResultEventId
          in: query
          description: 'For compliance reports only, if the InstanceId and ReportItemId are not available, the id of a previously stored RuleSetResultEvent can be supplied in this parameter.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportRenderIsCached
      summary: Report Service
      description: Returns a boolean indicating whether the rendered output for the specified report instance is already available in the cache, using a POST body. Use this check before calling the render endpoint to avoid unnecessary processing.
      operationId: RenderReportIsCached_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RenderReportIsCached'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reportRender:
    get:
      tags:
        - reportRender
      summary: Report Service
      description: Renders the specified report instance and returns the rendered output. Provide the ReportItemId and InstanceId to identify the exact instance to render. For compliance reports, you may supply a RuleSetResultEventId instead.
      operationId: RenderReport_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: RuleSetResultEventId
          in: query
          description: 'For compliance reports only, if the InstanceId and ReportItemId are not available, the id of a previously stored RuleSetResultEvent can be supplied in this parameter.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportRender
      summary: Report Service
      description: Renders the specified report instance and returns the rendered output using a POST body. Provide the ReportItemId and InstanceId to identify the exact instance to render.
      operationId: RenderReport_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RenderReport'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reportRenderStart:
    get:
      tags:
        - reportRenderStart
      summary: Report Service
      description: Initiates an asynchronous render of the specified report instance and returns a task reference. Use this endpoint when rendering may take a significant amount of time; poll the background task status endpoint to check for completion.
      operationId: RenderReportStart_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: RuleSetResultEventId
          in: query
          description: 'For compliance reports only, if the InstanceId and ReportItemId are not available, the id of a previously stored RuleSetResultEvent can be supplied in this parameter.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportRenderStart
      summary: Report Service
      description: Initiates an asynchronous render of the specified report instance using a POST body and returns a task reference. Poll the background task status endpoint to check for completion.
      operationId: RenderReportStart_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RenderReportStart'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/instances/rendered/download:
    get:
      tags:
        - reports
      summary: Get generated report output file
      description: Downloads a previously generated report output file. Use this endpoint after a report has been rendered and the output saved to retrieve the file content for display or export.
      operationId: GetScheduledInstanceOutputscheduledinstancesrendereddownload_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Get generated report output file
      description: Downloads a previously generated report output file using a POST body. Use this endpoint after a report has been rendered and saved to retrieve the file content for display or export.
      operationId: GetScheduledInstanceOutputscheduledinstancesrendereddownload_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetScheduledInstanceOutput'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: String
                type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/instances/rendered/delete:
    get:
      tags:
        - reports
      summary: Deletes previously generated report output files
      description: Permanently removes previously generated report output files from the hub. Use this endpoint to free storage space or to clear stale rendered outputs before regenerating a report.
      operationId: DeleteScheduledInstanceOutputsscheduledinstancesrendereddelete_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Deletes previously generated report output files
      description: Permanently removes previously generated report output files from the hub using a POST body. Use this endpoint to free storage space or to clear stale rendered outputs before regenerating a report.
      operationId: DeleteScheduledInstanceOutputsscheduledinstancesrendereddelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteScheduledInstanceOutputs'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/instances/delete:
    get:
      tags:
        - reports
      summary: Report Service
      description: Permanently deletes a specific scheduled report instance identified by its ReportItemId and InstanceId. This removes the instance record and any associated output from the hub.
      operationId: DeleteScheduledInstancescheduledinstancesdelete_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Permanently deletes a specific scheduled report instance identified by its ReportItemId and InstanceId using a POST body. This removes the instance record and any associated output from the hub.
      operationId: DeleteScheduledInstancescheduledinstancesdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteScheduledInstance'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/instance/updateLifetime:
    get:
      tags:
        - reports
      summary: Report Service
      description: Updates the retention lifetime of a specific scheduled report instance. Use this endpoint to extend or shorten how long a generated instance is kept before the hub automatically removes it.
      operationId: UpdateScheduledInstanceLifetimescheduledinstanceupdateLifetime_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledInstancesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Updates the retention lifetime of a specific scheduled report instance using a POST body. Use this endpoint to extend or shorten how long a generated instance is kept before the hub automatically removes it.
      operationId: UpdateScheduledInstanceLifetimescheduledinstanceupdateLifetime_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateScheduledInstanceLifetime'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledInstancesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/instances/rendered:
    get:
      tags:
        - reports
      summary: Report Service
      description: Returns information about rendered instances of scheduled reports, including their availability and output locations. Optionally filter by ReportItemId to limit results to a specific report.
      operationId: GetScheduledInstanceRenderedscheduledinstancesrendered_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledInstanceRenderedResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Returns information about rendered instances of scheduled reports using a POST body, including their availability and output locations. Optionally filter by ReportItemId to limit results to a specific report.
      operationId: GetScheduledInstanceRenderedscheduledinstancesrendered_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetScheduledInstanceRendered'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledInstanceRenderedResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/add:
    get:
      tags:
        - reports
      summary: Add scheduled report
      description: Creates a new scheduled report of the type identified by the Id parameter. You can optionally create the report as a copy of an existing one using the AsCopyOf parameter. The response lists the updated state of all affected reports.
      operationId: AddScheduledReportscheduledadd_Get
      parameters:
        - name: Id
          in: query
          description: 'The id of the type of report to add, from the list supplied by GetAvailableReportTypes'
          required: true
          schema:
            type: string
        - name: IsPublic
          in: query
          description: Indicates whether the report/query can be seen by everyone
          schema:
            type: boolean
          x-nullable: false
        - name: IsEditable
          in: query
          description: 'Indicates whether the report/query can be edited/deleted by everyone. Note, if this is true, IsPublic must also be true'
          schema:
            type: boolean
          x-nullable: false
        - name: IsHidden
          in: query
          description: Indicates whether the report/query is visible in the reports list. Used to create temporary items for interactive 'export to csv' functions.
          schema:
            type: boolean
          x-nullable: false
        - name: AsCopyOf
          in: query
          description: Specifies as a copy of an existing the report/query with this Id
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledReportsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Add scheduled report
      description: Creates a new scheduled report of the type identified by the Id parameter using a POST body. You can optionally create the report as a copy of an existing one using the AsCopyOf parameter. The response lists the updated state of all affected reports.
      operationId: AddScheduledReportscheduledadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddScheduledReport'
        x-bodyName: body
      responses:
        '200':
          description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledReportsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/update:
    get:
      tags:
        - reports
      summary: Report Service
      description: Updates the settings of an existing scheduled report, including its schedule, sub-reports, email delivery options, and visibility flags. The response lists the updated state of all affected reports.
      operationId: UpdateScheduledReportscheduledupdate_Get
      parameters:
        - name: ShowTableOfContents
          in: query
          description: Specifies the updated setting for when a table of content page is shown.
          schema:
            enum:
              - None
              - Always
              - Auto
            type: string
          x-nullable: false
        - name: ContainerReport
          in: query
          description: Specifies the updated definition of the container report.
          schema:
            $ref: '#/components/schemas/ReportSpecification'
        - name: Reports
          in: query
          description: Specifies the updated definition of the sub reports.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ReportSpecification'
        - name: KeepUnscheduledResultsForMinutes
          in: query
          description: 'Specifies how long to keep ''adhoc'' (ie non-scheduled) report results for, in minutes.'
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: KeepScheduledResultsForMinutes
          in: query
          description: 'Specifies how long to keep scheduled report results for, in minutes.'
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: WaitForAdhocResultsMinutes
          in: query
          description: 'Specifies long to wait for a run''s queries to complete, in minutes.'
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: OverrideWaitForResults
          in: query
          description: Specifies whether to override the default behaviour for scheduled queries of waiting until the next scheduled run and use the value specified by WaitForAdhocResultsMinutes instead.
          schema:
            type: boolean
          x-nullable: false
        - name: Schedule
          in: query
          description: Specifies the updated schedule on which the report is run.
          schema:
            $ref: '#/components/schemas/ReportSchedule'
        - name: EmailDelivery
          in: query
          description: Specifies the updated email delivery settings.
          schema:
            $ref: '#/components/schemas/ReportEmailDelivery'
        - name: IsPublic
          in: query
          description: Specifies whether the report/query can be seen by everyone.
          schema:
            type: boolean
          x-nullable: false
        - name: IsEditable
          in: query
          description: Specifies whether the report/query can be edited by everyone.
          schema:
            type: boolean
          x-nullable: false
        - name: IsHidden
          in: query
          description: Specifies whether the report/query can be seen in the UI.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledReportsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Updates the settings of an existing scheduled report using a POST body, including its schedule, sub-reports, email delivery options, and visibility flags. The response lists the updated state of all affected reports.
      operationId: UpdateScheduledReportscheduledupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateScheduledReport'
        x-bodyName: body
      responses:
        '200':
          description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledReportsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/delete:
    get:
      tags:
        - reports
      summary: Report Service
      description: Permanently removes one or more scheduled reports from the hub. Returns a boolean indicating whether the deletion was successful.
      operationId: DeleteScheduledReportsscheduleddelete_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Permanently removes one or more scheduled reports from the hub using a POST body. Returns a boolean indicating whether the deletion was successful.
      operationId: DeleteScheduledReportsscheduleddelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteScheduledReports'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reports/scheduled/instances:
    get:
      tags:
        - reports
      summary: Report Service
      description: Returns information about one or more scheduled report instances. Provide both a ReportItemId and an InstanceId to retrieve a specific instance. Use SummaryOnly to limit the response to summary fields for display in a reporting UI.
      operationId: GetScheduledInstancesscheduledinstances_Get
      parameters:
        - name: SummaryOnly
          in: query
          description: Returns only summary information for use in reporting UI page
          schema:
            type: boolean
          x-nullable: false
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledInstancesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reports
      summary: Report Service
      description: Returns information about one or more scheduled report instances using a POST body. Provide both a ReportItemId and an InstanceId to retrieve a specific instance. Use SummaryOnly to limit the response to summary fields.
      operationId: GetScheduledInstancesscheduledinstances_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetScheduledInstances'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScheduledInstancesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /uploadAgentUpdate:
    get:
      tags:
        - uploadAgentUpdate
      summary: Upload an Agent Update
      description: Uploads an agent software update package to the hub, making it available for distribution to agents. Returns 204 No Content on success.
      operationId: UploadAgentUpdate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - uploadAgentUpdate
      summary: Upload an Agent Update
      description: Uploads an agent software update package to the hub using a POST body, making it available for distribution to agents. Returns 204 No Content on success.
      operationId: UploadAgentUpdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UploadAgentUpdate'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /updatehubdetails:
    get:
      tags:
        - updatehubdetails
      summary: Update HubDetails.xml for agents/groups
      description: Updates the HubDetails.xml configuration file for the specified agents or groups. This file contains hub connection information that agents use to communicate with the hub.
      operationId: UpdateHubDetails_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - updatehubdetails
      summary: Update HubDetails.xml for agents/groups
      description: Updates the HubDetails.xml configuration file for the specified agents or groups using a POST body. This file contains hub connection information that agents use to communicate with the hub.
      operationId: UpdateHubDetails_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateHubDetails'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/downloadAgentUpdate/{VersionRequested}':
    get:
      tags:
        - downloadAgentUpdate
      summary: Download agent update package
      description: Downloads an agent software update package for the requested version. Specify the VersionRequested path parameter and the UpdateType (for example, Windows, LinuxRPM, or UbuntuDEB) to receive the appropriate platform package.
      operationId: DownloadUpdateVersionRequested_Get
      parameters:
        - name: VersionRequested
          in: query
          description: 'Used when requesting an update file from the hub, specifies the specific version required.'
          schema:
            type: string
        - name: UpdateType
          in: query
          description: 'Specifies the update type to download (e,g RPM, DEB etc).'
          schema:
            enum:
              - Unknown
              - MultiPlatform
              - Windows
              - WindowsNetCore
              - LinuxRPM
              - LinuxRPMNetCore
              - UbuntuDEB
              - UbuntuDEBNetCore
              - MacOSXPKG
              - MacOSXPKGNetCore
              - AIXRPM
              - SolarisPKG
              - WindowsNetCoreArm
              - LinuxRPMNetCoreArm
              - UbuntuDEBNetCoreArm
              - MacOSXPKGNetCoreArm
            type: string
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - downloadAgentUpdate
      summary: Download agent update package
      description: Downloads an agent software update package for the requested version using a POST body. Specify the version and UpdateType to receive the appropriate platform package.
      operationId: DownloadUpdateVersionRequested_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownloadUpdate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/downloadAgentUpdate/{VersionRequested}/{UpdateType}':
    get:
      tags:
        - downloadAgentUpdate
      summary: Download agent update package
      description: Downloads an agent software update package for the requested version and update type supplied as path parameters. The UpdateType value selects the platform-specific package, such as Windows, LinuxRPM, or UbuntuDEB.
      operationId: DownloadUpdateVersionRequestedUpdateType_Get
      parameters:
        - name: VersionRequested
          in: query
          description: 'Used when requesting an update file from the hub, specifies the specific version required.'
          schema:
            type: string
        - name: UpdateType
          in: query
          description: 'Specifies the update type to download (e,g RPM, DEB etc).'
          schema:
            enum:
              - Unknown
              - MultiPlatform
              - Windows
              - WindowsNetCore
              - LinuxRPM
              - LinuxRPMNetCore
              - UbuntuDEB
              - UbuntuDEBNetCore
              - MacOSXPKG
              - MacOSXPKGNetCore
              - AIXRPM
              - SolarisPKG
              - WindowsNetCoreArm
              - LinuxRPMNetCoreArm
              - UbuntuDEBNetCoreArm
              - MacOSXPKGNetCoreArm
            type: string
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - downloadAgentUpdate
      summary: Download agent update package
      description: Downloads an agent software update package for the requested version and update type supplied as path parameters, using a POST body. The UpdateType value selects the platform-specific package.
      operationId: DownloadUpdateVersionRequestedUpdateType_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownloadUpdate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentUpdates/delete:
    get:
      tags:
        - agentUpdates
      summary: Deletes the specified Agent update.
      description: Permanently removes the specified agent update package from the hub. Provide the Id of the agent update to delete. Returns 204 No Content on success.
      operationId: DeleteAgentUpdatedelete_Get
      parameters:
        - name: Id
          in: query
          description: Specifies the agent update ID to delete.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentUpdates
      summary: Deletes the specified Agent update.
      description: Permanently removes the specified agent update package from the hub using a POST body. Provide the Id of the agent update to delete. Returns 204 No Content on success.
      operationId: DeleteAgentUpdatedelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteAgentUpdate'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentUpdates:
    get:
      tags:
        - agentUpdates
      summary: 'List agent updates'
      description: 'Returns a list of agent software updates available on the hub, optionally filtered by version, specific ID, or update type (for example, deb, rpm, or Windows). Use this endpoint to discover which update packages are available before triggering a deployment.'
      operationId: GetAgentUpdates_Get
      parameters:
        - name: VersionRequested
          in: query
          description: Specifies the (optional) version to get details for.
          schema:
            type: string
        - name: Id
          in: query
          description: Specifies the specific agent update ID to get.
          schema:
            type: string
        - name: UpdateType
          in: query
          description: 'Gets or sets the update type (deb, rpm etc)'
          schema:
            enum:
              - Unknown
              - MultiPlatform
              - Windows
              - WindowsNetCore
              - LinuxRPM
              - LinuxRPMNetCore
              - UbuntuDEB
              - UbuntuDEBNetCore
              - MacOSXPKG
              - MacOSXPKGNetCore
              - AIXRPM
              - SolarisPKG
              - WindowsNetCoreArm
              - LinuxRPMNetCoreArm
              - UbuntuDEBNetCoreArm
              - MacOSXPKGNetCoreArm
            type: string
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<AgentSoftwareUpdate>
                type: array
                items:
                  $ref: '#/components/schemas/AgentSoftwareUpdate'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentUpdates
      summary: 'List agent updates'
      description: 'Returns a list of agent software updates available on the hub using a POST body, optionally filtered by version, specific ID, or update type. Use this endpoint to discover which update packages are available before triggering a deployment.'
      operationId: GetAgentUpdates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentUpdates'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<AgentSoftwareUpdate>
                type: array
                items:
                  $ref: '#/components/schemas/AgentSoftwareUpdate'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentSoftwareUpdateSchedules:
    get:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Get group agent update schedule
      description: Returns the agent software update schedule configured for the specified group. Use the GroupName parameter to identify the group whose schedule you want to retrieve.
      operationId: GetAgentSoftwareUpdateScheduleForGroup_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group name to remove the schedule for.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GroupAgentUpdateSchedule>
                type: array
                items:
                  $ref: '#/components/schemas/GroupAgentUpdateSchedule'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Get group agent update schedule
      description: Returns the agent software update schedule configured for the specified group using a POST body. Use the GroupName parameter to identify the group whose schedule you want to retrieve.
      operationId: GetAgentSoftwareUpdateScheduleForGroup_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentSoftwareUpdateScheduleForGroup'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GroupAgentUpdateSchedule>
                type: array
                items:
                  $ref: '#/components/schemas/GroupAgentUpdateSchedule'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentSoftwareUpdateSchedules/delete:
    get:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Remove group agent update schedule
      description: Removes the agent software update schedule for the specified group. Use the GroupName parameter to identify the group whose schedule you want to delete. Returns 204 No Content on success.
      operationId: DeleteAgentSoftwareUpdateScheduleFromGroupdelete_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group name to remove the schedule for.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Remove group agent update schedule
      description: Removes the agent software update schedule for the specified group using a POST body. Use the GroupName parameter to identify the group whose schedule you want to delete. Returns 204 No Content on success.
      operationId: DeleteAgentSoftwareUpdateScheduleFromGroupdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteAgentSoftwareUpdateScheduleFromGroup'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentSoftwareUpdateSchedules/update:
    get:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Update group agent update schedule
      description: Updates the agent software update schedule for the specified group. Provide both the GroupName and a new AgentUpdateSchedule definition to replace the existing schedule. Returns 204 No Content on success.
      operationId: UpdateAgentSoftwareUpdateScheduleForGroupupdate_Get
      parameters:
        - name: GroupName
          in: query
          description: Gets or sets the group name that the update scheduled applies to.
          schema:
            type: string
        - name: AgentUpdateSchedule
          in: query
          description: Specifies the update schedule that is being requested for the group.
          schema:
            $ref: '#/components/schemas/GroupAgentUpdateSchedule'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Update group agent update schedule
      description: Updates the agent software update schedule for the specified group using a POST body. Provide both the GroupName and a new AgentUpdateSchedule definition to replace the existing schedule. Returns 204 No Content on success.
      operationId: UpdateAgentSoftwareUpdateScheduleForGroupupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateAgentSoftwareUpdateScheduleForGroup'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentSoftwareUpdateSchedules/add:
    get:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Set agent update schedule for group
      description: Adds an agent software update schedule for the specified group. Only one schedule is permitted per group at a time, so use the update endpoint if a schedule already exists. Returns the full list of schedules for the group on success.
      operationId: SetAgentSoftwareUpdateScheduleForGroupadd_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group name to associate this schedule with.
          schema:
            type: string
        - name: AgentUpdateSchedule
          in: query
          description: Defines the schedule
          schema:
            $ref: '#/components/schemas/GroupAgentUpdateSchedule'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GroupAgentUpdateSchedule>
                type: array
                items:
                  $ref: '#/components/schemas/GroupAgentUpdateSchedule'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentSoftwareUpdateSchedules
      summary: Set agent update schedule for group
      description: Adds an agent software update schedule for the specified group using a POST body. Only one schedule is permitted per group at a time. Returns the full list of schedules for the group on success.
      operationId: SetAgentSoftwareUpdateScheduleForGroupadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetAgentSoftwareUpdateScheduleForGroup'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GroupAgentUpdateSchedule>
                type: array
                items:
                  $ref: '#/components/schemas/GroupAgentUpdateSchedule'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /syncServiceConfigItems:
    get:
      tags:
        - syncServiceConfigItems
      summary: List SyncService configuration items
      description: Returns a paginated list of SyncService configuration items stored on the hub. Use the sort and pagination parameters to control ordering and page size, and GenericFilters to apply additional filtering criteria.
      operationId: GetSyncServiceConfigItems_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response for retrieving SyncService configuration items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSyncServiceConfigItemsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - syncServiceConfigItems
      summary: List SyncService configuration items
      description: Returns a paginated list of SyncService configuration items stored on the hub using a POST body. Use the sort and pagination parameters to control ordering and page size.
      operationId: GetSyncServiceConfigItems_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetSyncServiceConfigItems'
        x-bodyName: body
      responses:
        '200':
          description: Response for retrieving SyncService configuration items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSyncServiceConfigItemsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /syncServiceConfigItems/add:
    post:
      tags:
        - syncServiceConfigItems
      summary: Adds a new SyncService configuration item.
      description: Creates a new SyncService configuration item on the hub. Returns the newly created item, including its assigned ID, in the response.
      operationId: AddSyncServiceConfigItemadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddSyncServiceConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: Response for adding a SyncService configuration item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddSyncServiceConfigItemResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /syncServiceConfigItems/update:
    post:
      tags:
        - syncServiceConfigItems
      summary: Updates an existing SyncService configuration item.
      description: Updates an existing SyncService configuration item identified by its ID. Provide the updated field values in the request body. Returns the updated item on success.
      operationId: UpdateSyncServiceConfigItemupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateSyncServiceConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /syncServiceConfigItems/delete:
    post:
      tags:
        - syncServiceConfigItems
      summary: Deletes a SyncService configuration item.
      description: Permanently removes a SyncService configuration item from the hub. Provide the item ID in the request body to identify which item to delete.
      operationId: DeleteSyncServiceConfigItemdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteSyncServiceConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /configItems:
    get:
      tags:
        - configItems
      summary: List hub configuration parameters
      description: Returns a list of hub configuration parameters, optionally filtered by ID, Key, or a list of Keys. Include hidden system parameters by setting IncludeHidden to true. Use the pagination and sort parameters to page through large result sets.
      operationId: GetConfigItems_Get
      parameters:
        - name: Id
          in: query
          description: Specifies a specific configuration item to retrieve (Optional).
          schema:
            type: string
        - name: Key
          in: query
          description: Specifies a specific configuration parameter 'Key' to retrieved (Optional).
          schema:
            type: string
        - name: KeyList
          in: query
          description: Specifies a list of specific configuration parameter 'Keys' to retrieved (Optional).
          style: form
          schema:
            type: array
            items:
              type: string
        - name: IncludeHidden
          in: query
          description: 'Include hidden, ''system'', parameters.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Describes the hub configuration parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetConfigItemsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - configItems
      summary: List hub configuration parameters
      description: Returns a list of hub configuration parameters using a POST body, optionally filtered by ID or Key. Use the pagination and sort parameters to page through large result sets.
      operationId: GetConfigItems_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetConfigItems'
        x-bodyName: body
      responses:
        '200':
          description: Describes the hub configuration parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetConfigItemsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /configItems/add:
    get:
      tags:
        - configItems
      summary: Add hub config parameters
      description: Adds multiple hub configuration parameters in a single bulk operation. Supply the key-value pairs as a dictionary. Returns a map of keys to the assigned IDs for each newly created configuration item.
      operationId: AddConfigItemsadd_Get
      parameters:
        - name: ConfigItems
          in: query
          description: A list of config items to add in bulk
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<String,NewId>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,NewId>'
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/NewId'
                description: 'Dictionary<String,NewId>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - configItems
      summary: Add hub config parameters
      description: Adds multiple hub configuration parameters in a single bulk operation using a POST body. Returns a map of keys to the assigned IDs for each newly created configuration item.
      operationId: AddConfigItemsadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddConfigItems'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<String,NewId>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,NewId>'
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/NewId'
                description: 'Dictionary<String,NewId>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /configItems/update:
    get:
      tags:
        - configItems
      summary: Update hub config parameters
      description: Updates one or more hub configuration parameters in a single bulk operation. Provide a list of ConfigItem objects with the ID and new value for each parameter to update. Returns 204 No Content on success.
      operationId: UpdateConfigItemsupdate_Get
      parameters:
        - name: ConfigItems
          in: query
          description: A list of config items to update.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/UpdateConfigItem'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - configItems
      summary: Update hub config parameters
      description: Updates one or more hub configuration parameters in a single bulk operation using a POST body. Provide a list of ConfigItem objects with the ID and new value for each parameter. Returns 204 No Content on success.
      operationId: UpdateConfigItemsupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateConfigItems'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /configItems/delete:
    get:
      tags:
        - configItems
      summary: Remove hub config by ID
      description: Permanently removes a hub configuration parameter identified by its ID or Key. When removing by Key, all configuration items sharing that key are deleted. Returns 204 No Content on success.
      operationId: DeleteConfigItemdelete_Get
      parameters:
        - name: Id
          in: query
          description: Specifies the specific config item to remove.
          schema:
            type: string
        - name: Key
          in: query
          description: 'Specifies the config item key to remove. Note : will remove all instances of config items with the same key.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - configItems
      summary: Remove hub config by ID
      description: Permanently removes a hub configuration parameter identified by its ID or Key using a POST body. When removing by Key, all configuration items sharing that key are deleted. Returns 204 No Content on success.
      operationId: DeleteConfigItemdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteConfigItem'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /configItem/update:
    get:
      tags:
        - configItem
      summary: Update config by ID or key
      description: Updates a single hub configuration parameter identified by either its ID or Key. You can change the Key name, the Value, or the hidden status in a single call. Returns 204 No Content on success.
      operationId: UpdateConfigItemupdate_Get
      parameters:
        - name: Id
          in: query
          description: The specific config value to update (can be used if a multi-value key is being updated or if a key is to be changed).
          schema:
            type: string
        - name: Key
          in: query
          description: The new key value in the case of updating by Id or a the key to search for if updating by key.
          schema:
            type: string
        - name: Value
          in: query
          description: The new value for this config key / id.
          schema:
            type: string
        - name: Hidden
          in: query
          description: A boolean indicating whether or not to hide this config item from the UI.
          schema:
            type: boolean
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - configItem
      summary: Update config by ID or key
      description: Updates a single hub configuration parameter identified by either its ID or Key using a POST body. You can change the Key name, the Value, or the hidden status in a single call. Returns 204 No Content on success.
      operationId: UpdateConfigItemupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateConfigItem'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /configItem/add:
    get:
      tags:
        - configItem
      summary: Add hub config by Key
      description: Adds a single hub configuration parameter with the specified Key and Value. Set Hidden to true to mark the parameter as an internal system setting not intended for end-user modification. Returns the newly assigned ID on success.
      operationId: AddConfigItemadd_Get
      parameters:
        - name: Key
          in: query
          description: The configuration key you wish to add
          schema:
            type: string
        - name: Value
          in: query
          description: The value of the key
          schema:
            type: string
        - name: Hidden
          in: query
          description: A boolean indicating whether or not this is a 'hidden' key (i.e internal not intended for users to change)
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response delivered after adding a new config key / value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddConfigItemResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - configItem
      summary: Add hub config by Key
      description: Adds a single hub configuration parameter with the specified Key and Value using a POST body. Set Hidden to true to mark the parameter as an internal system setting. Returns the newly assigned ID on success.
      operationId: AddConfigItemadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: The response delivered after adding a new config key / value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddConfigItemResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /misc/dateTransmissionTest:
    get:
      tags:
        - misc
      summary: Echo date/time serialization test
      description: Echoes the specified date/time value back to the caller without modification. Use this endpoint to verify that date and time values are serialized and deserialized correctly between the hub and your client, with no loss of precision.
      operationId: DateTransmissionTestdateTransmissionTest_Get
      parameters:
        - name: DateTime
          in: query
          description: The date to send to the hub that will be then sent back as the response to ensure no loss of accuracy occurs
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: string
                format: date-time
      security:
        - Bearer: [ ]
    post:
      tags:
        - misc
      summary: Echo date/time serialization test
      description: Echoes the specified date/time value back to the caller using a POST body. Use this endpoint to verify that date and time values are serialized and deserialized correctly between the hub and your client, with no loss of precision.
      operationId: DateTransmissionTestdateTransmissionTest_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DateTransmissionTest'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: string
                format: date-time
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /credentials/add:
    get:
      tags:
        - credentials
      summary: Add credentials for type and key.
      description: Adds a set of credentials for the specified type and key to the hub. Supported credential types include Shell, Database, FTP, Cloud, ESX, ITSM, and Splunk. Returns the created credentials object on success.
      operationId: AddCredentialsadd_Get
      parameters:
        - name: Credentials
          in: query
          description: Specifies the credentials.
          schema:
            $ref: '#/components/schemas/Credentials'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    post:
      tags:
        - credentials
      summary: Add credentials for type and key.
      description: Adds a set of credentials for the specified type and key to the hub using a POST body. Returns the created credentials object on success.
      operationId: AddCredentialsadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddCredentials'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /credentials/update:
    get:
      tags:
        - credentials
      summary: Update credentials by type and key.
      description: Updates an existing set of credentials on the hub, identified by the original CredentialsType and Key. Supply the updated Credentials object to replace the stored values. Returns the updated credentials on success.
      operationId: UpdateCredentialsupdate_Get
      parameters:
        - name: CredentialsType
          in: query
          description: Specifies the original credential type.
          schema:
            enum:
              - Unknown
              - Shell
              - Database
              - FTP
              - Cloud
              - ESX
              - ITSM
              - Splunk
            type: string
          x-nullable: false
        - name: Key
          in: query
          description: Specifies the original key
          schema:
            type: string
        - name: Credentials
          in: query
          description: Specifies the credentials.
          schema:
            $ref: '#/components/schemas/Credentials'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    post:
      tags:
        - credentials
      summary: Update credentials by type and key.
      description: Updates an existing set of credentials on the hub using a POST body, identified by the original CredentialsType and Key. Returns the updated credentials on success.
      operationId: UpdateCredentialsupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCredentials'
        x-bodyName: body
      responses:
        '200':
          description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /credentials/delete:
    get:
      tags:
        - credentials
      summary: Remove credentials by type and key
      description: Permanently removes the credentials for the specified CredentialsType and Key from the hub. Returns 204 No Content on success. This action cannot be undone.
      operationId: RemoveCredentialsdelete_Get
      parameters:
        - name: CredentialsType
          in: query
          description: Specifies the credentials type.
          schema:
            enum:
              - Unknown
              - Shell
              - Database
              - FTP
              - Cloud
              - ESX
              - ITSM
              - Splunk
            type: string
          x-nullable: false
        - name: Key
          in: query
          description: Specifies the key.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - credentials
      summary: Remove credentials by type and key
      description: Permanently removes the credentials for the specified CredentialsType and Key from the hub using a POST body. Returns 204 No Content on success. This action cannot be undone.
      operationId: RemoveCredentialsdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RemoveCredentials'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /credentialsKeyedByType:
    get:
      tags:
        - credentialsKeyedByType
      summary: 'List credentials by type'
      description: 'Returns a dictionary of all credentials stored on the hub, organized by credential type. Each key in the response is a credential type (such as Shell or Database), and the value is the list of credential keys of that type.'
      operationId: GetCredentialsKeyedByType_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<CredentialType,List<String>>'
          content:
            application/json:
              schema:
                title: 'Dictionary<CredentialType,List<String>>'
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                description: 'Dictionary<CredentialType,List<String>>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - credentialsKeyedByType
      summary: 'List credentials by type'
      description: 'Returns a dictionary of all credentials stored on the hub, organized by credential type, using a POST body. Each key in the response is a credential type, and the value is the list of credential keys of that type.'
      operationId: GetCredentialsKeyedByType_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCredentialsKeyedByType'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<CredentialType,List<String>>'
          content:
            application/json:
              schema:
                title: 'Dictionary<CredentialType,List<String>>'
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                description: 'Dictionary<CredentialType,List<String>>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /credentials:
    get:
      tags:
        - credentials
      summary: List credentials of specified type
      description: Returns a list of all credentials of the specified CredentialType stored on the hub. Optionally filter by associated agent or group using the DeviceFilter parameter.
      operationId: GetCredentialsList_Get
      parameters:
        - name: CredentialType
          in: query
          description: Specifies the type of credentials to return
          schema:
            enum:
              - Unknown
              - Shell
              - Database
              - FTP
              - Cloud
              - ESX
              - ITSM
              - Splunk
            type: string
          x-nullable: false
        - name: DeviceFilter
          in: query
          description: Specifies the credentials to search for by associated agent id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<Credentials>
                type: array
                items:
                  $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    post:
      tags:
        - credentials
      summary: List credentials of specified type
      description: Returns a list of all credentials of the specified CredentialType stored on the hub, using a POST body. Optionally filter by associated agent or group using the DeviceFilter parameter.
      operationId: GetCredentialsList_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCredentialsList'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<Credentials>
                type: array
                items:
                  $ref: '#/components/schemas/Credentials'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /command/tasks/status:
    get:
      tags:
        - command
      summary: 'Get task status'
      description: 'Returns status information for the specified agent tasks. Provide a list of task IDs to query individual tasks, or supply a PolicyRunId to retrieve all tasks associated with a specific policy run.'
      operationId: GetAgentTaskStatusestasksstatus_Get
      parameters:
        - name: Ids
          in: query
          description: Specifies the task ids.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id.
          schema:
            type: integer
            format: int32
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTaskStatuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTaskStatusesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: 'Get task status'
      description: 'Returns status information for the specified agent tasks using a POST body. Provide a list of task IDs to query individual tasks, or supply a PolicyRunId to retrieve all tasks associated with a specific policy run.'
      operationId: GetAgentTaskStatusestasksstatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTaskStatuses'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTaskStatuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTaskStatusesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/status/ids/{Ids}':
    get:
      tags:
        - command
      summary: 'Get task status'
      description: 'Returns status information for the agent tasks whose IDs are provided in the path. If a PolicyRunId is supplied as a query parameter, all tasks associated with that policy run are also returned.'
      operationId: GetAgentTaskStatusestasksstatusidsIds_Get
      parameters:
        - name: Ids
          in: query
          description: Specifies the task ids.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id.
          schema:
            type: integer
            format: int32
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTaskStatuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTaskStatusesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: 'Get task status'
      description: 'Returns status information for the agent tasks whose IDs are provided using a POST body. If a PolicyRunId is supplied, all tasks associated with that policy run are also returned.'
      operationId: GetAgentTaskStatusestasksstatusidsIds_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTaskStatuses'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTaskStatuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTaskStatusesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/add/agent/{AgentId}':
    get:
      tags:
        - command
      summary: Add agent tasks
      description: Submits a list of tasks to the queue for the specified agent. The AgentId path parameter identifies the target agent. Returns the assigned task IDs in the response, which you can use to monitor task status.
      operationId: SubmitAgentTaskstasksaddagentAgentId_Get
      parameters:
        - name: Tasks
          in: query
          description: Specifies the list of tasks that will be submitted.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AgentTask'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for SubmitAgentTasks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Add agent tasks
      description: Submits a list of tasks to the queue for the specified agent using a POST body. The AgentId path parameter identifies the target agent. Returns the assigned task IDs in the response.
      operationId: SubmitAgentTaskstasksaddagentAgentId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for SubmitAgentTasks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/agent/legacy/{LegacyId}':
    get:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns tasks for the specified agent, identified by its legacy ID. Filter results by task status, task type, policy run ID, or a list of specific task IDs. By default, only tasks currently within their active date range are returned; set IgnoreActiveDates to override this behavior.
      operationId: GetAgentTaskstasksagentlegacyLegacyId_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent's AgentId.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the agent's DeviceId.
          schema:
            type: string
        - name: TaskStatuses
          in: query
          description: Specifies a value indicating the task statuses to filter by.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies value indicating the task ids to look for.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          schema:
            type: integer
            format: int32
        - name: TaskType
          in: query
          description: Specifies the specific task type to retrieve details for
          schema:
            type: string
        - name: Concise
          in: query
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          schema:
            type: boolean
          x-nullable: false
        - name: IgnoreActiveDates
          in: query
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns tasks for the specified agent identified by its legacy ID, using a POST body. Filter results by task status, task type, policy run ID, or specific task IDs. Set IgnoreActiveDates to retrieve tasks outside their active date range.
      operationId: GetAgentTaskstasksagentlegacyLegacyId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/agent/{AgentId}/all/{AllTasks}':
    get:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns tasks for the specified agent, with the AllTasks path parameter controlling whether all tasks or only active tasks are included. Filter results by task status, task type, policy run ID, or a list of specific task IDs.
      operationId: GetAgentTaskstasksagentAgentIdallAllTasks_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent's AgentId.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the agent's DeviceId.
          schema:
            type: string
        - name: TaskStatuses
          in: query
          description: Specifies a value indicating the task statuses to filter by.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies value indicating the task ids to look for.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          schema:
            type: integer
            format: int32
        - name: TaskType
          in: query
          description: Specifies the specific task type to retrieve details for
          schema:
            type: string
        - name: Concise
          in: query
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          schema:
            type: boolean
          x-nullable: false
        - name: IgnoreActiveDates
          in: query
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns tasks for the specified agent using a POST body, with the AllTasks path parameter controlling whether all tasks or only active tasks are included. Filter results by task status, task type, or policy run ID.
      operationId: GetAgentTaskstasksagentAgentIdallAllTasks_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/agent/{AgentId}/single/{TaskId}':
    get:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns task information for the specified agent, identified by AgentId. Use the TaskStatuses, TaskType, and TaskIds parameters to filter results, and set Concise to true to omit large text and result-data fields from the response.
      operationId: GetAgentTaskstasksagentAgentIdsingleTaskId_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent's AgentId.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the agent's DeviceId.
          schema:
            type: string
        - name: TaskStatuses
          in: query
          description: Specifies a value indicating the task statuses to filter by.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies value indicating the task ids to look for.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          schema:
            type: integer
            format: int32
        - name: TaskType
          in: query
          description: Specifies the specific task type to retrieve details for
          schema:
            type: string
        - name: Concise
          in: query
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          schema:
            type: boolean
          x-nullable: false
        - name: IgnoreActiveDates
          in: query
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Get tasks for given agent
      description: Submits a request for task information for the specified agent. Accepts the same filtering options as the GET variant, including TaskStatuses, TaskType, and Concise mode, via the request body.
      operationId: GetAgentTaskstasksagentAgentIdsingleTaskId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/agent/legacy/{LegacyId}/all/{AllTasks}':
    get:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns task information for a legacy agent identified by its LegacyId, optionally retrieving all tasks. Supports the same status, type, and pagination filtering as the standard agent task endpoints.
      operationId: GetAgentTaskstasksagentlegacyLegacyIdallAllTasks_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent's AgentId.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the agent's DeviceId.
          schema:
            type: string
        - name: TaskStatuses
          in: query
          description: Specifies a value indicating the task statuses to filter by.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies value indicating the task ids to look for.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          schema:
            type: integer
            format: int32
        - name: TaskType
          in: query
          description: Specifies the specific task type to retrieve details for
          schema:
            type: string
        - name: Concise
          in: query
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          schema:
            type: boolean
          x-nullable: false
        - name: IgnoreActiveDates
          in: query
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Get tasks for given agent
      description: Submits a request for task information for a legacy agent identified by its LegacyId. Supply filtering and pagination options in the request body.
      operationId: GetAgentTaskstasksagentlegacyLegacyIdallAllTasks_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/command/tasks/agent/legacy/{LegacyId}/single/{TaskId}':
    get:
      tags:
        - command
      summary: Get tasks for given agent
      description: Returns task information for a single task associated with a legacy agent, identified by LegacyId and TaskId. Use TaskStatuses and TaskType to narrow the results.
      operationId: GetAgentTaskstasksagentlegacyLegacyIdsingleTaskId_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the agent's AgentId.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the agent's DeviceId.
          schema:
            type: string
        - name: TaskStatuses
          in: query
          description: Specifies a value indicating the task statuses to filter by.
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: TaskIds
          in: query
          description: Specifies value indicating the task ids to look for.
          style: form
          schema:
            type: array
            items:
              type: integer
              format: int32
              x-nullable: false
        - name: PolicyRunId
          in: query
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          schema:
            type: integer
            format: int32
        - name: TaskType
          in: query
          description: Specifies the specific task type to retrieve details for
          schema:
            type: string
        - name: Concise
          in: query
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          schema:
            type: boolean
          x-nullable: false
        - name: IgnoreActiveDates
          in: query
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - command
      summary: Get tasks for given agent
      description: Submits a request for a single task record associated with a legacy agent. Provide the LegacyId, TaskId, and any filtering options in the request body.
      operationId: GetAgentTaskstasksagentlegacyLegacyIdsingleTaskId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentTasks'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetAgentTasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentTasksResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/downloadFileHash/{HostType}/{OperatingSystem}/{Variant}':
    get:
      tags:
        - downloadFileHash
      summary: Download file hashing utility
      description: Downloads the file-hashing utility binary for remote monitoring, targeting the specified host type, operating system, and architecture variant. Set ReturnUrl to true to receive a download URL instead of the file directly.
      operationId: DownloadFileHashBinaryHostTypeOperatingSystemVariant_Get
      parameters:
        - name: ReturnUrl
          in: query
          description: Specifies a flag that indicates wether or not to return a URL or the file directly
          schema:
            type: boolean
          x-nullable: false
        - name: HostType
          in: query
          description: 'Specifies the host type the file hash binary is required for (e.g Unix, Windows etc)'
          schema:
            enum:
              - Unknown
              - Unix
              - Windows
              - Network
              - Database
              - Cloud
              - ESX
              - Splunk
            type: string
          x-nullable: false
        - name: OperatingSystem
          in: query
          description: Specifies the operating system naame (as defined in KnownOsNames).  Optional
          schema:
            type: string
        - name: Variant
          in: query
          description: 'Specifies the operating system / host variant.  e.g x64, 10 SPARC etc'
          schema:
            type: string
        - name: FileId
          in: query
          description: Specifies the specific file id
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - downloadFileHash
      summary: Download file hashing utility
      description: Submits a request to download the file-hashing utility binary for remote monitoring. Supply the host type, operating system, variant, and ReturnUrl preference in the request body.
      operationId: DownloadFileHashBinaryHostTypeOperatingSystemVariant_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownloadFileHashBinary'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/downloadFileHashById/{FileId}':
    get:
      tags:
        - downloadFileHashById
      summary: Download file hashing utility
      description: Downloads the file-hashing utility binary identified by its unique FileId. Set ReturnUrl to true to receive a redirect URL instead of streaming the file directly in the response.
      operationId: DownloadFileHashBinaryFileId_Get
      parameters:
        - name: ReturnUrl
          in: query
          description: Specifies a flag that indicates wether or not to return a URL or the file directly
          schema:
            type: boolean
          x-nullable: false
        - name: HostType
          in: query
          description: 'Specifies the host type the file hash binary is required for (e.g Unix, Windows etc)'
          schema:
            enum:
              - Unknown
              - Unix
              - Windows
              - Network
              - Database
              - Cloud
              - ESX
              - Splunk
            type: string
          x-nullable: false
        - name: OperatingSystem
          in: query
          description: Specifies the operating system naame (as defined in KnownOsNames).  Optional
          schema:
            type: string
        - name: Variant
          in: query
          description: 'Specifies the operating system / host variant.  e.g x64, 10 SPARC etc'
          schema:
            type: string
        - name: FileId
          in: query
          description: Specifies the specific file id
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - downloadFileHashById
      summary: Download file hashing utility
      description: Submits a request to download a specific file-hashing utility binary by its FileId. Supply the FileId and ReturnUrl preference in the request body.
      operationId: DownloadFileHashBinaryFileId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownloadFileHashBinary'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /getFileHashBinaries:
    get:
      tags:
        - getFileHashBinaries
      summary: List file hash binaries
      description: Returns the complete list of file-hashing utility binaries available for download from the hub. Use this endpoint to discover which binaries are available before calling the download endpoints.
      operationId: GetFileHashBinaries_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<FileHashBinary>
                type: array
                items:
                  $ref: '#/components/schemas/FileHashBinary'
      security:
        - Bearer: [ ]
    post:
      tags:
        - getFileHashBinaries
      summary: List file hash binaries
      description: Submits a request to retrieve the list of file-hashing utility binaries available for download from the hub. Returns the same data as the GET variant.
      operationId: GetFileHashBinaries_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetFileHashBinaries'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<FileHashBinary>
                type: array
                items:
                  $ref: '#/components/schemas/FileHashBinary'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/members:
    get:
      tags:
        - plannedChangeInstances
      summary: Get planned change instance members
      description: Returns the group and device members of the specified planned change instance, identified by InstanceId. Use this endpoint to inspect which devices and groups are in scope for a given planned change.
      operationId: GetPlannedChangeInstanceMembersmembers_Get
      parameters:
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangeInstanceMembersResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Get planned change instance members
      description: Submits a request to retrieve the group and device members of the specified planned change instance. Provide the InstanceId in the request body.
      operationId: GetPlannedChangeInstanceMembersmembers_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPlannedChangeInstanceMembers'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangeInstanceMembersResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/delete:
    get:
      tags:
        - plannedChangeInstances
      summary: Delete a planned change instance
      description: Deletes the specified planned change instance, identified by InstanceId. Optionally pass DeletePlannedChange as true to also remove the parent planned change definition from the system.
      operationId: DeletePlannedChangeInstancedelete_Get
      parameters:
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: DeletePlannedChange
          in: query
          description: Delete the 'parent' planned change also?
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Delete a planned change instance
      description: Submits a request to delete a planned change instance. Supply the InstanceId and optionally set DeletePlannedChange to true in the request body to also remove the parent planned change definition.
      operationId: DeletePlannedChangeInstancedelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeletePlannedChangeInstance'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/deleteMember:
    get:
      tags:
        - plannedChangeInstances
      summary: Remove member from planned change
      description: Removes a specific group or device member from the specified planned change instance, identified by InstanceId. Provide either a GroupName or an AgentDeviceId to identify the member to remove.
      operationId: DeletePlannedChangeInstanceMemberdeleteMember_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group to remove from the planned change.
          schema:
            type: string
        - name: AgentDeviceId
          in: query
          description: Specifies individual device remove from the planned change.
          schema:
            type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Remove member from planned change
      description: Submits a request to remove a group or device member from a planned change instance. Provide the InstanceId and either a GroupName or AgentDeviceId in the request body.
      operationId: DeletePlannedChangeInstanceMemberdeleteMember_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeletePlannedChangeInstanceMember'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/add:
    get:
      tags:
        - plannedChangeInstances
      summary: Add a planned change instance.
      description: Creates a new planned change instance, optionally associating it with an existing planned change definition by name. Specify member groups or individual devices, set start and end times, and configure periodicity for recurring windows. Returns the created instance details.
      operationId: AddPlannedChangeInstanceadd_Get
      parameters:
        - name: PlannedChangeName
          in: query
          description: 'Specifies the planned change definition name. Optional, if not supplied a new empty planned change ruleset is created and returned in the response.'
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the DisplayName. Required.
          schema:
            type: string
        - name: Description
          in: query
          description: Specifies the description. Required.
          schema:
            type: string
        - name: AssignedTo
          in: query
          description: Specifies the Assigned To Name.
          schema:
            type: string
        - name: Origin
          in: query
          description: 'Specifies the origin of the planned change. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when created by sync service.'
          schema:
            type: string
        - name: MemberGroups
          in: query
          description: Specifies the groups that are members of the planned change. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberAgentDeviceIds
          in: query
          description: Specifies the devices that are explicit members of the planned change. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: StartTimeUtc
          in: query
          description: Specifies the UTC start time of the instance. Optional.
          schema:
            type: string
            format: date-time
        - name: EndTimeUtc
          in: query
          description: Specifies the UTC end time of the instance. Optional.
          schema:
            type: string
            format: date-time
        - name: PeriodicityCount
          in: query
          description: Specifies a value indicating the periodicity of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: PeriodicityUnit
          in: query
          description: Specifies a value indicating the periodicity unit.
          schema:
            enum:
              - None
              - Second
              - Minute
              - Hour
              - Day
              - Week
            type: string
          x-nullable: false
        - name: PeriodDurationCount
          in: query
          description: Specifies a value indicating the period duration of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: PeriodDurationUnit
          in: query
          description: Specifies a value indicating the period duration unit.
          schema:
            enum:
              - None
              - Second
              - Minute
              - Hour
              - Day
              - Week
            type: string
          x-nullable: false
        - name: Disabled
          in: query
          description: Specifies a value indicating whether to create the planned change instance in a disabled state.
          schema:
            type: boolean
          x-nullable: false
        - name: DisallowRules
          in: query
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
          schema:
            type: boolean
          x-nullable: false
        - name: UseAttributeRules
          in: query
          description: 'TODO: How do we deal with this? TEMP used to trigger the new file hash based attribute rule generation. Eventually this will be the norm and this property can be removed.'
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Add a planned change instance.
      description: Submits a request to create a new planned change instance. Provide the display name, description, member groups, device IDs, and scheduling options in the request body.
      operationId: AddPlannedChangeInstanceadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPlannedChangeInstance'
        x-bodyName: body
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/update:
    get:
      tags:
        - plannedChangeInstances
      summary: Update a planned change instance
      description: Updates properties of an existing planned change instance, identified by InstanceId. You can modify the description, assigned ruleset, member groups, devices, scheduling, and enabled state. Returns the updated instance details.
      operationId: UpdatePlannedChangeInstanceupdate_Get
      parameters:
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Description
          in: query
          description: Specifies the description. Optional.
          schema:
            type: string
        - name: PlannedChangeName
          in: query
          description: Specifies the id (Name) of the ruleset used by this planned change. Optional.
          schema:
            type: string
        - name: AssignedTo
          in: query
          description: Specifies the Assigned To Name.
          schema:
            type: string
        - name: MemberGroups
          in: query
          description: Specifies the groups that are members of the planned change. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: StartTimeUtc
          in: query
          description: Specifies the UTC start time of the instance. Optional.
          schema:
            type: string
            format: date-time
        - name: EndTimeUtc
          in: query
          description: Specifies the UTC end time of the instance. Optional.
          schema:
            type: string
            format: date-time
        - name: Started
          in: query
          description: Specifies a value indicating whether the planned change has been started. Optional.
          schema:
            type: boolean
        - name: Ended
          in: query
          description: Specifies a value indicating whether the planned change has been ended. Optional.
          schema:
            type: boolean
        - name: Disabled
          in: query
          description: Specifies a value indicating whether the planned change instance is disabled. Optional.
          schema:
            type: boolean
        - name: DisallowRules
          in: query
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events. Optional.'
          schema:
            type: boolean
        - name: PeriodicityCount
          in: query
          description: Specifies a value indicating the periodicity of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          schema:
            type: integer
            format: int32
        - name: PeriodicityUnit
          in: query
          description: Specifies a value indicating the periodicity unit.
          schema:
            type: string
        - name: PeriodDurationCount
          in: query
          description: Specifies a value indicating the period duration of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          schema:
            type: integer
            format: int32
        - name: PeriodDurationUnit
          in: query
          description: Specifies a value indicating the period duration unit.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the Display Name.
          schema:
            type: string
        - name: MemberAgentDeviceIds
          in: query
          description: Specifies the devices that are explicit members of the planned change. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Update a planned change instance
      description: Submits a request to update an existing planned change instance. Provide the InstanceId and any fields to change in the request body. Returns the updated instance details.
      operationId: UpdatePlannedChangeInstanceupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdatePlannedChangeInstance'
        x-bodyName: body
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/clone:
    get:
      tags:
        - plannedChangeInstances
      summary: Clone a planned change instance.
      description: Creates a copy of an existing planned change instance, identified by InstanceId. Set CloneDefinition to true to also duplicate the associated planned change ruleset definition. Returns the new cloned instance.
      operationId: ClonePlannedChangeInstanceclone_Get
      parameters:
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: CloneDefinition
          in: query
          description: Specifies the whether to clone the associated PlannedChangeDefinition
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Clone a planned change instance.
      description: Submits a request to clone an existing planned change instance. Provide the InstanceId and CloneDefinition flag in the request body. Returns the new cloned instance.
      operationId: ClonePlannedChangeInstanceclone_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ClonePlannedChangeInstance'
        x-bodyName: body
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/nameValue:
    get:
      tags:
        - plannedChangeInstances
      summary: 'Get planned change instance names'
      description: 'Returns a lightweight list of planned change instance names and IDs, filtered by name, ID, member groups, or schedule status. Use this endpoint to populate selection lists without fetching full instance details.'
      operationId: GetPlannedChangeInstancesNameValuenameValue_Get
      parameters:
        - name: InstanceIds
          in: query
          description: Specifies the instance id. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberGroups
          in: query
          description: Specifies the member groups to filter by. This is a list of groups that are members of the planned changes instances returned. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberAgentDeviceIds
          in: query
          description: Specifies the ids of member devices.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Description
          in: query
          description: Specifies the planned change instance description to find. Optional.
          schema:
            type: string
        - name: PlannedChangeName
          in: query
          description: Specifies the planned change definition name to find instances of. Optional.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the planned change display name to find instances of. Optional.
          schema:
            type: string
        - name: DisplayNameContains
          in: query
          description: Specifies the planned change instance name fragment to find. Optional.
          schema:
            type: string
        - name: ExcludeDisabled
          in: query
          description: 'Specifies a value indicating whether to exclude disabled instances from the list. Optional, defaults to false.'
          schema:
            type: boolean
          x-nullable: false
        - name: ExcludeOutOfSchedule
          in: query
          description: 'Specifies a value indicating whether to exclude instances whose schedule is not currently active from the list. Optional, defaults to false.'
          schema:
            type: boolean
          x-nullable: false
        - name: DisallowRules
          in: query
          description: Specifies an optional value indicating whether the planned change instances returned are allowed to have rules.
          schema:
            type: boolean
        - name: StartDateUtc
          in: query
          description: Gets or sets the Date/Time of the start date UTC of the Planned Changes to be returned.
          schema:
            type: string
            format: date-time
        - name: EndDateUtc
          in: query
          description: Gets or sets the Date/Time of the end date UTC of the Planned Changes to be returned.
          schema:
            type: string
            format: date-time
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangeInstancesNameValueResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: 'Get planned change instance names'
      description: 'Submits a request to retrieve planned change instance names and IDs. Provide filter criteria such as member groups, display name, and schedule status in the request body.'
      operationId: GetPlannedChangeInstancesNameValuenameValue_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPlannedChangeInstancesNameValue'
        x-bodyName: body
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangeInstancesNameValueResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/addMembers:
    get:
      tags:
        - plannedChangeInstances
      summary: Add groups to a planned change
      description: Adds one or more groups or individual devices as members to the specified planned change instance, identified by InstanceId. Supply MemberGroups names and/or MemberAgentDeviceIds to assign scope.
      operationId: AddPlannedChangeInstanceMemberaddMembers_Get
      parameters:
        - name: MemberGroups
          in: query
          description: Specifies names of groups of devices to add to the planned change.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberAgentDeviceIds
          in: query
          description: Specifies individual device ids to add to the planned change.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Add groups to a planned change
      description: Submits a request to add groups or devices as members to a planned change instance. Provide the InstanceId, MemberGroups, and MemberAgentDeviceIds in the request body.
      operationId: AddPlannedChangeInstanceMemberaddMembers_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPlannedChangeInstanceMember'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/addOrUpdateFromEvents:
    get:
      tags:
        - plannedChangeInstances
      summary: Add planned change from events
      description: Creates or updates a planned change and its associated instance using the specified events as the basis for generating filter rules. Set PreviewOnly to true to inspect the resulting configuration without persisting it. Returns the planned change instance details, including any inferred rules.
      operationId: AddOrUpdatePlannedChangeInstanceFromEventsaddOrUpdateFromEvents_Get
      parameters:
        - name: AllEventsSelected
          in: query
          description: Indicates that the All Events option has been selected.
          schema:
            type: boolean
          x-nullable: false
        - name: EventsQuery
          in: query
          description: Specifies the events query criteria which is a requirement when AllEventsSelected is true.
          schema:
            $ref: '#/components/schemas/GetEvents'
        - name: Name
          in: query
          description: Specifies the name of the 'PlannedChangeDefinition' to create.
          schema:
            type: string
        - name: UpdateExisting
          in: query
          description: Specifies the flag indicating whether or not we're updating an existing planned change
          schema:
            type: boolean
          x-nullable: false
        - name: UseMinimumRules
          in: query
          description: Specifies a value indicating whether to use the minimum possible number rules to match the items.
          schema:
            type: boolean
          x-nullable: false
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: MemberGroups
          in: query
          description: Specifies the groups that are members of the planned change. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberAgentDeviceIds
          in: query
          description: Specifies the devices that are explicit members of the planned change. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: ReconsiderEventsFromUtc
          in: query
          description: Specifies the UTC time to reconsider matching events from. If null no events are reprocessed.
          schema:
            type: string
            format: date-time
        - name: RuleBuilderItems
          in: query
          description: Specifies the events that make up the initial filter rules of the new 'PlannedChangeInstance'. The matching 'PlannedChangeFilterRuleInferenceOptions' provide details about how the event filter rule is to be constructed.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RuleBuilderItem'
        - name: PreviewOnly
          in: query
          description: Specifies a value indicating whether to preview the settings for the resulting 'PlannedChangeInstance' or to really created it
          schema:
            type: boolean
          x-nullable: false
        - name: EndDateUtc
          in: query
          description: Specifies the UTC end date for the new PlannedChangeInstance. If this is null the PlannedChangeInstance is open-ended.
          schema:
            type: string
            format: date-time
        - name: Origin
          in: query
          description: 'Specifies the origin of the planned change. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when creates by sync service.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOrUpdatePlannedChangeInstanceFromEventsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Add planned change from events
      description: Submits a request to create or update a planned change instance derived from the specified events. Provide event selection criteria, rule builder options, and instance configuration in the request body.
      operationId: AddOrUpdatePlannedChangeInstanceFromEventsaddOrUpdateFromEvents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddOrUpdatePlannedChangeInstanceFromEvents'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOrUpdatePlannedChangeInstanceFromEventsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances/reevaluateEvents:
    get:
      tags:
        - plannedChangeInstances
      summary: Re-evaluate planned change instance events
      description: Triggers re-evaluation of events associated with the specified planned change instance, retrospectively applying the instance's rules to events within the specified UTC time range. Use this endpoint after modifying rules to reclassify historical events.
      operationId: AddReEvaluationOfPlannedChangeInstanceEventsreevaluateEvents_Get
      parameters:
        - name: InstanceId
          in: query
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
          required: true
          schema:
            type: string
        - name: EarliestEventTimeUtc
          in: query
          description: Specifies the earliest UTC event time. This is the time of earliest events to re-consider for retrospective inclusion in the planned change.
          schema:
            type: string
            format: date-time
        - name: LastEventTimeUtc
          in: query
          description: Specifies the latest UTC event time. This is the time of the last events to re-consider for retrospective inclusion in the planned change.
          schema:
            type: string
            format: date-time
        - name: PlannedChangeManual
          in: query
          description: Indicates whether to further restrict the event query to events that were either added to the planned change manually or not (i.e. were added by a rule)
          schema:
            type: boolean
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: Re-evaluate planned change instance events
      description: Submits a request to re-evaluate planned change events within a specified time range. Provide the InstanceId and the earliest and latest event timestamps in the request body.
      operationId: AddReEvaluationOfPlannedChangeInstanceEventsreevaluateEvents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddReEvaluationOfPlannedChangeInstanceEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeInstances:
    get:
      tags:
        - plannedChangeInstances
      summary: 'Get planned change instances'
      description: 'Returns a list of planned change instances, optionally filtered by name, ID, member groups, schedule status, and date range. Use OmitPlannedChangeDefinitions to return a lighter payload when full ruleset details are not needed.'
      operationId: GetPlannedChangeInstances_Get
      parameters:
        - name: InstanceIds
          in: query
          description: Specifies the instance id. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberGroups
          in: query
          description: Specifies the member groups to filter by. This is a list of groups that are members of the planned changes instances returned. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: MemberAgentDeviceIds
          in: query
          description: Specifies the ids of member devices.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Description
          in: query
          description: Specifies the planned change instance description to find. Optional.
          schema:
            type: string
        - name: PlannedChangeName
          in: query
          description: Specifies the planned change definition name to find instances of. Optional.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the planned change display name to find instances of. Optional.
          schema:
            type: string
        - name: DisplayNameContains
          in: query
          description: Specifies the planned change instance name fragment to find. Optional.
          schema:
            type: string
        - name: ExcludeDisabled
          in: query
          description: 'Specifies a value indicating whether to exclude disabled instances from the list. Optional, defaults to false.'
          schema:
            type: boolean
          x-nullable: false
        - name: ExcludeOutOfSchedule
          in: query
          description: 'Specifies a value indicating whether to exclude instances whose schedule is not currently active from the list. Optional, defaults to false.'
          schema:
            type: boolean
          x-nullable: false
        - name: DisallowRules
          in: query
          description: Specifies an optional value indicating whether the planned change instances returned are allowed to have rules.
          schema:
            type: boolean
        - name: OmitPlannedChangeDefinitions
          in: query
          description: 'Specifies an optional value indicating whether to omit returning the PlannedChangeDefinition on the returned PlannedChangeInstance, useful if you only want a list of instances without the potentially large definitions embedded.'
          schema:
            type: boolean
          x-nullable: false
        - name: StartDateUtc
          in: query
          description: Gets or sets the Date/Time of the start date UTC of the Planned Changes to be returned.
          schema:
            type: string
            format: date-time
        - name: EndDateUtc
          in: query
          description: Gets or sets the Date/Time of the end date UTC of the Planned Changes to be returned.
          schema:
            type: string
            format: date-time
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeInstances
      summary: 'Get planned change instances'
      description: 'Submits a request to retrieve planned change instances. Provide filter criteria such as member groups, display name, and date range in the request body.'
      operationId: GetPlannedChangeInstances_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPlannedChangeInstances'
        x-bodyName: body
      responses:
        '200':
          description: 'Describes planned change instances, filtered by name, id or groups that are members.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesInstancesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/add:
    get:
      tags:
        - plannedChanges
      summary: Add a planned change definition.
      description: Creates a new planned change ruleset definition with the specified name, display name, and filter rules. Optionally set DisallowRules to create a container for manually added events without automatic rule matching. Returns the created definition.
      operationId: AddPlannedChangeadd_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: Name
          in: query
          description: Specifies the internally identifying name.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the display name.
          schema:
            type: string
        - name: Description
          in: query
          description: Specifies the description text.
          schema:
            type: string
        - name: Origin
          in: query
          description: 'Specifies the origin of the planned change ruleset. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when creates by sync service.'
          schema:
            type: string
        - name: CreationDateUtc
          in: query
          description: Specifies the UTC creation date of the planned change.
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: LastModifiedDateUtc
          in: query
          description: Specifies the UTC last modified date of the planned change.
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: DisallowRules
          in: query
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
          schema:
            type: boolean
          x-nullable: false
        - name: Rules
          in: query
          description: Specifies the dictionary of 'PlannedChangeRule.Id' to 'PlannedChangeRule' rules.
          schema:
            title: 'Dictionary<String,PlannedChangeRule>'
            type: object
            additionalProperties:
              $ref: '#/components/schemas/PlannedChangeRule'
            description: 'Dictionary<String,PlannedChangeRule>'
        - name: RuleCombinationOperator
          in: query
          description: Specifies the rule combination operator. If this is And it means an event must satisfy all the'Rules'.
          schema:
            enum:
              - And
              - Or
              - LogicExpression
            type: string
          x-nullable: false
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Add a planned change definition.
      description: Submits a request to create a new planned change ruleset definition. Provide the name, display name, rules, and rule combination operator in the request body.
      operationId: AddPlannedChangeadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPlannedChange'
        x-bodyName: body
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/upload:
    post:
      tags:
        - plannedChanges
      summary: Upload a planned change ruleset json file
      description: Uploads a planned change ruleset as a JSON file, creating or replacing the corresponding definition on the hub. Use this endpoint to import exported planned change configurations.
      operationId: UploadPlannedChangeupload_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UploadPlannedChange'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/download:
    get:
      tags:
        - plannedChanges
      summary: Download a planned change ruleset json file
      description: Downloads the specified planned change ruleset as a JSON file. Use the IncludeAttributeRuleList and IncludeAttributeRuleText parameters to control whether list-based attribute rule data is included in the export.
      operationId: DownloadPlannedChangedownload_Get
      parameters:
        - name: Id
          in: query
          description: Specifies the planned change rule set id
          schema:
            type: string
        - name: IncludeAttributeRuleList
          in: query
          description: Specifies whether to return the List property for attribute list rules. Defaults to false.
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeAttributeRuleText
          in: query
          description: Specifies whether to return the list in the MatchText property for attribute list rules. Defaults to true.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Download a planned change ruleset json file
      description: Submits a request to download a planned change ruleset as a JSON file. Provide the ruleset ID and export options in the request body.
      operationId: DownloadPlannedChangedownload_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownloadPlannedChange'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/update:
    get:
      tags:
        - plannedChanges
      summary: Update a planned change definition
      description: Updates the specified planned change ruleset definition, including its display name, description, rules, and rule combination operator. The internal Name cannot be changed. Returns the updated definition.
      operationId: UpdatePlannedChangeupdate_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the internal Name identifying the planned change. This cannot be updated.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the display name.
          schema:
            type: string
        - name: Description
          in: query
          description: Specifies the description text.
          schema:
            type: string
        - name: RuleCombinationOperator
          in: query
          description: Specifies the rule combination operator. If this is And it means an event must satisfy all the 'PlannedChangeDefinition.Rules'.
          schema:
            type: string
        - name: DisallowRules
          in: query
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
          schema:
            type: boolean
        - name: Rules
          in: query
          description: Specifies the dictionary of 'PlannedChangeRule.Id' to 'PlannedChangeRule' rules.
          schema:
            title: 'Dictionary<String,PlannedChangeRule>'
            type: object
            additionalProperties:
              $ref: '#/components/schemas/PlannedChangeRule'
            description: 'Dictionary<String,PlannedChangeRule>'
        - name: Origin
          in: query
          description: 'Specifies the origin of the planned change update. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when updated by sync service.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Update a planned change definition
      description: Submits a request to update a planned change ruleset definition. Provide the Name identifying the ruleset and any fields to change in the request body.
      operationId: UpdatePlannedChangeupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdatePlannedChange'
        x-bodyName: body
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/clone:
    get:
      tags:
        - plannedChanges
      summary: Clone a planned change definition.
      description: Creates a copy of the specified planned change ruleset definition, identified by its internal Name. Returns the new cloned definition with a system-generated name.
      operationId: ClonePlannedChangeclone_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the internal Name identifying the planned change to clone. This cannot be updated.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Clone a planned change definition.
      description: Submits a request to clone a planned change ruleset definition. Provide the Name of the definition to copy in the request body.
      operationId: ClonePlannedChangeclone_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ClonePlannedChange'
        x-bodyName: body
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/analyze:
    get:
      tags:
        - plannedChanges
      summary: 'Create planned change rule reduction'
      description: 'Analyzes the specified planned change ruleset and generates rule reduction plans that can simplify the associated rules. For example, two exact filename matches within the same directory may be combined into a single wildcard rule. Returns reduction plan suggestions without applying them.'
      operationId: AnalyzePlannedChangeanalyze_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the planned change Name. This cannot be updated.
          schema:
            type: string
        - name: ReduceRuleIds
          in: query
          description: Specifies the list of rule ids to be automatically reduced to the minimum set to catch at least the same events. For example two exact name matches of files in the same directory will be reduced to one rule that matches any file in the directory.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyzePlannedChangeResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: 'Create planned change rule reduction'
      description: 'Submits an analysis request to generate rule reduction plans for the specified planned change. Provide the planned change Name and the rule IDs to evaluate in the request body.'
      operationId: AnalyzePlannedChangeanalyze_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AnalyzePlannedChange'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyzePlannedChangeResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/applyPlan:
    get:
      tags:
        - plannedChanges
      summary: 'Apply planned change rule reduction'
      description: 'Applies a previously generated rule reduction plan to the specified planned change, removing redundant rules and replacing them with the simplified alternatives. Returns no content on success.'
      operationId: ApplyPlannedChangePlanapplyPlan_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the planned change Name. This cannot be updated.
          schema:
            type: string
        - name: RuleIdsToRemove
          in: query
          description: Specifies the rule ids to remove.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: RuleReductionPlan
          in: query
          description: Specifies the rule reduction plan.
          schema:
            $ref: '#/components/schemas/RuleReductionPlan2'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: 'Apply planned change rule reduction'
      description: 'Submits a request to apply a rule reduction plan to the specified planned change. Provide the planned change Name, rule IDs to remove, and the reduction plan details in the request body.'
      operationId: ApplyPlannedChangePlanapplyPlan_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ApplyPlannedChangePlan'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/updateRule:
    get:
      tags:
        - plannedChanges
      summary: Update planned change rule
      description: Updates a single filter rule within an existing planned change definition. Use this endpoint to modify individual rule attributes without replacing the entire ruleset.
      operationId: UpdatePlannedChangeRuleupdateRule_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Update planned change rule
      description: Submits a request to update a single filter rule in an existing planned change definition. Provide the rule update details in the request body.
      operationId: UpdatePlannedChangeRuleupdateRule_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdatePlannedChangeRule'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/updateRules:
    get:
      tags:
        - plannedChanges
      summary: Update planned change rule set
      description: Replaces the entire rule set in the specified planned change definition with the provided rules. This endpoint is deprecated; use the individual rule update endpoints for new integrations.
      operationId: UpdatePlannedChangeRulesupdateRules_Get
      parameters:
        - name: PlannedChangeName
          in: query
          description: Specifies the planned change definition name.
          schema:
            type: string
        - name: Rules
          in: query
          description: Specifies the dictionary of 'PlannedChangeRule.Id' to 'PlannedChangeRule' rules.
          schema:
            title: 'Dictionary<String,PlannedChangeRule>'
            type: object
            additionalProperties:
              $ref: '#/components/schemas/PlannedChangeRule'
            description: 'Dictionary<String,PlannedChangeRule>'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: A named Planned Change definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlannedChangeDefinition'
      deprecated: true
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Update planned change rule set
      description: Submits a request to replace the entire rule set in the specified planned change definition. This endpoint is deprecated; use the individual rule update endpoints for new integrations.
      operationId: UpdatePlannedChangeRulesupdateRules_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdatePlannedChangeRules'
        x-bodyName: body
      responses:
        '200':
          description: A named Planned Change definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlannedChangeDefinition'
      deprecated: true
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/deleteRule:
    get:
      tags:
        - plannedChanges
      summary: Remove rule from planned change.
      description: Removes a specific filter rule, identified by its ID, from the specified planned change definition. Returns no content on success.
      operationId: DeletePlannedChangeRuledeleteRule_Get
      parameters:
        - name: PlannedChangeName
          in: query
          description: Specifies the planned change definition name.
          schema:
            type: string
        - name: Id
          in: query
          description: Specifies the rule id.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Remove rule from planned change.
      description: Submits a request to remove a filter rule from a planned change definition. Provide the planned change name and the rule ID in the request body.
      operationId: DeletePlannedChangeRuledeleteRule_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeletePlannedChangeRule'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges/delete:
    get:
      tags:
        - plannedChanges
      summary: Delete a planned change ruleset
      description: Permanently deletes the specified planned change ruleset definition from the system, identified by Name. This action cannot be undone; consider cloning the definition before deleting if you may need it later.
      operationId: DeletePlannedChangedelete_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the planned change ruleset definition name to remove.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: Delete a planned change ruleset
      description: Submits a request to permanently delete a planned change ruleset definition. Provide the Name of the definition to remove in the request body.
      operationId: DeletePlannedChangedelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeletePlannedChange'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChangeRule/add:
    get:
      tags:
        - plannedChangeRule
      summary: Add rule to a planned change.
      description: Adds a new filter rule to the specified planned change definition, identified by PlannedChangeName. Returns the ID of the newly created rule.
      operationId: AddPlannedChangeRuleadd_Get
      parameters:
        - name: PlannedChangeName
          in: query
          description: Specifies the name of the planned change to which the new rule will be added.
          schema:
            type: string
        - name: Rule
          in: query
          description: Specifies the new rule being added.
          schema:
            $ref: '#/components/schemas/PlannedChangeRule'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The id of the new item created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewId'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChangeRule
      summary: Add rule to a planned change.
      description: Submits a request to add a filter rule to a planned change definition. Provide the planned change name and the new rule object in the request body. Returns the ID of the newly created rule.
      operationId: AddPlannedChangeRuleadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPlannedChangeRule'
        x-bodyName: body
      responses:
        '200':
          description: The id of the new item created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewId'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /plannedChanges:
    get:
      tags:
        - plannedChanges
      summary: 'Get planned change ruleset definitions'
      description: 'Returns a paged list of planned change ruleset definitions, optionally filtered by name or display name. Use the DisallowRules filter to find definitions that act as manual event containers only.'
      operationId: GetPlannedChanges_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the planned change definition name to find.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the planned change display name to find.
          schema:
            type: string
        - name: DisplayNameContains
          in: query
          description: Specifies the partial planned change display name to find.
          schema:
            type: string
        - name: DisallowRules
          in: query
          description: Specifies an optional value indicating whether the planned changes returned are allowed to have rules.
          schema:
            type: boolean
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - plannedChanges
      summary: 'Get planned change ruleset definitions'
      description: 'Submits a request to retrieve planned change ruleset definitions. Provide name filters and pagination options in the request body.'
      operationId: GetPlannedChanges_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPlannedChanges'
        x-bodyName: body
      responses:
        '200':
          description: Specifies returned a planned change definitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlannedChangesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/parse:
    get:
      tags:
        - commandParser
      summary: 'Parse command line'
      description: 'Validates one or more command-line strings against the allowed command component list. Returns a list of disallowed fragments if validation fails, or an empty result if the commands are permitted.'
      operationId: ParseCommandsparse_Get
      parameters:
        - name: CommandLines
          in: query
          description: Specifies the command line
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParseCommandResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - commandParser
      summary: 'Parse command line'
      description: 'Submits one or more command-line strings for validation against the allowed command component list. Provide the CommandLines in the request body. Returns any disallowed fragments found.'
      operationId: ParseCommandsparse_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ParseCommands'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParseCommandResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/whitelist:
    get:
      tags:
        - commandParser
      summary: Gets the whitelisted command component.
      description: Returns the current set of whitelisted command components that are permitted when validating command-line strings. Use this endpoint to review the allowed list before adding or updating entries.
      operationId: GetWhitelistedCommandComponentwhitelist_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhitelistCommandComponentResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - commandParser
      summary: Whitelists a command component.
      description: Adds a new command component to the allowlist so that it passes command-line validation. Provide the component details in the request body. Returns the updated allowlist.
      operationId: CreateWhitelistedCommandComponentwhitelist_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateWhitelistedCommandComponent'
        x-bodyName: body
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhitelistCommandComponentResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/whitelist/all:
    get:
      tags:
        - commandParser
      summary: List whitelisted command components
      description: Returns a paged list of all whitelisted command components. Use the Sort, Skip, Take, and GenericFilters parameters to control pagination and ordering of results.
      operationId: GetAllWhitelistedCommandComponentswhitelistall_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhitelistCommandComponentResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/whitelist/update:
    post:
      tags:
        - commandParser
      summary: Update command component by ID
      description: Updates an existing whitelisted command component, identified by its ID. Provide the updated component details in the request body. Returns the updated allowlist.
      operationId: UpdateWhitelistedCommandComponentwhitelistupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateWhitelistedCommandComponent'
        x-bodyName: body
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhitelistCommandComponentResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/whitelist/updateMany:
    post:
      tags:
        - commandParser
      summary: Bulk update command components
      description: Performs a bulk update on multiple whitelisted command components identified by their IDs. Provide the list of IDs and the updated properties in the request body. Returns the updated allowlist.
      operationId: UpdateWhitelistedCommandComponentswhitelistupdateMany_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateWhitelistedCommandComponents'
        x-bodyName: body
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhitelistCommandComponentResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/commandComponent/addTemplates:
    post:
      tags:
        - commandParser
      summary: Add templates to command component
      description: Associates one or more policy templates with the specified command component. Use this endpoint to extend the set of templates that govern command-line validation for a given component.
      operationId: AddTemplatesToCommandComponentcommandComponentaddTemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddTemplatesToCommandComponent'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandComponentTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/commandComponent/removeTemplates:
    post:
      tags:
        - commandParser
      summary: Remove templates from command component
      description: Removes one or more policy template associations from the specified command component. Templates that are not currently associated are silently ignored.
      operationId: RemoveTemplatesFromCommandComponentcommandComponentremoveTemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RemoveTemplatesFromCommandComponent'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandComponentTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/commandComponent/templates:
    get:
      tags:
        - commandParser
      summary: Get templates for command component
      description: Returns a paged list of all policy templates associated with the specified command component. Use the Sort, Skip, and Take parameters to control pagination.
      operationId: GetAllCommandComponentTemplatescommandComponenttemplates_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllCommandComponentTemplatesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - commandParser
      summary: 'Set command component templates'
      description: 'Replaces all policy template associations for the specified command component with the provided list, removing any previously associated templates. Provide the component ID and the new template list in the request body.'
      operationId: SetAllTemplatesOfCommandComponentcommandComponenttemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetAllTemplatesOfCommandComponent'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandComponentTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /commandParser/commandComponentMany/templates:
    post:
      tags:
        - commandParser
      summary: Get templates for command components
      description: Returns the policy templates associated with multiple command components in a single request. Provide the component IDs in the request body.
      operationId: GetAllCommandComponentsTemplatescommandComponentManytemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAllCommandComponentsTemplates'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllCommandComponentsTemplatesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /cloudTemplate/status:
    get:
      tags:
        - cloudTemplate
      summary: Get cloud template creation status
      description: Returns the creation progress status for a new cloud report policy. Provide either a ProspectiveName for the cloud system or a ReportSpecId to identify an existing cloud report, but not both. The response indicates whether the policy is fully configured or requires additional steps such as adding credentials.
      operationId: GetCloudTemplateCreationStatusstatus_Get
      parameters:
        - name: ProspectiveName
          in: query
          description: Specifies the prospective name of a Cloud System so that a check can be made to determine if any of the components already exist
          schema:
            type: string
        - name: ReportSpecId
          in: query
          description: Specifies the id of the ReportSpecification representing this scheduled cloud report
          schema:
            type: string
        - name: IncludeIfHidden
          in: query
          description: Whether or not the report associated with the ReportSpecification id will get found if it's in a hidden state
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCloudTemplateCreationStatusResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - cloudTemplate
      summary: Get cloud template creation status
      description: Submits a request to retrieve the creation progress status for a new cloud report policy. Provide either ProspectiveName or ReportSpecId in the request body, but not both.
      operationId: GetCloudTemplateCreationStatusstatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCloudTemplateCreationStatus'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCloudTemplateCreationStatusResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplate/setup:
    get:
      tags:
        - policyTemplate
      summary: Set up baseline policy template
      description: Sets up the specified baseline policy template by ensuring that the required source and member groups and associated scheduled compliance report are correctly configured. Use this endpoint to initialise a template before running compliance scans against it.
      operationId: SetupPolicyTemplatesetup_Get
      parameters:
        - name: PolicyTemplateName
          in: query
          description: Specifies the policy template name
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetupPolicyTemplateResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplate
      summary: Set up baseline policy template
      description: Submits a setup request for the specified baseline policy template. Provide the PolicyTemplateName in the request body to initialise the required groups and scheduled compliance report.
      operationId: SetupPolicyTemplatesetup_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetupPolicyTemplate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetupPolicyTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplate/status:
    get:
      tags:
        - policyTemplate
      summary: Get policy creation status
      description: Returns the creation progress status for the specified policy template. The response indicates whether the policy is fully configured or requires additional steps, such as adding rules, before it can be applied to devices.
      operationId: GetPolicyTemplateCreationStatusstatus_Get
      parameters:
        - name: PolicyTemplateName
          in: query
          description: Specifies the policy template name to query
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplateCreationStatusResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplate
      summary: Get policy creation status
      description: Submits a request to retrieve the creation progress status for the specified policy template. Provide the PolicyTemplateName in the request body.
      operationId: GetPolicyTemplateCreationStatusstatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPolicyTemplateCreationStatus'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplateCreationStatusResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplate/add:
    get:
      tags:
        - policyTemplate
      summary: Adds a device config template.
      description: Creates a new device configuration template using the provided PolicyTemplateRuleSet definition. Optionally specify UsageTags to categorize the template (for example, Baseline or Tracking) and a ChangeComment for audit purposes.
      operationId: AddPolicyTemplateadd_Get
      parameters:
        - name: Template
          in: query
          description: Specifies the template.
          schema:
            $ref: '#/components/schemas/PolicyTemplateRuleSet'
        - name: UsageTags
          in: query
          description: 'Specifies the  policy usages type to store on the Template e.g. Baseline, Tracking etc...'
          style: form
          schema:
            type: array
            items:
              type: string
        - name: ChangeComment
          in: query
          description: Specifies a short description of the change for auditing purposes.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to a request for matching config templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplatesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplate
      summary: Adds a device config template.
      description: Submits a request to create a new device configuration template. Provide the template definition, usage tags, and change comment in the request body.
      operationId: AddPolicyTemplateadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPolicyTemplate'
        x-bodyName: body
      responses:
        '200':
          description: Response to a request for matching config templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPolicyTemplatesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyRecent:
    get:
      tags:
        - policyRecent
      summary: Get most recent policy results
      description: Returns the most recent policy run results for each matching policy within the specified time range, filterable by usage tag and group. Use ExcludePoliciesWithNoDevices, ExcludePoliciesNotSetup, and ExcludePoliciesWithNoResults to refine the result set.
      operationId: GetMostRecentPolicyResults_Get
      parameters:
        - name: UsageTag
          in: query
          description: Restricts the results returned to compliance policies marked with the specified UsageTagsApplicable.
          schema:
            enum:
              - All
              - Database
              - Linux
              - Network
              - OSX
              - Unix
              - Windows
              - Baseline
              - Compliance
              - Tracking
              - Hardening
              - Cloud
            type: string
          x-nullable: false
        - name: GroupName
          in: query
          description: Specifies the group name.
          schema:
            type: string
        - name: ExcludePoliciesWithNoDevices
          in: query
          description: Restricts the results returned to policies run on groups containing at least one device.
          schema:
            type: boolean
          x-nullable: false
        - name: ExcludePoliciesNotSetup
          in: query
          description: Baselines only - excludes policies not yet fully setup from the results.
          schema:
            type: boolean
          x-nullable: false
        - name: ExcludePoliciesWithNoResults
          in: query
          description: Baselines only - excludes policies with no results in the time period from the results.
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to a request for matching config templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMostRecentPolicyResultsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyRecent
      summary: Get most recent policy results
      description: Submits a request to retrieve the most recent policy run results. Provide usage tag, group name, and exclusion flags in the request body.
      operationId: GetMostRecentPolicyResults_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetMostRecentPolicyResults'
        x-bodyName: body
      responses:
        '200':
          description: Response to a request for matching config templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMostRecentPolicyResultsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplate/add/rules:
    get:
      tags:
        - policyTemplate
      summary: Add rules to baseline policy
      description: Adds one or more rules to a baseline policy template, derived from recent events. Set PreviewChanges to true to inspect the proposed rule additions without saving them. Returns the new rules and any affected report sections.
      operationId: AddPolicyTemplateRulesaddrules_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the policy template name to add rules to
          schema:
            type: string
        - name: AddDeviceInformationRule
          in: query
          description: Specifies whether to add the device information section at the start of the report
          schema:
            type: boolean
          x-nullable: false
        - name: ChangeComment
          in: query
          description: Specifies a short description of the change for auditing purposes.
          schema:
            type: string
        - name: PreviewChanges
          in: query
          description: Specifies if the rule changes should only be previewed and not saved to the template.
          schema:
            type: boolean
          x-nullable: false
        - name: StartUtc
          in: query
          description: 'Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: RuleOptions
          in: query
          description: Specifies any Rule Builder Options.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RuleBuilderOptions'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddPolicyTemplateRulesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplate
      summary: Add rules to baseline policy
      description: Submits a request to add rules to a baseline policy template based on events. Provide the template name, event time range, and rule builder options in the request body.
      operationId: AddPolicyTemplateRulesaddrules_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPolicyTemplateRules'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddPolicyTemplateRulesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /devicePolicyTemplate/add:
    get:
      tags:
        - devicePolicyTemplate
      summary: Add device policy template
      description: Adds a device policy template to the system using an XML definition. You can optionally copy an existing template's tracking configuration by specifying AsCopyOf. Set OverwriteIfExists to true to replace an existing template with the same name.
      operationId: AddPolicyTemplateXmladd_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the name.
          schema:
            type: string
        - name: Xml
          in: query
          description: Specifies the xml.
          schema:
            type: string
        - name: PassMark
          in: query
          description: Specifies the pass mark. Only relevant for 'TemplateType' of 'PolicyTemplateType.ComplianceReport'.
          schema:
            type: number
            format: double
          x-nullable: false
        - name: AsCopyOf
          in: query
          description: Specifies as a copy of an existing template named this
          schema:
            type: string
        - name: CopyTemplateValues
          in: query
          description: 'Specifies a copy of an existing template should only copy the tracking information, not the values'
          schema:
            type: boolean
          x-nullable: false
        - name: AsCopyOfVersion
          in: query
          description: Specifies version to copy when using AsCopyOf
          schema:
            type: string
        - name: AdditionalUsageTags
          in: query
          description: 'Specifies extra UsageTagsApplicable to record against the template, in addition to those specified in the Xml'
          style: form
          schema:
            type: array
            items:
              type: string
              x-nullable: false
        - name: OverwriteIfExists
          in: query
          description: Specifies a flag to indicate whether or not not overwrite the report / config if it already exists
          schema:
            type: boolean
          x-nullable: false
        - name: ExternalDataFileId
          in: query
          description: Specifies an external file id if the XML is not provided 'in line'
          schema:
            type: string
        - name: IsSystem
          in: query
          description: Specifies a flag to indicate whether or not the template is part of the standard system set or a customized version
          schema:
            type: boolean
          x-nullable: false
        - name: IsUiUpload
          in: query
          description: Specifies a flag to indicate whether or not the template is has been uploaded from the UI
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to adding a device policy template to the system.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddPolicyTemplateResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - devicePolicyTemplate
      summary: Add device policy template
      description: Submits a request to add a device policy template using an XML definition. Provide the template XML, name, and optional copy-from and overwrite settings in the request body.
      operationId: AddPolicyTemplateXmladd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddPolicyTemplateXml'
        x-bodyName: body
      responses:
        '200':
          description: Response to adding a device policy template to the system.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddPolicyTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /devicePolicyTemplate/delete:
    get:
      tags:
        - devicePolicyTemplate
      summary: Delete device policy template
      description: Deletes the specified device policy template from the system. The template can be either a configuration tracking template or a compliance report template. If TemplateVersion is not supplied, all versions of the template are removed.
      operationId: DeletePolicyTemplatedelete_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the policy template name to delete
          schema:
            type: string
        - name: TemplateVersion
          in: query
          description: 'Specifies the policy template version to delete. Optional, if not supplied all versions of the template are removed.'
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - devicePolicyTemplate
      summary: Delete device policy template
      description: Submits a request to delete a device policy template. Provide the template Name and optionally a specific TemplateVersion to delete in the request body. If no version is supplied, all versions are removed.
      operationId: DeletePolicyTemplatedelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeletePolicyTemplate'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /uploadPolicyTemplate:
    post:
      tags:
        - uploadPolicyTemplate
      summary: Upload a policy template file
      description: Uploads a policy template file to the hub. Use this endpoint to import policy templates in bulk or to replace existing definitions from an exported file.
      operationId: UploadPolicyTemplate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UploadPolicyTemplate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadPolicyTemplateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplateAsFile:
    get:
      tags:
        - policyTemplateAsFile
      summary: Download policy template as XML
      description: Downloads the specified policy template as an XML file delivered in the HTTP response stream. Specify the template Name to retrieve a named template, or provide an AgentDeviceId to download the combined template currently applied to that device.
      operationId: GetPolicyTemplateAsFile_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the templatem name to retrieve.
          schema:
            type: string
        - name: AgentDeviceId
          in: query
          description: Specifies the agent device id to get the current combined template for. Note either this or the 'Name' should be specified.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplateAsFile
      summary: Download policy template as XML
      description: Submits a request to download a policy template as an XML file. Provide the template Name or AgentDeviceId in the request body.
      operationId: GetPolicyTemplateAsFile_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPolicyTemplateAsFile'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentProcesses:
    get:
      tags:
        - agentProcesses
      summary: Get agent running processes
      description: Returns the list of currently running processes on the specified agent or device. Use this data to build process allowlists when configuring device tracking templates.
      operationId: GetAgentProcesses_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent/device to get the processes from
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Describes the list of running processes on a device.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentProcessesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentProcesses
      summary: Get agent running processes
      description: Submits a request to retrieve the list of currently running processes from the specified agent or device. Provide the AgentDevice details in the request body.
      operationId: GetAgentProcesses_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentProcesses'
        x-bodyName: body
      responses:
        '200':
          description: Describes the list of running processes on a device.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentProcessesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /startAgentTracker:
    get:
      tags:
        - startAgentTracker
      summary: Start a tracker on an agent
      description: Instructs the specified agent to start the named tracker. Use the AgentDevice or AgentDeviceId parameter to identify the target agent, and TrackerName to specify which tracker to start.
      operationId: StartAgentTracker_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent the tracker will be started on. Alternative to AgentDeviceId.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: AgentDeviceId
          in: query
          description: Specifies the agent id the tracker will be started on. Alternative to AgentDevice.
          schema:
            type: string
        - name: TrackerName
          in: query
          description: Specifies the tracker to be started
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartAgentTrackerResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - startAgentTracker
      summary: Start a tracker on an agent
      description: Submits a request to start a named tracker on the specified agent. Provide the AgentDeviceId and TrackerName in the request body.
      operationId: StartAgentTracker_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StartAgentTracker'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartAgentTrackerResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentServices:
    get:
      tags:
        - agentServices
      summary: Get agent running services
      description: Returns the list of currently running services on the specified agent or device. Use this data to build service allowlists when configuring device tracking templates.
      operationId: GetAgentServices_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent/device to get the Services from
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Describes the list of running services on a device.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentServicesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentServices
      summary: Get agent running services
      description: Submits a request to retrieve the list of currently running services from the specified agent or device. Provide the AgentDevice details in the request body.
      operationId: GetAgentServices_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentServices'
        x-bodyName: body
      responses:
        '200':
          description: Describes the list of running services on a device.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentServicesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplates/activeVersion:
    get:
      tags:
        - policyTemplates
      summary: Set active policy template version
      description: Marks the specified version of a named policy template as the active version. Only the active version is used when running compliance checks and tracking reports against devices.
      operationId: SetActivePolicyTemplateactiveVersion_Get
      parameters:
        - name: TemplateName
          in: query
          description: Specifies the template name.
          schema:
            type: string
        - name: ActiveVersion
          in: query
          description: Specifies the version of the template to make active.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplates
      summary: Set active policy template version
      description: Submits a request to set the active version of a named policy template. Provide the TemplateName and ActiveVersion in the request body.
      operationId: SetActivePolicyTemplateactiveVersion_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetActivePolicyTemplate'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /policyTemplates/update:
    get:
      tags:
        - policyTemplates
      summary: Update matching config templates.
      description: Updates properties across all config templates that match the specified criteria, such as name or usage tags. Use the filtering parameters to target specific templates or versions.
      operationId: UpdatePolicyTemplatesupdate_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the name (id) to search for.
          schema:
            type: string
        - name: NameContains
          in: query
          description: Specifies the text the name contains. Used to search for partial match if 'Name' not specified.
          schema:
            type: string
        - name: ReturnXml
          in: query
          description: Specifies a value indicating whether to return the template xml in the response. Defaults to false.
          schema:
            type: boolean
          x-nullable: false
        - name: ReturnSignatures
          in: query
          description: Specifies a value indicating whether to calculate and return the template signatures in the response. Defaults to false.
          schema:
            type: boolean
          x-nullable: false
        - name: IsActive
          in: query
          description: Get the Active version of a template
          schema:
            type: boolean
        - name: IsLatest
          in: query
          description: Get the Latest version of a template
          schema:
            type: boolean
        - name: HasRules
          in: query
          description: Get templates with Rules
          schema:
            type: boolean
        - name: HasTrackers
          in: query
          description: Get templates with Trackers
          schema:
            type: boolean
        - name: TemplateTrackerTypes
          in: query
          description: Specifies the template's tracker types.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: TemplateVersion
          in: query
          description: Specifies the template version to get.
          schema:
            type: string
        - name: UsageTags
          in: query
          description: Specifies the policy usage types to get.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - policyTemplates
      summary: Update matching config templates.
      description: Submits a request to update config templates matching the specified criteria. Provide the matching filters and updated properties in the request body.
      operationId: UpdatePolicyTemplatesupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdatePolicyTemplates'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceConfigTemplate:
    get:
      tags:
        - deviceConfigTemplate
      summary: Gets a named device config template.
      description: Returns the named device configuration template, including its tracking configuration and rule set. Set IncludeSystemFilters to true to include system-defined filters and path match definitions in the response.
      operationId: GetDeviceConfigTemplate_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the template name.
          schema:
            type: string
        - name: IncludeSystemFilters
          in: query
          description: Specifies a value indicating whether to include system defined filters and path match definitions.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Represents a named policy tracking configuration and rule-set template.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyTemplateRuleSet'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceConfigTemplate
      summary: Gets a named device config template.
      description: Submits a request to retrieve the named device configuration template. Provide the template Name and IncludeSystemFilters preference in the request body.
      operationId: GetDeviceConfigTemplate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceConfigTemplate'
        x-bodyName: body
      responses:
        '200':
          description: Represents a named policy tracking configuration and rule-set template.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyTemplateRuleSet'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceConfigTemplateNames:
    get:
      tags:
        - deviceConfigTemplateNames
      summary: 'List device tracking template names'
      description: 'Returns a list of device tracking template names. Use TrackersContained to find only templates that include specific trackers (for example, processtracker), or AgentDeviceIds to find templates currently applied to a specific set of devices.'
      operationId: GetDeviceConfigTemplateNames_Get
      parameters:
        - name: TrackersContained
          in: query
          description: Specifies the trackers contained. Optional. If specified this filters the returned list of template names to include only those containing the named trackers (eg 'processtracker').
          style: form
          schema:
            type: array
            items:
              type: string
        - name: AgentDeviceIds
          in: query
          description: 'Specifies the agent devices. Optional. If specified this filters the returned list of template names to include only those currently applied to ALL the listed devices due to their group memberships, i.e. an intersection of group membership sets.'
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceConfigTemplateNames
      summary: 'List device tracking template names'
      description: 'Submits a request to retrieve device tracking template names. Provide tracker and device filter criteria in the request body.'
      operationId: GetDeviceConfigTemplateNames_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceConfigTemplateNames'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /addDeviceConfigProcessRules:
    get:
      tags:
        - addDeviceConfigProcessRules
      summary: Add process rules to tracking template
      description: Adds allowlist, greylist, or blocklist entries to the process tracking rules in the specified device tracking configuration template. Use this endpoint to configure which processes are permitted, monitored, or blocked on tracked devices.
      operationId: AddDeviceConfigProcessRules_Get
      parameters:
        - name: DeviceTemplateName
          in: query
          description: The name of the device tracking configuration template
          schema:
            type: string
        - name: Rules
          in: query
          description: A list of all the Rules
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Process'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - addDeviceConfigProcessRules
      summary: Add process rules to tracking template
      description: Submits a request to add process listing rules to the specified device tracking configuration template. Provide the template name and the list of process rules in the request body.
      operationId: AddDeviceConfigProcessRules_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddDeviceConfigProcessRules'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupPolicy:
    get:
      tags:
        - groupPolicy
      summary: Get group policy template
      description: Returns the configuration policy templates assigned to the specified group or matching the specified template name. Use GroupNames to query multiple groups in a single request.
      operationId: GetGroupPolicy_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group name. Optional.
          schema:
            type: string
        - name: GroupNames
          in: query
          description: Specifies the group names. Optional.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: PolicyTemplateName
          in: query
          description: Specifies the policy template name. Optional.
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to the request for configured policy templates on the group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupPolicyResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupPolicy
      summary: Get group policy template
      description: Submits a request to retrieve the configuration policy templates assigned to the specified group. Provide the group name or template name in the request body.
      operationId: GetGroupPolicy_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetGroupPolicy'
        x-bodyName: body
      responses:
        '200':
          description: The response to the request for configured policy templates on the group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupPolicyResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupPolicyNames:
    get:
      tags:
        - groupPolicyNames
      summary: Get group config policy template names
      description: Returns a mapping of group names to their assigned configuration policy template names. Provide one or more GroupNames to retrieve the template associations for each group.
      operationId: GetGroupPolicyConfigNames_Get
      parameters:
        - name: GroupNames
          in: query
          description: Specifies the list of group names to get the config for
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<String,List<String>>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,List<String>>'
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                description: 'Dictionary<String,List<String>>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupPolicyNames
      summary: Get group config policy template names
      description: Submits a request to retrieve configuration policy template name mappings for the specified groups. Provide the GroupNames list in the request body.
      operationId: GetGroupPolicyConfigNames_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetGroupPolicyConfigNames'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<String,List<String>>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,List<String>>'
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                description: 'Dictionary<String,List<String>>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupPolicy/add:
    get:
      tags:
        - groupPolicy
      summary: Adds config template to a group.
      description: Associates a configuration policy template with the specified group, making the template active for all devices in that group. Set IsTrusted to true if the template contains trusted commands.
      operationId: AddGroupPolicyadd_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: GroupName
          in: query
          description: Specifies the group name.
          schema:
            type: string
        - name: GroupDisplayName
          in: query
          description: Specifies the group display name.
          schema:
            type: string
        - name: PolicyTemplateName
          in: query
          description: Specifies the policy template name.
          schema:
            type: string
        - name: PolicyTemplateDisplayName
          in: query
          description: Specifies the policy template display name.
          schema:
            type: string
        - name: IsTrusted
          in: query
          description: Specifies if policy template contains trusted commands.
          schema:
            type: boolean
      responses:
        '200':
          description: The response to the request to add a configured policy template to the group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddGroupPolicyResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupPolicy
      summary: Adds config template to a group.
      description: Submits a request to associate a configuration policy template with the specified group. Provide the group name, template name, and IsTrusted flag in the request body.
      operationId: AddGroupPolicyadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddGroupPolicy'
        x-bodyName: body
      responses:
        '200':
          description: The response to the request to add a configured policy template to the group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddGroupPolicyResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupPolicy/delete:
    get:
      tags:
        - groupPolicy
      summary: Remove template from group
      description: Removes the association between the specified configuration policy template and the specified group. After removal, devices in the group are no longer governed by this template.
      operationId: DeleteGroupPolicydelete_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group name to delete the policy from.
          schema:
            type: string
        - name: PolicyTemplateName
          in: query
          description: Specifies the policy template name to remove from the group.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupPolicy
      summary: Remove template from group
      description: Submits a request to remove a configuration policy template from the specified group. Provide the GroupName and PolicyTemplateName in the request body.
      operationId: DeleteGroupPolicydelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteGroupPolicy'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reParentDevices:
    get:
      tags:
        - reParentDevices
      summary: Re-parents the given devices to the specified Agent.
      description: Reassigns the specified devices to a new parent agent. Set MigrateEvents to true to also migrate any existing event history from the old agent-device combination to the new one.
      operationId: ReParentDevices_Get
      parameters:
        - name: Devices
          in: query
          description: A list of agent device IDs to be re-parented.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: AgentDeviceId
          in: query
          description: The agent device id to re-parent the devices to.
          schema:
            type: string
        - name: MigrateEvents
          in: query
          description: A boolean that controls wether to migrate any 'old' events to the new agent device id combination.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Dictionary<String,String>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,String>'
                type: object
                additionalProperties:
                  type: string
                description: 'Dictionary<String,String>'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reParentDevices
      summary: Re-parents the given devices to the specified Agent.
      description: Submits a request to reassign the specified devices to a new parent agent. Provide the device IDs, target AgentDeviceId, and MigrateEvents flag in the request body.
      operationId: ReParentDevices_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReParentDevices'
        x-bodyName: body
      responses:
        '200':
          description: 'Dictionary<String,String>'
          content:
            application/json:
              schema:
                title: 'Dictionary<String,String>'
                type: object
                additionalProperties:
                  type: string
                description: 'Dictionary<String,String>'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /exportAgents:
    get:
      tags:
        - exportAgents
      summary: Export a list of agent details.
      description: Exports agent details matching the specified device filter to the chosen format, such as Excel, PDF, CSV, or JSON. Use the ReportTitle and TimeZoneId parameters to customise the exported output.
      operationId: ExportAgents_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the device filter used to control the list of agents
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: ExportFormat
          in: query
          description: Specifies the export format
          schema:
            enum:
              - Default
              - Excel
              - PDF
              - HTML
              - CSV
              - JSON
              - CSVXlsx
            type: string
          x-nullable: false
        - name: ReportTitle
          in: query
          description: Specifies the title for the report
          schema:
            type: string
        - name: TimeZoneId
          in: query
          description: Specifies the timezone id to do the export in
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - exportAgents
      summary: Export a list of agent details.
      description: Submits a request to export agent details in the specified format. Provide the device filter, export format, report title, and timezone in the request body.
      operationId: ExportAgents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExportAgents'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentsRanked:
    get:
      tags:
        - agentsRanked
      summary: List agents by device filter
      description: Returns a paged list of agents matching the specified device filter, ordered by a rank score. Use the optional flags to include related group details, credentials, planned changes, and applied templates in the response.
      operationId: GetAgentsRanked_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: GetAgentGroupDetails
          in: query
          description: Specifies a value indicating whether to get agent group details.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedCredentials
          in: query
          description: Specifies a value indicating whether to get related credentials.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedPlannedChanges
          in: query
          description: Specifies a value indicating whether to get related planned changes.
          schema:
            type: boolean
          x-nullable: false
        - name: GetRelatedTemplates
          in: query
          description: Specifies a value indicating whether to get templates applied to the returned agents.
          schema:
            type: boolean
          x-nullable: false
        - name: IncludeMasterInFilter
          in: query
          description: Specifies a value indicating whether to include proxy master devices in filters that match a child proxied device but would not otherwise return the proxying master.
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response objeect for GetAgentsRanked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentsRankedResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentsRanked
      summary: List agents by device filter
      description: Submits a request to retrieve agents matching the specified device filter. Provide the device filter, related-data flags, and pagination options in the request body.
      operationId: GetAgentsRanked_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentsRanked'
        x-bodyName: body
      responses:
        '200':
          description: The response objeect for GetAgentsRanked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentsRankedResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupMembers:
    get:
      tags:
        - groupMembers
      summary: List group members by criteria
      description: Returns a paged list of members (devices or child groups) belonging to the specified group. Use MemberType to restrict results to AgentDevice or Group members only.
      operationId: GroupMembers_Get
      parameters:
        - name: GroupName
          in: query
          description: The name of the group to query.
          schema:
            type: string
        - name: MemberType
          in: query
          description: Specifies the member type to return (AgentDevice or Group).
          schema:
            enum:
              - None
              - AgentDevice
              - Group
            type: string
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to group members request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupMembersResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupMembers
      summary: List group members by criteria
      description: Submits a request to retrieve group members matching the specified criteria. Provide the GroupName and MemberType filter in the request body.
      operationId: GroupMembers_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupMembers'
        x-bodyName: body
      responses:
        '200':
          description: The response to group members request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupMembersResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groups:
    get:
      tags:
        - groups
      summary: A request to return groups matching the criteria.
      description: Returns a paged list of groups matching the specified criteria, such as internal name, display name, or parent group membership. Use UserName to retrieve groups visible to a specific user.
      operationId: GetGroups_Get
      parameters:
        - name: Name
          in: query
          description: The internal name of the group to find.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: The display name of the group to find.
          schema:
            type: string
        - name: DisplayNameContains
          in: query
          description: A fragment of the display name in the groups to find.
          schema:
            type: string
        - name: UserName
          in: query
          description: The alternative user name to retrieve groups for. Note that the returned list will also be filtered by the visibility of groups the authenticated user has.
          schema:
            type: string
        - name: MemberOf
          in: query
          description: 'The groups of which the returned groups must be a member. If null, members of any group can be returned, if an empty list only groups which are members of no groups (i.e. have no parent) are returned.'
          style: form
          schema:
            type: array
            items:
              type: string
        - name: OnlyGroupsWithUpdate
          in: query
          description: Gets or sets the a flag indicating whether to only return groups with an agent update scheduled.
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to a get groups request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groups
      summary: A request to return groups matching the criteria.
      description: Submits a request to retrieve groups matching the specified criteria. Provide name filters, membership filters, and pagination options in the request body.
      operationId: GetGroups_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetGroups'
        x-bodyName: body
      responses:
        '200':
          description: The response to a get groups request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupsTree:
    get:
      tags:
        - groupsTree
      summary: Get groups hierarchy tree
      description: Returns the complete groups hierarchy as a nested tree structure, showing parent-child relationships between all device groups. Use this endpoint to render group navigation trees in a user interface.
      operationId: GetGroupsTree_Get
      responses:
        '200':
          description: A returned tree structure representing the groups hierarchy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupsTreeResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupsTree
      summary: Get groups hierarchy tree
      description: Submits a request to retrieve the groups hierarchy tree. Returns the same nested structure as the GET variant.
      operationId: GetGroupsTree_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetGroupsTree'
        x-bodyName: body
      responses:
        '200':
          description: A returned tree structure representing the groups hierarchy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupsTreeResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groups/delete:
    get:
      tags:
        - groups
      summary: Delete matching group
      description: Deletes the group matching the specified internal Name from the system. This action removes the group definition; ensure that no critical device assignments depend on this group before deleting.
      operationId: DeleteGroupdelete_Get
      parameters:
        - name: Name
          in: query
          description: Gets or sets the Group Matching Name.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groups
      summary: Delete matching group
      description: Submits a request to delete the specified group. Provide the group's internal Name in the request body.
      operationId: DeleteGroupdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteGroup'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groups/add:
    get:
      tags:
        - groups
      summary: Adds a new Group definition.
      description: Creates a new group of the specified GroupType, optionally placing it under a parent group. Set Members to specify child group members, and assign a RiskScore to weight the group in risk reporting.
      operationId: AddGroupadd_Get
      parameters:
        - name: ParentGroupName
          in: query
          description: Optionally specifies a parent group for the new group. If this is not supplied the group is automatically added as a child of the root 'All Devices' group unless NoParent is set
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the display name of the new group
          schema:
            type: string
        - name: GroupType
          in: query
          description: Specifies the type of members allowed in the new group. Can be a combination of the allowed values
          required: true
          schema:
            enum:
              - None
              - UserContainer
              - DeviceContainer
              - GroupContainer
            type: int
          x-nullable: false
        - name: IsSystem
          in: query
          description: Specifies a flag indicating if this is a 'system' group or not
          schema:
            type: boolean
          x-nullable: false
        - name: Members
          in: query
          description: Specifies the list of ids of 'child group' members of the new group
          style: form
          schema:
            type: array
            items:
              type: string
        - name: RiskScore
          in: query
          description: Specifies the risk score of the group.
          schema:
            enum:
              - Undefined
              - Low
              - MediumLow
              - Medium
              - MediumHigh
              - High
            type: string
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Represents a response to adding a new group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddGroupResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groups
      summary: Adds a new Group definition.
      description: Submits a request to create a new group. Provide the display name, group type, parent group, members, and risk score in the request body.
      operationId: AddGroupadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddGroup'
        x-bodyName: body
      responses:
        '200':
          description: Represents a response to adding a new group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddGroupResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groups/update:
    get:
      tags:
        - groups
      summary: Updates a Group definition.
      description: Updates the display name, child group members, or risk score of the specified group, identified by its internal Name. Provide only the fields you want to change.
      operationId: UpdateGroupupdate_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the name of the group to update
          required: true
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the new display name of the group
          schema:
            type: string
        - name: Members
          in: query
          description: Specifies the list of 'child group' members
          style: form
          schema:
            type: array
            items:
              type: string
        - name: RiskScore
          in: query
          description: Specifies the risk score of the group
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groups
      summary: Updates a Group definition.
      description: Submits a request to update a group definition. Provide the group Name and the fields to change in the request body.
      operationId: UpdateGroupupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateGroup'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /devices/delete:
    get:
      tags:
        - devices
      summary: Delete devices to Deleted group
      description: Moves the specified devices to the Deleted group, effectively removing them from the active device inventory. Deleted devices are excluded from the licensed device count. Provide the AgentDeviceIds of the devices to remove.
      operationId: DeleteDevicesdelete_Get
      parameters:
        - name: AgentDeviceIds
          in: query
          description: 'The agent device ids to delete from their current groups, moving them to the Deleted group.'
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - devices
      summary: Delete devices to Deleted group
      description: Submits a request to move the specified devices to the Deleted group. Provide the AgentDeviceIds in the request body.
      operationId: DeleteDevicesdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteDevices'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /devices/overdue:
    get:
      tags:
        - devices
      summary: List overdue devices
      description: Returns a list of devices that have not checked in for at least the specified number of seconds. Use MemberOfGroups and NotMemberOfGroups to scope the query to specific parts of the device estate.
      operationId: GetOverdueDevicesoverdue_Get
      parameters:
        - name: OfflineSeconds
          in: query
          description: Specifies the number of seconds the offline device must have been offline for.
          required: true
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: MemberOfGroups
          in: query
          description: Specifies optional list of groups the devices must be a member of.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: NotMemberOfGroups
          in: query
          description: Specifies optional list of groups the devices must not be a member of.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Lists devices that have not polled in for the specified amount of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOverdueDevicesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - devices
      summary: List overdue devices
      description: Submits a request to retrieve devices that have not polled in within the specified time threshold. Provide the OfflineSeconds and optional group filters in the request body.
      operationId: GetOverdueDevicesoverdue_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetOverdueDevices'
        x-bodyName: body
      responses:
        '200':
          description: Lists devices that have not polled in for the specified amount of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOverdueDevicesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /device/deletePermanently:
    get:
      tags:
        - device
      summary: 'Permanently delete agent (challenge required)'
      description: 'Permanently removes the specified agent from the system. This endpoint uses a two-step challenge-response process: the first call returns a challenge string that must be answered with an authorization code (obtained from NNT Support) on a subsequent call. Once confirmed, the deletion is irreversible.'
      operationId: DeleteDevicePermanentlydeletePermanently_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the id of the agent.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the id of the device.
          schema:
            type: string
        - name: GroupName
          in: query
          description: Specifies the group name.
          schema:
            type: string
        - name: Response
          in: query
          description: The response to a previously issued challenge for this request. Without this the call will return a challenge for which the response must be supplied on a subsequently call.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'The response to a request to delete a specified Agent from the system. On first call the system will issue a challenge which must be responded to and supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDevicePermanentlyResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - device
      summary: 'Permanently delete agent (challenge required)'
      description: 'Submits a permanent deletion request for the specified agent. On the first call the system issues a challenge; supply the challenge response code from NNT Support in a second call to confirm. Provide the AgentId, DeviceId, and Response in the request body.'
      operationId: DeleteDevicePermanentlydeletePermanently_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteDevicePermanently'
        x-bodyName: body
      responses:
        '200':
          description: 'The response to a request to delete a specified Agent from the system. On first call the system will issue a challenge which must be responded to and supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDevicePermanentlyResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /device/reRegister:
    get:
      tags:
        - device
      summary: Re-register previously deleted devices
      description: Re-registers one or more previously deleted devices, restoring them to the active device inventory. Provide the AgentDeviceIds of the devices to reinstate.
      operationId: ReRegisterDevicereRegister_Get
      parameters:
        - name: AgentDeviceIds
          in: query
          description: Specifies the list of combined agent and device ids.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - device
      summary: Re-register previously deleted devices
      description: Submits a request to re-register previously deleted devices. Provide the AgentDeviceIds in the request body.
      operationId: ReRegisterDevicereRegister_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReRegisterDevice'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /group/deleteMembersPermanently:
    get:
      tags:
        - group
      summary: 'Permanently delete group members'
      description: 'Permanently removes all members of the specified group from the system using a two-step challenge-response process. The first call returns a challenge string; supply the authorization code from NNT Support on a subsequent call to confirm. This action is irreversible.'
      operationId: DeleteGroupMembersPermanentlydeleteMembersPermanently_Get
      parameters:
        - name: GroupName
          in: query
          description: Specifies the group name.
          schema:
            type: string
        - name: Response
          in: query
          description: The response to a previously issued challenge for this request. Without this the call will return a challenge for which the response must be supplied on a subsequently call.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'The response to a request to delete a specified Agent from the system. On first call the system will issue a challenge which must be responded to and supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDevicePermanentlyResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - group
      summary: 'Permanently delete group members'
      description: 'Submits a request to permanently delete all members of the specified group. On the first call the system issues a challenge; supply the authorization code from NNT Support in a second call to confirm. Provide the GroupName and Response in the request body.'
      operationId: DeleteGroupMembersPermanentlydeleteMembersPermanently_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteGroupMembersPermanently'
        x-bodyName: body
      responses:
        '200':
          description: 'The response to a request to delete a specified Agent from the system. On first call the system will issue a challenge which must be responded to and supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDevicePermanentlyResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceFilter/add:
    get:
      tags:
        - deviceFilter
      summary: Add DeviceFilter
      description: Creates a new DeviceFilter definition and adds it to the system. DeviceFilters are reusable device selection criteria that can be referenced by reports and other API calls. Returns the updated list of device filters.
      operationId: AddDeviceFilteradd_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the device filter to add.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceFilter
      summary: Add DeviceFilter
      description: Submits a request to create a new DeviceFilter. Provide the DeviceFilter definition in the request body. Returns the updated list of device filters.
      operationId: AddDeviceFilteradd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddDeviceFilter'
        x-bodyName: body
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceFilter/update:
    get:
      tags:
        - deviceFilter
      summary: Update DeviceFilter by ID
      description: Updates the DeviceFilter identified by the specified Name with a new filter definition. Returns the updated list of device filters.
      operationId: UpdateDeviceFilterupdate_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the name of the device filter to update.
          schema:
            type: string
        - name: DeviceFilter
          in: query
          description: Specifies the new device filter.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceFilter
      summary: Update DeviceFilter by ID
      description: Submits a request to update an existing DeviceFilter. Provide the filter Name and new DeviceFilter definition in the request body.
      operationId: UpdateDeviceFilterupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateDeviceFilter'
        x-bodyName: body
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceFilter/promote:
    get:
      tags:
        - deviceFilter
      summary: 'Promote device filter to head'
      description: Moves the specified DeviceFilter to the top of the filter list, or creates it at the top of the list if it does not already exist. Use this endpoint to retrieve the current promotion state of a filter.
      operationId: PromoteDeviceFilterpromote_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the device filter.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceFilter
      summary: 'Promote device filter to head'
      description: Submits a request to promote the specified DeviceFilter to the head of the list, creating it if it does not already exist. Provide the DeviceFilter definition in the request body.
      operationId: PromoteDeviceFilterpromote_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PromoteDeviceFilter'
        x-bodyName: body
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceFilter/delete:
    get:
      tags:
        - deviceFilter
      summary: Delete matching DeviceFilter
      description: Deletes the DeviceFilter matching the specified Name from the system. Returns no content on success.
      operationId: DeleteDeviceFilterdelete_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the name of the device filter to delete.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceFilter
      summary: Delete matching DeviceFilter
      description: Submits a request to delete the DeviceFilter matching the specified Name. Provide the filter Name in the request body.
      operationId: DeleteDeviceFilterdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteDeviceFilter'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceFilters:
    get:
      tags:
        - deviceFilters
      summary: List DeviceFilter definitions
      description: Returns a paged list of DeviceFilter definitions, optionally filtered by an exact Name or a partial name match using NameContains. Use Skip and Take to paginate through large result sets.
      operationId: GetDeviceFilters_Get
      parameters:
        - name: NameContains
          in: query
          description: Specifies text to search for in the filter Name
          schema:
            type: string
        - name: Name
          in: query
          description: Specifies an exact filter Name to search for
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceFilters
      summary: List DeviceFilter definitions
      description: Submits a request to retrieve DeviceFilter definitions. Provide optional name filters and pagination parameters in the request body.
      operationId: GetDeviceFilters_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceFilters'
        x-bodyName: body
      responses:
        '200':
          description: The response to a get defvice filters request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceFiltersResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupMembers/add:
    get:
      tags:
        - groupMembers
      summary: Add members to named group
      description: Adds one or more child groups or agent devices as members of the specified parent group, identified by GroupName. Provide the Groups names and/or AgentDeviceIds to add.
      operationId: AddGroupMembersadd_Get
      parameters:
        - name: GroupName
          in: query
          description: The internal name/id of the group to add to.
          schema:
            type: string
        - name: Groups
          in: query
          description: The names of groups to add to the parent.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Agents
          in: query
          description: The Agents to add to the parent.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Agent'
        - name: AgentDeviceIds
          in: query
          description: The AgentDeviceIds of agents to add to the parent. Used as an alternative to Agents property.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupMembers
      summary: Add members to named group
      description: Submits a request to add groups or devices as members of the specified group. Provide the GroupName, Groups, and AgentDeviceIds in the request body.
      operationId: AddGroupMembersadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddGroupMembers'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupMembers/delete:
    get:
      tags:
        - groupMembers
      summary: Remove members from named group
      description: Removes one or more child groups or agent devices from the specified parent group, identified by GroupName. Provide the Groups names and/or AgentDeviceIds to remove.
      operationId: DeleteGroupMembersdelete_Get
      parameters:
        - name: GroupName
          in: query
          description: The name of the parent group to remove from.
          schema:
            type: string
        - name: Groups
          in: query
          description: The names of groups to remove from the parent.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: AgentDeviceIds
          in: query
          description: The agent device ids to remove from the parent.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupMembers
      summary: Remove members from named group
      description: Submits a request to remove groups or devices from the specified group. Provide the GroupName, Groups, and AgentDeviceIds in the request body.
      operationId: DeleteGroupMembersdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteGroupMembers'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceOnlineStatus:
    get:
      tags:
        - deviceOnlineStatus
      summary: Get device online/offline status
      description: Returns the current online or offline status of the specified device, identified by AgentId and DeviceId. Use this endpoint to check whether an agent is actively communicating with the hub.
      operationId: GetDeviceOnlineStatus_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the id of the agent.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the id of the device.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceOnlineStatus
      summary: Get device online/offline status
      description: Submits a request to retrieve the online or offline status of the specified device. Provide the AgentId and DeviceId in the request body.
      operationId: GetDeviceOnlineStatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceOnlineStatus'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceSettings/update:
    get:
      tags:
        - deviceSettings
      summary: 'Get device settings with overrides'
      description: 'Returns the effective device settings for the specified device or group, combining the global default settings with any device-specific overrides. Provide either AgentId and DeviceId, or GroupName, to identify the target.'
      operationId: UpdateDeviceSettingsupdate_Get
      parameters:
        - name: AgentId
          in: query
          description: Specifies the id of the agent. Either AgentId and DeviceId or GroupName must be supplied.
          schema:
            type: string
        - name: DeviceId
          in: query
          description: Specifies the id of the device. Either AgentId and DeviceId or GroupName must be supplied.
          schema:
            type: string
        - name: FileLiveTrackingRequiresBaselineCompletion
          in: query
          description: Specifies whether a full baseline must be completed before live file tracking can be started. Optional
          schema:
            type: boolean
        - name: GroupName
          in: query
          description: Specifies the group name. Either AgentId and DeviceId or GroupName must be supplied.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'The device settings represents the device specific options such as customised local ui password details, and tracker performance settings.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceSettings'
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceSettings
      summary: 'Get device settings with overrides'
      description: 'Submits a request to retrieve the effective device settings for the specified device or group. Provide the AgentId, DeviceId, or GroupName in the request body.'
      operationId: UpdateDeviceSettingsupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateDeviceSettings'
        x-bodyName: body
      responses:
        '200':
          description: 'The device settings represents the device specific options such as customised local ui password details, and tracker performance settings.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceSettings'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceCredentials/add:
    get:
      tags:
        - deviceCredentials
      summary: Associate credentials with agent
      description: Associates the specified named credentials with an agent device, enabling the hub to use those credentials when polling or proxying the device. Provide the AgentDevice and CredentialsKey to link them.
      operationId: AddCredentialsToAgentDeviceadd_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent device.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: CredentialsKey
          in: query
          description: Specifies the credentials key.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceCredentials
      summary: Associate credentials with agent
      description: Submits a request to associate named credentials with an agent device. Provide the AgentDevice and CredentialsKey in the request body.
      operationId: AddCredentialsToAgentDeviceadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddCredentialsToAgentDevice'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceCredentials/delete:
    get:
      tags:
        - deviceCredentials
      summary: Remove agent credentials
      description: Removes the specified named credentials from the specified agent device, disassociating them so they are no longer used for polling or proxying. Provide the AgentDevice and CredentialKey to remove.
      operationId: RemoveCredentialsFromAgentDevicedelete_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent device.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: CredentialKey
          in: query
          description: Specifies the credential key.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceCredentials
      summary: Remove agent credentials
      description: Submits a request to remove named credentials from an agent device. Provide the AgentDevice and CredentialKey in the request body.
      operationId: RemoveCredentialsFromAgentDevicedelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RemoveCredentialsFromAgentDevice'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceName/update:
    get:
      tags:
        - deviceName
      summary: Update agent display name
      description: Updates the display name shown for the specified agent device in reports and the user interface. Provide the AgentDevice and the new DeviceName.
      operationId: SetAgentDeviceNameupdate_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent device.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: DeviceName
          in: query
          description: Specifies the device name.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceName
      summary: Update agent display name
      description: Submits a request to update the display name of an agent device. Provide the AgentDevice and new DeviceName in the request body.
      operationId: SetAgentDeviceNameupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetAgentDeviceName'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /deviceHostType/update:
    get:
      tags:
        - deviceHostType
      summary: Update agent host type
      description: Updates the host type classification of the specified agent device, such as Windows, Unix, Network, or Cloud. The host type determines which tracking and policy templates are applicable.
      operationId: SetAgentHostTypeupdate_Get
      parameters:
        - name: AgentDevice
          in: query
          description: Specifies the agent device.
          schema:
            $ref: '#/components/schemas/AgentDevice'
        - name: HostType
          in: query
          description: Specifies the device type.
          schema:
            enum:
              - Unknown
              - Unix
              - Windows
              - Network
              - Database
              - Cloud
              - ESX
              - Splunk
            type: string
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - deviceHostType
      summary: Update agent host type
      description: Submits a request to update the host type of an agent device. Provide the AgentDevice and the new HostType in the request body.
      operationId: SetAgentHostTypeupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetAgentHostType'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testAgentCredentials:
    get:
      tags:
        - testAgentCredentials
      summary: Test proxied device credentials
      description: Instructs the specified agent to test the credentials configured for one of the devices it proxies, confirming whether the credentials are valid and the device is reachable. Returns the test result.
      operationId: TestAgentCredentials_Get
      parameters:
        - name: AgentDeviceId
          in: query
          description: Specifies the agent device id whose credentials are to be tested.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestAgentCredentialsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testAgentCredentials
      summary: Test proxied device credentials
      description: Submits a request for an agent to test credentials for a proxied device. Provide the AgentDeviceId in the request body.
      operationId: TestAgentCredentials_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestAgentCredentials'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestAgentCredentialsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /ipBlocking:
    get:
      tags:
        - ipBlocking
      summary: List blocked IP addresses
      description: Returns the list of IP addresses that are currently blocked, together with their blocking status and expiry times. Use this endpoint to audit which addresses have been manually blocked.
      operationId: GetIpBlocking_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<IpAddressBlockingStatus>
                type: array
                items:
                  $ref: '#/components/schemas/IpAddressBlockingStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - ipBlocking
      summary: List blocked IP addresses
      description: Submits a request to retrieve the list of currently blocked IP addresses and their blocking details.
      operationId: GetIpBlocking_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetIpBlocking'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<IpAddressBlockingStatus>
                type: array
                items:
                  $ref: '#/components/schemas/IpAddressBlockingStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /ipBlocking/add:
    get:
      tags:
        - ipBlocking
      summary: Block IP address until time
      description: Manually blocks the specified IP address until the given UTC expiry time. After the expiry time the block is automatically lifted. Returns the updated list of blocked IP addresses.
      operationId: AddIpBlockingadd_Get
      parameters:
        - name: IpAddress
          in: query
          description: Gets or sets the ip address.
          schema:
            type: string
        - name: ExpiresUtc
          in: query
          description: Gets or sets the expiry date time in UTC.
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<IpAddressBlockingStatus>
                type: array
                items:
                  $ref: '#/components/schemas/IpAddressBlockingStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - ipBlocking
      summary: Block IP address until time
      description: Submits a request to manually block the specified IP address until the given expiry time. Provide the IpAddress and ExpiresUtc in the request body.
      operationId: AddIpBlockingadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddIpBlocking'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<IpAddressBlockingStatus>
                type: array
                items:
                  $ref: '#/components/schemas/IpAddressBlockingStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /ipBlocking/delete:
    get:
      tags:
        - ipBlocking
      summary: Removes blocking of a specified ip address.
      description: Removes the block on the specified IP address, immediately allowing connections from that address. Returns the updated list of blocked IP addresses.
      operationId: DeleteIpBlockingdelete_Get
      parameters:
        - name: IpAddress
          in: query
          description: Gets or sets the ip address to remove blocking from.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<IpAddressBlockingStatus>
                type: array
                items:
                  $ref: '#/components/schemas/IpAddressBlockingStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - ipBlocking
      summary: Removes blocking of a specified ip address.
      description: Submits a request to remove the block on the specified IP address. Provide the IpAddress in the request body.
      operationId: DeleteIpBlockingdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteIpBlocking'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<IpAddressBlockingStatus>
                type: array
                items:
                  $ref: '#/components/schemas/IpAddressBlockingStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /discoverDevices:
    get:
      tags:
        - discoverDevices
      summary: Discover proxied devices
      description: Triggers device discovery to identify candidate devices that can be added as proxied devices under a master agent. Returns discovered device information for review before adding them to the inventory.
      operationId: DiscoverDevices_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscoverDevicesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - discoverDevices
      summary: Discover proxied devices
      description: Submits a device discovery request to identify candidate proxied devices for a master agent. Provide the discovery criteria in the request body.
      operationId: DiscoverDevices_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DiscoverDevices'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscoverDevicesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /discoveredDevices:
    get:
      tags:
        - discoveredDevices
      summary: Submit discovered devices
      description: Submits the list of discovered devices back to the hub as a response to a previous DiscoverDevices request, registering them as proxied devices under the master agent.
      operationId: SubmitDiscoveredDevices_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - discoveredDevices
      summary: Submit discovered devices
      description: Submits the list of discovered devices to register them as proxied devices. Provide the discovered device details in the request body.
      operationId: SubmitDiscoveredDevices_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubmitDiscoveredDevices'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /acknowledgeEvents:
    get:
      tags:
        - acknowledgeEvents
      summary: Acknowledge events as planned
      description: Updates the status of the specified events to the given NewStatus (for example, Planned or Acknowledged), optionally linking them to a planned change instance. Use the EventIds, DeviceFilter, and EventFilter parameters to target specific events.
      operationId: AcknowledgeEvents_Get
      parameters:
        - name: EventIds
          in: query
          description: Specifies the event ids to update.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: PlannedChangeId
          in: query
          description: Specifies the planned change instance id to acknowledge these events under.
          schema:
            type: string
        - name: NewStatus
          in: query
          description: Specifies the new status for the alert events.
          schema:
            enum:
              - Unknown
              - NotRelevant
              - Planned
              - Unplanned
              - UnderInvestigation
              - Acknowledged
            type: string
          x-nullable: false
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: 'Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - acknowledgeEvents
      summary: Acknowledge events as planned
      description: Submits a request to update the status of the specified events. Provide the EventIds or event filter criteria, the PlannedChangeId, and the NewStatus in the request body.
      operationId: AcknowledgeEvents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AcknowledgeEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /resubmitEvents:
    get:
      tags:
        - resubmitEvents
      summary: 'Resubmit events to pipeline'
      description: 'Re-submits the specified events to the processing pipeline for re-evaluation against planned change rules. Use this endpoint after creating or modifying planned changes to update the status of previously processed events.'
      operationId: ResubmitEvents_Get
      parameters:
        - name: GetEvents
          in: query
          description: Gets or sets the event IDs to re-submit
          schema:
            $ref: '#/components/schemas/GetEvents'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - resubmitEvents
      summary: 'Resubmit events to pipeline'
      description: 'Submits a request to re-process the specified events through the planned change pipeline. Provide the event selection criteria in the request body.'
      operationId: ResubmitEvents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResubmitEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/event/history/{EventId}':
    get:
      tags:
        - event
      summary: Get event history
      description: Returns the full history of a specific event, identified by EventId, including all status changes and acknowledgements over time. Use this endpoint to audit the lifecycle of an individual change event.
      operationId: GetEventHistoryhistoryEventId_Get
      parameters:
        - name: EventId
          in: query
          description: Specifies the specific event id to retrieve history for.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Describes an event's history.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventHistoryResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - event
      summary: Get event history
      description: Submits a request to retrieve the history of a specific event. Provide the EventId in the request body.
      operationId: GetEventHistoryhistoryEventId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEventHistory'
        x-bodyName: body
      responses:
        '200':
          description: Describes an event's history.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventHistoryResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /eventDeviceGroups:
    get:
      tags:
        - eventDeviceGroups
      summary: 'Get device groups for events'
      description: 'Returns the groups associated with the devices of the specified events, enabling you to determine which groups a new planned change must target to cover those events. Set Intersection to true to return only groups common to all event devices; set it to false to return the union of all groups.'
      operationId: GetEventDeviceGroups_Get
      parameters:
        - name: EventIds
          in: query
          description: ' Gets or sets the event ids.'
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Intersection
          in: query
          description: ' Gets or sets a value indicating whether the returned set of groups is the intersection of the event''s device memberships, if true, or the union. If intersection, only the groups of which all devices are a member are returned.'
          schema:
            type: boolean
          x-nullable: false
        - name: DeviceFilter
          in: query
          description: 'Gets or sets the device selection, null implies all devices.'
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: EventFilter
          in: query
          description: 'Gets or sets the event selection, null implies all events.'
          schema:
            $ref: '#/components/schemas/EventFilter'
        - name: StartUtc
          in: query
          description: 'Gets or sets the start of the period to return events for, null implies all.'
          schema:
            type: string
            format: date-time
        - name: EndUtc
          in: query
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          schema:
            type: string
            format: date-time
        - name: TextSearch
          in: query
          description: Gets or sets the text search value.
          schema:
            type: string
        - name: GroupFindMode
          in: query
          description: Gets or sets how the returned group list is built.
          schema:
            enum:
              - GroupFindFromAgents
              - GroupFindFromEvents
            type: string
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Represents the list of groups that the devices associated with the given events are members of.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventDeviceGroupsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - eventDeviceGroups
      summary: 'Get device groups for events'
      description: 'Submits a request to retrieve the groups associated with the devices of the specified events. Provide the EventIds, Intersection flag, and optional device and event filters in the request body.'
      operationId: GetEventDeviceGroups_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetEventDeviceGroups'
        x-bodyName: body
      responses:
        '200':
          description: Represents the list of groups that the devices associated with the given events are members of.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventDeviceGroupsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /setCommentsForEvents:
    get:
      tags:
        - setCommentsForEvents
      summary: Set comments for events
      description: Sets a comment on the events matching the specified filter criteria. Use the GetEvents filter to target specific events and provide the Comment text to attach.
      operationId: SetCommentForEvents_Get
      parameters:
        - name: GetEvents
          in: query
          description: Event filter to specify the events to set the comment for
          schema:
            $ref: '#/components/schemas/GetEvents'
        - name: Comment
          in: query
          description: The comment
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - setCommentsForEvents
      summary: Set comments for events
      description: Submits a request to set a comment on the events matching the specified criteria. Provide the event filter and comment text in the request body.
      operationId: SetCommentForEvents_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetCommentForEvents'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory:
    get:
      tags:
        - inventory
      summary: List inventory items
      description: Returns a paged list of inventory items from the hub. Use the Sort, Skip, Take, and GenericFilters parameters to control ordering and pagination of the results.
      operationId: GetInventory_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInventoryResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: List inventory items
      description: Submits a request to retrieve inventory items from the hub. Provide pagination and filtering options in the request body.
      operationId: GetInventory_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetInventory'
        x-bodyName: body
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInventoryResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentInventoryGrouped:
    get:
      tags:
        - agentInventoryGrouped
      summary: List grouped agent inventory items
      description: Returns a paged list of agent inventory items grouped by inventory item ID, allowing you to see how many agents share each item. Use the DeviceFilter to restrict results to specific agents or groups.
      operationId: GetAgentInventoryItemsGrouped_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentInventoryItemsGroupedResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentInventoryGrouped
      summary: List grouped agent inventory items
      description: Submits a request to retrieve agent inventory items grouped by inventory item ID. Provide the DeviceFilter and pagination options in the request body.
      operationId: GetAgentInventoryItemsGrouped_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentInventoryItemsGrouped'
        x-bodyName: body
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentInventoryItemsGroupedResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /agentInventoryAgentsDetail:
    get:
      tags:
        - agentInventoryAgentsDetail
      summary: List agents by inventory item ID
      description: Returns a paged list of agents that have a specific inventory item, filtered by device filter criteria. Use this endpoint to find which agents have a particular software package or hardware component installed.
      operationId: GetAgentInventoryAgentsDetail_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentInventoryAgentsDetailResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - agentInventoryAgentsDetail
      summary: List agents by inventory item ID
      description: Submits a request to retrieve agents with a specific inventory item. Provide the DeviceFilter and inventory item criteria in the request body.
      operationId: GetAgentInventoryAgentsDetail_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAgentInventoryAgentsDetail'
        x-bodyName: body
      responses:
        '200':
          description: The paging response base.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentInventoryAgentsDetailResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/vulnerabilityOverview:
    get:
      tags:
        - inventory
      summary: Get vulnerability overview by filter
      description: Returns an aggregated vulnerability overview for devices matching the specified device filter, including severity counts and change trends since the given start date. Set ShowIgnored to true to include suppressed CVEs in the statistics.
      operationId: GetVulnerabilityOverviewvulnerabilityOverview_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: StartDateUtc
          in: query
          description: Specifies the Utc start date from which the vulnerability changes are retrieved.
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: ShowIgnored
          in: query
          description: Specifies whether to include excluded/suppressed Cves in the overview statistics.
          schema:
            type: boolean
          x-nullable: false
        - name: GetStatus
          in: query
          description: Get the vulnerability scanner status as well
          schema:
            type: boolean
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetVulnerabilityOverview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerabilityOverviewResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get vulnerability overview by filter
      description: Submits a request to retrieve an aggregated vulnerability overview. Provide the DeviceFilter, start date, and ShowIgnored preference in the request body.
      operationId: GetVulnerabilityOverviewvulnerabilityOverview_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetVulnerabilityOverview'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetVulnerabilityOverview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerabilityOverviewResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/vulnerabilities:
    get:
      tags:
        - inventory
      summary: Get estate vulnerabilities by filter
      description: Returns a paged list of vulnerabilities affecting the devices in the estate that match the specified device and vulnerability filters. Use this endpoint to audit CVE exposure across your environment.
      operationId: GetVulnerabilityvulnerabilities_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetVulnerability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerabilityResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get estate vulnerabilities by filter
      description: Submits a request to retrieve vulnerabilities matching the specified device and vulnerability filters. Provide the filter criteria and pagination options in the request body.
      operationId: GetVulnerabilityvulnerabilities_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetVulnerability'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetVulnerability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerabilityResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/softwareVulnerability:
    get:
      tags:
        - inventory
      summary: Get software vulnerabilities by filter
      description: Returns software vulnerability information for devices matching the specified device filter, showing CVE exposure per software package since the given start date. Use this endpoint to identify vulnerable software across your estate.
      operationId: GetSoftwareVulnerabilitysoftwareVulnerability_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: StartDateUtc
          in: query
          description: Specifies the Utc start date from which the vulnerability changes are retrieved.
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetSoftwareVulnerability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSoftwareVulnerabilityResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get software vulnerabilities by filter
      description: Submits a request to retrieve software vulnerability information for devices matching the specified filter. Provide the DeviceFilter and start date in the request body.
      operationId: GetSoftwareVulnerabilitysoftwareVulnerability_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetSoftwareVulnerability'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetSoftwareVulnerability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSoftwareVulnerabilityResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/update:
    get:
      tags:
        - inventory
      summary: Mark inventory item for update
      description: Marks one or more inventory items as requiring a refresh, prompting agents to re-collect the relevant inventory data on their next polling cycle.
      operationId: MarkInventoryItemsRequiringUpdateupdate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Mark inventory item for update
      description: Submits a request to mark inventory items as requiring an update. Provide the item criteria in the request body.
      operationId: MarkInventoryItemsRequiringUpdateupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MarkInventoryItemsRequiringUpdate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/softwareVulnerabilityDetail:
    get:
      tags:
        - inventory
      summary: Get software vulnerabilities by filter
      description: Returns detailed vulnerability information for the specified software item or CPE name, including associated CVE records and severity scores. Use SoftwareId or CpeName to identify the software package.
      operationId: GetSoftwareVulnerabilityDetailsoftwareVulnerabilityDetail_Get
      parameters:
        - name: SoftwareId
          in: query
          description: Specifies the software item to search for.
          schema:
            type: string
        - name: CpeName
          in: query
          description: Specifies the CPE Name to search for.
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetSoftwareVulnerabilityDetail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSoftwareVulnerabilityDetailResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get software vulnerabilities by filter
      description: Submits a request to retrieve detailed vulnerability information for the specified software item or CPE name. Provide the SoftwareId or CpeName in the request body.
      operationId: GetSoftwareVulnerabilityDetailsoftwareVulnerabilityDetail_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetSoftwareVulnerabilityDetail'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetSoftwareVulnerabilityDetail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSoftwareVulnerabilityDetailResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/deviceVulnerability:
    get:
      tags:
        - inventory
      summary: Get device vulnerabilities by filter
      description: Returns vulnerability information for devices matching the specified device filter, showing the CVEs affecting each device since the given start date. Use this endpoint to assess the vulnerability posture of specific devices or groups.
      operationId: GetDeviceVulnerabilitydeviceVulnerability_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: StartDateUtc
          in: query
          description: Specifies the Utc start date from which the vulnerability changes are retrieved.
          schema:
            type: string
            format: date-time
          x-nullable: false
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetDeviceVulnerability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceVulnerabilityResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get device vulnerabilities by filter
      description: Submits a request to retrieve device vulnerability information. Provide the DeviceFilter and start date in the request body.
      operationId: GetDeviceVulnerabilitydeviceVulnerability_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceVulnerability'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetDeviceVulnerability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceVulnerabilityResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/deviceVulnerabilityDetail:
    get:
      tags:
        - inventory
      summary: Get device vulnerabilities by filter
      description: Returns a detailed list of vulnerabilities for the specified agent device, identified by AgentDeviceId. Use this endpoint to drill into the full CVE exposure for a single device.
      operationId: GetDeviceVulnerabilityDetaildeviceVulnerabilityDetail_Get
      parameters:
        - name: AgentDeviceId
          in: query
          description: Specifies the agents to search for by id or group membership.
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetDeviceVulnerabilityDetail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceVulnerabilityDetailResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get device vulnerabilities by filter
      description: Submits a request to retrieve detailed vulnerability information for the specified device. Provide the AgentDeviceId and pagination options in the request body.
      operationId: GetDeviceVulnerabilityDetaildeviceVulnerabilityDetail_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDeviceVulnerabilityDetail'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetDeviceVulnerabilityDetail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeviceVulnerabilityDetailResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/relatedSoftwareVulnerabilityDetail:
    get:
      tags:
        - inventory
      summary: Get related CVEs for CPE
      description: Returns a list of CVEs that are indirectly related to the specified CPE, such as those affecting previous versions of the same software. Provide a CpeName or InventoryItemId to identify the software package.
      operationId: GetCvesForRelatedCpesrelatedSoftwareVulnerabilityDetail_Get
      parameters:
        - name: CpeName
          in: query
          schema:
            type: string
        - name: InventoryItemId
          in: query
          schema:
            type: string
        - name: MaxItemsToReturn
          in: query
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: ReturnFullCveData
          in: query
          schema:
            type: boolean
          x-nullable: false
        - name: VulnerabilityFilter
          in: query
          schema:
            type: string
      responses:
        '200':
          description: The response object for GetCvesForRelatedCpes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCvesForRelatedCpesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get related CVEs for CPE
      description: Submits a request to retrieve CVEs indirectly related to the specified CPE. Provide the CpeName or InventoryItemId and result limit options in the request body.
      operationId: GetCvesForRelatedCpesrelatedSoftwareVulnerabilityDetail_Post
      parameters:
        - name: CpeName
          in: query
          schema:
            type: string
        - name: InventoryItemId
          in: query
          schema:
            type: string
        - name: MaxItemsToReturn
          in: query
          schema:
            type: integer
            format: int32
          x-nullable: false
        - name: ReturnFullCveData
          in: query
          schema:
            type: boolean
          x-nullable: false
        - name: VulnerabilityFilter
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCvesForRelatedCpes'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetCvesForRelatedCpes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCvesForRelatedCpesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/vulnerableDeviceDetail:
    get:
      tags:
        - inventory
      summary: Get vulnerable devices by CVE
      description: Returns a paged list of devices that are vulnerable to the specified CVE, identified by CveId. Use this endpoint to identify which devices in your estate require remediation for a specific vulnerability.
      operationId: GetVulnerableDeviceDetailvulnerableDeviceDetail_Get
      parameters:
        - name: CveId
          in: query
          description: Specifies the cve to search for vulnerable devices.
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetDeviceVulnerabilityDetail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerableDeviceDetailResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Get vulnerable devices by CVE
      description: Submits a request to retrieve devices affected by the specified CVE. Provide the CveId and pagination options in the request body.
      operationId: GetVulnerableDeviceDetailvulnerableDeviceDetail_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetVulnerableDeviceDetail'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetDeviceVulnerabilityDetail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerableDeviceDetailResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /inventory/ignoreCves:
    get:
      tags:
        - inventory
      summary: Ignore CVEs until given date
      description: Suppresses one or more CVEs until the specified date, excluding them from vulnerability counts and reports. Use this endpoint to acknowledge accepted risks or temporarily dismiss false positives.
      operationId: IgnoreCveItemignoreCves_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - inventory
      summary: Ignore CVEs until given date
      description: Submits a request to suppress one or more CVEs until the specified date. Provide the CVE IDs and suppression expiry date in the request body.
      operationId: IgnoreCveItemignoreCves_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/IgnoreCveItem'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /vulnerabilityscanstatus:
    get:
      tags:
        - vulnerabilityscanstatus
      summary: Get vulnerability scan status
      description: Returns the current status of the software vulnerability scanner, including when each device was last scanned and whether any scans are pending. Use this endpoint to monitor scan coverage across your estate.
      operationId: GetVulnerabilityScanStatus_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response object for GetVulnerabilityStatus
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerabilityScanStatusResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - vulnerabilityscanstatus
      summary: Get vulnerability scan status
      description: Submits a request to retrieve the software vulnerability scan status. Provide pagination and filter options in the request body.
      operationId: GetVulnerabilityScanStatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetVulnerabilityScanStatus'
        x-bodyName: body
      responses:
        '200':
          description: The response object for GetVulnerabilityStatus
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVulnerabilityScanStatusResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /log4netConfigs/all:
    get:
      tags:
        - log4netConfigs
      summary: List log4net logger configurations
      description: Returns all log4net logger configurations currently active on the hub, including logger names and log levels. Use this endpoint to review diagnostic logging settings.
      operationId: GetAllLog4NetConfigItemsall_Get
      responses:
        '200':
          description: Response for getting log4net configuration items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllLog4NetConfigItemsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - log4netConfigs
      summary: List log4net logger configurations
      description: Submits a request to retrieve all log4net logger configurations. Returns the same data as the GET variant.
      operationId: GetAllLog4NetConfigItemsall_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllLog4NetConfigItems'
        x-bodyName: body
      responses:
        '200':
          description: Response for getting log4net configuration items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllLog4NetConfigItemsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /log4netConfigs/add:
    post:
      tags:
        - log4netConfigs
      operationId: AddLog4NetConfigItemadd_Post
      parameters:
        - name: LoggerName
          in: query
          schema:
            type: string
        - name: LogLevel
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddLog4NetConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddLog4NetConfigItemResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /log4netConfigs/update:
    post:
      tags:
        - log4netConfigs
      operationId: UpdateLog4NetConfigItemupdate_Post
      parameters:
        - name: Id
          in: query
          schema:
            type: string
        - name: LoggerName
          in: query
          schema:
            type: string
        - name: LogLevel
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLog4NetConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateLog4NetConfigItemResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /log4netConfigs/delete:
    post:
      tags:
        - log4netConfigs
      operationId: DeleteLog4NetConfigItemdelete_Post
      parameters:
        - name: Id
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteLog4NetConfigItem'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteLog4NetConfigItemResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /log4netConfigs:
    get:
      tags:
        - log4netConfigs
      summary: List log4net logger configurations with pagination support.
      description: Returns a paged list of log4net logger configurations with support for sorting and filtering. Use the Skip and Take parameters to paginate through the results.
      operationId: GetLog4NetConfigItems_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response for getting log4net configuration items with pagination support
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLog4NetConfigItemsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - log4netConfigs
      summary: List log4net logger configurations with pagination support.
      description: Submits a request to retrieve log4net logger configurations with pagination support. Provide pagination and filter options in the request body.
      operationId: GetLog4NetConfigItems_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetLog4NetConfigItems'
        x-bodyName: body
      responses:
        '200':
          description: Response for getting log4net configuration items with pagination support
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLog4NetConfigItemsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reportDescription:
    get:
      tags:
        - reportDescription
      summary: Get report description
      description: Returns a human-readable description for the specified report, including its purpose and what it covers. Use this endpoint to display report metadata to users before they run or view a report.
      operationId: GetReportDescription_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportDescription
      summary: Get report description
      description: Submits a request to retrieve the description for the specified report. Provide the report identifier in the request body.
      operationId: GetReportDescription_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetReportDescription'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /reportDifferences:
    get:
      tags:
        - reportDifferences
      summary: Differences between two report runs
      description: Returns the list of differences between two consecutive report runs, showing which items changed between the two executions. Use this endpoint to analyse what changed between compliance or baseline scans.
      operationId: GetReportChangeDetails_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<ReportChangeDetail>
                type: array
                items:
                  $ref: '#/components/schemas/ReportChangeDetail'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportDifferences
      summary: Differences between two report runs
      description: Submits a request to retrieve the differences between two report runs. Provide the report run identifiers in the request body.
      operationId: GetReportChangeDetails_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetReportChangeDetails'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<ReportChangeDetail>
                type: array
                items:
                  $ref: '#/components/schemas/ReportChangeDetail'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/reportData/{reportId}':
    get:
      tags:
        - reportData
      summary: 'Get report results'
      description: 'Returns a paged list of report results for the specified report, identified by reportId. Use the Sort, Skip, Take, and GenericFilters parameters to control the order and scope of the returned results.'
      operationId: GetReportDatareportId_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: A returned list of report results for displaying in a grid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReportDataResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - reportData
      summary: 'Get report results'
      description: 'Submits a request to retrieve report results for the specified report. Provide the reportId and pagination options in the request body.'
      operationId: GetReportDatareportId_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetReportData'
        x-bodyName: body
      responses:
        '200':
          description: A returned list of report results for displaying in a grid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReportDataResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /availableReports:
    get:
      tags:
        - availableReports
      summary: 'List available reports'
      description: 'Returns a list of available reports for the specified group or agent, optionally filtered by date range. Use this endpoint to discover which reports have been run and are available to view.'
      operationId: GetAvailableReports_Get
      parameters:
        - name: DeviceFilter
          in: query
          description: Specifies the devices for which to retrieve the available reports.
          schema:
            $ref: '#/components/schemas/DeviceFilter'
        - name: StartDateUtc
          in: query
          description: Specifies a start date to search from.
          schema:
            type: string
            format: date-time
        - name: EndDateUtc
          in: query
          description: Specifies a start date to search up to.
          schema:
            type: string
            format: date-time
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Describes the available reports for the specified devices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableReportsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - availableReports
      summary: 'List available reports'
      description: 'Submits a request to retrieve available reports for the specified group or agent. Provide the DeviceFilter and optional date range in the request body.'
      operationId: GetAvailableReports_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetAvailableReports'
        x-bodyName: body
      responses:
        '200':
          description: Describes the available reports for the specified devices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableReportsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userDashboard:
    get:
      tags:
        - userDashboard
      summary: Gets the user dashboard widget layout.
      description: Returns the saved dashboard widget layout for the authenticated user, identified by dashboard ID. Use this endpoint to restore a user's previously configured dashboard arrangement.
      operationId: GetUserDashboard_Get
      parameters:
        - name: Id
          in: query
          description: The identifier of the dashboard to get.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Details of a specific dashboard layout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardLayout'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userDashboard
      summary: Gets the user dashboard widget layout.
      description: Submits a request to retrieve the user's dashboard widget layout by ID. Provide the dashboard Id in the request body.
      operationId: GetUserDashboard_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUserDashboard'
        x-bodyName: body
      responses:
        '200':
          description: Details of a specific dashboard layout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardLayout'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userDashboard/named:
    get:
      tags:
        - userDashboard
      summary: Get dashboard widget layout by name
      description: Returns the saved dashboard widget layout for the authenticated user, looked up by dashboard name. Use this endpoint when the dashboard name is known but the ID is not.
      operationId: GetUserDashboardByNamenamed_Get
      parameters:
        - name: Name
          in: query
          description: The name of the dashboard to get.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Details of a specific dashboard layout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardLayout'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userDashboard
      summary: Get dashboard widget layout by name
      description: Submits a request to retrieve the user's dashboard widget layout by name. Provide the dashboard Name in the request body.
      operationId: GetUserDashboardByNamenamed_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUserDashboardByName'
        x-bodyName: body
      responses:
        '200':
          description: Details of a specific dashboard layout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardLayout'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userDashboard/save:
    get:
      tags:
        - userDashboard
      summary: Stores the user dashboard widget layout.
      description: Saves the user's dashboard widget layout, including the dashboard name and widget positions. If an ID is supplied the existing layout is updated; otherwise a new layout is created. Returns the saved layout details.
      operationId: SaveUserDashboardsave_Get
      parameters:
        - name: Id
          in: query
          description: 'The identifier of the dashboard to get. If not supplied a new record is created, else existing is updated.'
          schema:
            type: string
        - name: Name
          in: query
          description: The name of the dashboard.
          schema:
            type: string
        - name: Widgets
          in: query
          description: The widgets.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/DashboardWidgetSpec'
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to the SaveUserDashboard request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveUserDashboardResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userDashboard
      summary: Stores the user dashboard widget layout.
      description: Submits a request to save the user's dashboard widget layout. Provide the dashboard ID, name, and widget list in the request body.
      operationId: SaveUserDashboardsave_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SaveUserDashboard'
        x-bodyName: body
      responses:
        '200':
          description: Response to the SaveUserDashboard request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveUserDashboardResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userDashboard/delete:
    get:
      tags:
        - userDashboard
      summary: Deletes the user dashboard widget layout.
      description: Deletes the saved dashboard widget layout identified by the given ID. This removes the layout permanently and cannot be undone.
      operationId: DeleteUserDashboarddelete_Get
      parameters:
        - name: Id
          in: query
          description: The identifier of the dashboard to delete.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - userDashboard
      summary: Deletes the user dashboard widget layout.
      description: Submits a request to delete the specified dashboard widget layout. Provide the dashboard Id in the request body.
      operationId: DeleteUserDashboarddelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteUserDashboard'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userSettings:
    get:
      tags:
        - userSettings
      summary: Gets the user settings and selections.
      description: Returns the saved settings and preferences for the authenticated user, including default dashboard, theme, and welcome popup preferences.
      operationId: GetUserSettings_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to the GetUserSettings request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserSettingsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userSettings
      summary: Gets the user settings and selections.
      description: Submits a request to retrieve the authenticated user's settings and preferences.
      operationId: GetUserSettings_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUserSettings'
        x-bodyName: body
      responses:
        '200':
          description: Response to the GetUserSettings request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserSettingsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userSettings/save:
    get:
      tags:
        - userSettings
      summary: Stores the user settings and selections.
      description: Saves the authenticated user's settings and preferences, including the default dashboard ID, theme, and whether to skip the welcome wizard on next login.
      operationId: SaveUserSettingssave_Get
      parameters:
        - name: DashboardId
          in: query
          description: The user's default dashboard identifier.
          schema:
            type: string
        - name: ThemeId
          in: query
          description: The user's default theme identifier.
          schema:
            type: string
        - name: HideWelcomePopup
          in: query
          description: Indicates whether the user has opted to skip the welcome wizard.
          schema:
            type: boolean
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to the GetUserSettings request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserSettingsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userSettings
      summary: Stores the user settings and selections.
      description: Submits a request to save the authenticated user's settings and preferences. Provide the DashboardId, ThemeId, and HideWelcomePopup flag in the request body.
      operationId: SaveUserSettingssave_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SaveUserSettings'
        x-bodyName: body
      responses:
        '200':
          description: Response to the GetUserSettings request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserSettingsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /dashboard/widgetTemplates:
    get:
      tags:
        - dashboard
      summary: Gets the dashboard widgets.
      description: Returns the available dashboard widget templates that users can add to their dashboard layouts. Use this endpoint to populate the widget picker in the user interface.
      operationId: GetDashboardWidgetswidgetTemplates_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Response to the GetDashboardWidgets request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDashboardWidgetsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - dashboard
      summary: Gets the dashboard widgets.
      description: Submits a request to retrieve the available dashboard widget templates. Returns the same data as the GET variant.
      operationId: GetDashboardWidgetswidgetTemplates_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetDashboardWidgets'
        x-bodyName: body
      responses:
        '200':
          description: Response to the GetDashboardWidgets request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDashboardWidgetsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/stats/plannedChanges/hours/{PeriodHours}':
    get:
      tags:
        - stats
      summary: Stats Service
      description: Returns planned change records for the specified time period in hours. Use the CountOnly, Skip, Take, Sort, and GenericFilters parameters to control pagination and filtering of results.
      operationId: GetCurrentPlannedChangesplannedChangeshoursPeriodHours_Get
      parameters:
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentPlannedChangesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: Stats Service
      description: Submits a request to retrieve planned change records for the specified time period in hours. Use the request body to supply pagination, sorting, and filtering parameters.
      operationId: GetCurrentPlannedChangesplannedChangeshoursPeriodHours_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCurrentPlannedChanges'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentPlannedChangesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/stats/compliancedata/start/{Start}':
    get:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Returns compliance data report summaries grouped by report, starting from the specified date. Results can represent either individual device data or a group average, depending on the ReportItemId supplied.'
      operationId: GetComplianceDatacompliancedatastartStart_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Submits a request to retrieve compliance data report summaries starting from the specified date. Results can represent either individual device data or a group average, depending on the ReportItemId supplied in the request body.'
      operationId: GetComplianceDatacompliancedatastartStart_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetComplianceData'
        x-bodyName: body
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/stats/compliancedata/end/{End}':
    get:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Returns compliance data report summaries grouped by report, up to the specified end date. Results can represent either individual device data or a group average, depending on the ReportItemId supplied.'
      operationId: GetComplianceDatacompliancedataendEnd_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Submits a request to retrieve compliance data report summaries up to the specified end date. Results can represent either individual device data or a group average, depending on the ReportItemId supplied in the request body.'
      operationId: GetComplianceDatacompliancedataendEnd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetComplianceData'
        x-bodyName: body
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/stats/compliancedata/start/{Start}/end/{End}':
    get:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Returns compliance data report summaries grouped by report for the specified date range. Results can represent either individual device data or a group average, depending on the ReportItemId supplied.'
      operationId: GetComplianceDatacompliancedatastartStartendEnd_Get
      parameters:
        - name: ReportItemId
          in: query
          description: Specifies the scheduled report item id.
          required: true
          schema:
            type: string
        - name: CountOnly
          in: query
          description: A value indicating whether to return a count of results only.
          schema:
            type: boolean
          x-nullable: false
        - name: Sort
          in: query
          description: 'The dictionary of sort fields and sort directions for the query. For example a key value pair might be "ColumnName", "ASC".'
          schema:
            title: 'Dictionary<String,String>'
            type: object
            additionalProperties:
              type: string
            description: 'Dictionary<String,String>'
        - name: Skip
          in: query
          description: The offset into the result set to start at.
          schema:
            type: integer
            format: int32
        - name: Take
          in: query
          description: The limit number of rows to return.
          schema:
            type: integer
            format: int32
        - name: GenericFilters
          in: query
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
          style: form
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PagingQueryFilter'
        - name: GenericFilterLogic
          in: query
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: 'Get device or group report summaries'
      description: 'Submits a request to retrieve compliance data report summaries for the specified date range. Results can represent either individual device data or a group average, depending on the ReportItemId supplied in the request body.'
      operationId: GetComplianceDatacompliancedatastartStartendEnd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetComplianceData'
        x-bodyName: body
      responses:
        '200':
          description: 'Compliance data by report, for either individual devices, or as group average.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComplianceDataResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /stats/events/invalidate:
    get:
      tags:
        - stats
      summary: Invalidate group event count stats
      description: Invalidates the cached event count statistics for a group for a specific set of time periods. Use this endpoint to force the hub to recalculate event count stats for the target group.
      operationId: InvalidateEventCountseventsinvalidate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - stats
      summary: Invalidate group event count stats
      description: Submits a request to invalidate the cached event count statistics for a group for a specific set of time periods. Supply the group and period details in the request body.
      operationId: InvalidateEventCountseventsinvalidate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/InvalidateEventCounts'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testSmtpConnection:
    get:
      tags:
        - testSmtpConnection
      summary: Tests the specified SMTP details.
      description: Tests the specified SMTP server connection details and returns a status indicating whether the connection was successful. Use this endpoint to validate SMTP configuration before saving.
      operationId: TestSmtpConnection_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testSmtpConnection
      summary: Tests the specified SMTP details.
      description: Submits SMTP connection details in the request body and tests whether the server can be reached. Returns a status response indicating the result of the connection attempt.
      operationId: TestSmtpConnection_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestSmtpConnection'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testFastConnection:
    get:
      tags:
        - testFastConnection
      summary: Test Fast service connection
      description: Tests whether the configured Fast service endpoint can be contacted and returns a status response. Use this endpoint to verify Fast service connectivity before relying on it for operations.
      operationId: TestFastConnection_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testFastConnection
      summary: Test Fast service connection
      description: Submits a request to test whether the configured Fast service endpoint can be contacted. Returns a status response indicating whether the connection attempt succeeded.
      operationId: TestFastConnection_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestFastConnection'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testFastCustomerConnection:
    get:
      tags:
        - testFastCustomerConnection
      summary: Test Fast service with credentials
      description: Tests whether the configured Fast service can be contacted using customer-specific credentials. Returns a status response indicating whether the authenticated connection attempt succeeded.
      operationId: TestFastCustomerConnection_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testFastCustomerConnection
      summary: Test Fast service with credentials
      description: Submits a request to test whether the configured Fast service can be contacted using customer-specific credentials. Returns a status response indicating whether the authenticated connection attempt succeeded.
      operationId: TestFastCustomerConnection_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestFastCustomerConnection'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testSyslogConnection:
    get:
      tags:
        - testSyslogConnection
      summary: Tests the specified SysLog details.
      description: Tests the specified Syslog server connection details and returns a status indicating whether the connection was successful. Use this endpoint to validate Syslog configuration before saving.
      operationId: TestSyslogConnection_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testSyslogConnection
      summary: Tests the specified SysLog details.
      description: Submits Syslog connection details in the request body and tests whether the server can be reached. Returns a status response indicating the result of the connection attempt.
      operationId: TestSyslogConnection_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestSyslogConnection'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testServiceNowConnection:
    get:
      tags:
        - testServiceNowConnection
      summary: Tests the specified ServiceNow details.
      description: Tests the specified ServiceNow integration connection details and returns a status indicating whether the connection was successful. Use this endpoint to validate ServiceNow configuration before saving.
      operationId: TestServiceNowConnection_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testServiceNowConnection
      summary: Tests the specified ServiceNow details.
      description: Submits ServiceNow integration connection details in the request body and tests whether the endpoint can be reached. Returns a status response indicating the result of the connection attempt.
      operationId: TestServiceNowConnection_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestServiceNowConnection'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /testAuditorConnection:
    get:
      tags:
        - testAuditorConnection
      summary: Tests the specified Auditor details.
      description: Tests the specified Auditor integration connection details and returns a status indicating whether the connection was successful. Use this endpoint to validate Auditor configuration before saving.
      operationId: TestAuditorConnection_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    post:
      tags:
        - testAuditorConnection
      summary: Tests the specified Auditor details.
      description: Submits Auditor integration connection details in the request body and tests whether the endpoint can be reached. Returns a status response indicating the result of the connection attempt.
      operationId: TestAuditorConnection_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestAuditorConnection'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseStatus'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /pipelineNodes:
    get:
      tags:
        - pipelineNodes
      summary: Lists pipeline node names.
      description: Returns a list of all pipeline node names registered in the system. Use this endpoint to discover available pipeline nodes for configuration or routing purposes.
      operationId: GetPipelineNodeList_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - pipelineNodes
      summary: Lists pipeline node names.
      description: Submits a request to retrieve all pipeline node names registered in the system. Returns a list of node name strings.
      operationId: GetPipelineNodeList_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPipelineNodeList'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/add/:
    get:
      tags:
        - users
      summary: Add a user.
      description: Creates a new user account in the system and returns the new user's details. Supply the required user properties as query parameters.
      operationId: AddUseradd_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Add a user.
      description: Creates a new user account in the system and returns the new user's details. Supply the required user properties in the request body.
      operationId: AddUseradd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddUser'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/twoFactorStatus:
    post:
      tags:
        - users
      summary: Query user two-factor status
      description: Queries the two-factor authentication (2FA) status for a user as a pre-authentication step. This call counts as a sign-in attempt, so repeated failures may trigger account lockout policies.
      operationId: GetUserTwoFactorStatustwoFactorStatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUserTwoFactorStatus'
        x-bodyName: body
      responses:
        '200':
          description: Response to the GetUserTwoFactorStatus request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserTwoFactorStatusResponse'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/elevateTwoFactorStatus:
    post:
      tags:
        - users
      summary: Elevate user two-factor status
      description: Elevates the two-factor authentication (2FA) status for a user after they have already authenticated. This post-authentication step counts as a sign-in attempt and returns an updated authentication response on success.
      operationId: ElevateUserTwoFactorStatuselevateTwoFactorStatus_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ElevateUserTwoFactorStatus'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/validatePassword/:
    get:
      tags:
        - users
      summary: Validates a user password.
      description: Validates the supplied password for the specified user. Returns 204 No Content on success; use this endpoint to verify password correctness without performing a full authentication.
      operationId: ValidateUserPasswordvalidatePassword_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
    post:
      tags:
        - users
      summary: Validates a user password.
      description: Submits a user password in the request body for validation. Returns 204 No Content on success, indicating the password is correct for the specified user.
      operationId: ValidateUserPasswordvalidatePassword_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ValidateUserPassword'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/delete/:
    get:
      tags:
        - users
      summary: Delete a user.
      description: Permanently deletes the specified user account from the system. Returns 204 No Content on success. This action cannot be undone.
      operationId: DeleteUserdelete_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Delete a user.
      description: Submits a request to permanently delete the specified user account from the system. Returns 204 No Content on success. This action cannot be undone.
      operationId: DeleteUserdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteUser'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/users/{UserName}':
    get:
      tags:
        - users
      summary: Get a user's details.
      description: Returns the full details for the specified user account. Use this endpoint to retrieve profile and configuration information for a given username.
      operationId: GetUserUserName_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Get a user's details.
      description: Submits a request to retrieve the full details for the specified user account. Returns profile and configuration information for the given username.
      operationId: GetUserUserName_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUser'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/update/:
    get:
      tags:
        - users
      summary: Update stored user details
      description: Updates the stored details for the specified user account. UserManage permissions are required to modify any user account other than the caller's own.
      operationId: UpdateUserupdate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Update stored user details
      description: Submits updated details for the specified user account in the request body. UserManage permissions are required to modify any user account other than the caller's own.
      operationId: UpdateUserupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateUser'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/updatePassword/:
    get:
      tags:
        - users
      summary: Update user password
      description: Updates the stored password for the specified user. The CurrentPassword field must contain the password of the user making the request. UserManage permissions are required to change the password of any user other than the caller.
      operationId: UpdateUserPasswordupdatePassword_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Update user password
      description: Submits a password update request in the request body. The CurrentPassword field must contain the password of the user making the request. UserManage permissions are required to change the password of any user other than the caller.
      operationId: UpdateUserPasswordupdatePassword_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateUserPassword'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/reset/:
    get:
      tags:
        - users
      summary: Reset user
      description: Resets the specified user account to a default state. UserManage permissions are required to reset any user account other than the caller's own.
      operationId: ResetUserreset_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Reset user
      description: Submits a request to reset the specified user account to a default state. UserManage permissions are required to reset any user account other than the caller's own.
      operationId: ResetUserreset_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResetUser'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/resetPassword/:
    get:
      tags:
        - users
      summary: Reset user password
      description: Resets the password for the specified user and returns the new temporary password in the response. This operation is intended for administrators managing other users and requires UserManage permissions.
      operationId: ResetUserPasswordresetPassword_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResetUserPasswordResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Reset user password
      description: Submits a request to reset the password for the specified user and returns the new temporary password in the response. This operation is intended for administrators managing other users and requires UserManage permissions.
      operationId: ResetUserPasswordresetPassword_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResetUserPassword'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResetUserPasswordResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/previewResetPassword/:
    post:
      tags:
        - users
      summary: Generate preview reset password
      description: Generates a preview of the reset password without applying the change. Returns a PreviewToken that you can pass to the resetPassword endpoint to commit the password reset when ready.
      operationId: PreviewResetUserPasswordpreviewResetPassword_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PreviewResetUserPassword'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewResetUserPasswordResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/reset2fa/:
    get:
      tags:
        - users
      summary: Reset user 2FA
      description: Resets the two-factor authentication (2FA) configuration for the specified user, requiring them to re-enroll. UserManage permissions are required to reset 2FA for any user other than the caller.
      operationId: ResetUser2fareset2fa_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Reset user 2FA
      description: Submits a request to reset the two-factor authentication (2FA) configuration for the specified user. UserManage permissions are required to reset 2FA for any user other than the caller.
      operationId: ResetUser2fareset2fa_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResetUser2fa'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /exportUserNotifications/:
    get:
      tags:
        - exportUserNotifications
      summary: Export user notifications
      description: Exports a list of users along with the notification configurations assigned to each user. Use this endpoint to audit or back up notification settings across the system.
      operationId: ExportUserNotifications_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    post:
      tags:
        - exportUserNotifications
      summary: Export user notifications
      description: Submits a request to export users and their configured notification settings. Returns the export data in the response body.
      operationId: ExportUserNotifications_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExportUserNotifications'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /timezones:
    get:
      tags:
        - timezones
      summary: List time zone names
      description: Returns a list of all supported time zone names and their details. Use this endpoint to populate time zone selection options in your application.
      operationId: GetTimeZoneIds_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<TimeZoneDetail>
                type: array
                items:
                  $ref: '#/components/schemas/TimeZoneDetail'
      security:
        - Bearer: [ ]
    post:
      tags:
        - timezones
      summary: List time zone names
      description: Submits a request to retrieve all supported time zone names and their details. Returns a list of TimeZoneDetail objects.
      operationId: GetTimeZoneIds_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetTimeZoneIds'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<TimeZoneDetail>
                type: array
                items:
                  $ref: '#/components/schemas/TimeZoneDetail'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userHasChangedPassword:
    get:
      tags:
        - userHasChangedPassword
      summary: Check if user changed password
      description: Returns a boolean indicating whether the current user has changed their password from any system-assigned value. Use this endpoint to enforce first-login password change policies.
      operationId: UserHasChangedPassword_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    post:
      tags:
        - userHasChangedPassword
      summary: Check if user changed password
      description: Submits a request to check whether the current user has changed their password from any system-assigned value. Returns a boolean result.
      operationId: UserHasChangedPassword_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserHasChangedPassword'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupAlerts/add:
    get:
      tags:
        - groupAlerts
      summary: Add group alert to user
      description: Adds a group alert notification to the specified user and returns the updated user details. Use this endpoint to configure which group change events a user receives alerts for.
      operationId: AddGroupAlertToUseradd_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupAlerts
      summary: Add group alert to user
      description: Submits a request to add a group alert notification to the specified user. Returns the updated user details on success.
      operationId: AddGroupAlertToUseradd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddGroupAlertToUser'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupAlerts/delete:
    get:
      tags:
        - groupAlerts
      summary: Remove group notification from user
      description: Removes the specified group alert notification from a user. Provide the UserName and the alert Id to identify which notification to remove.
      operationId: DeleteGroupAlertFromUserdelete_Get
      parameters:
        - name: UserName
          in: query
          description: Specifies the user name to delete group alerts / notifications for.
          schema:
            type: string
        - name: Id
          in: query
          description: Specifies the specific alert / notification to remove.
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupAlerts
      summary: Remove group notification from user
      description: Submits a request to remove the specified group alert notification from a user. Provide the UserName and alert Id in the request body to identify which notification to remove.
      operationId: DeleteGroupAlertFromUserdelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteGroupAlertFromUser'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupAlerts/update:
    get:
      tags:
        - groupAlerts
      summary: Update group notification for user
      description: Updates the settings for an existing group alert notification assigned to a user. Returns 204 No Content on success.
      operationId: UpdateGroupAlertForUserupdate_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupAlerts
      summary: Update group notification for user
      description: Submits updated settings for an existing group alert notification assigned to a user. Returns 204 No Content on success.
      operationId: UpdateGroupAlertForUserupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateGroupAlertForUser'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /groupAlerts:
    get:
      tags:
        - groupAlerts
      summary: Get notifications for group
      description: Returns all configured alert notifications for the specified group. Use this endpoint to review which users and notification channels are set up for a group.
      operationId: GetGroupAlertsForGroup_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GroupAlert>
                type: array
                items:
                  $ref: '#/components/schemas/GroupAlert'
      security:
        - Bearer: [ ]
    post:
      tags:
        - groupAlerts
      summary: Get notifications for group
      description: Submits a request to retrieve all configured alert notifications for the specified group. Returns a list of GroupAlert objects.
      operationId: GetGroupAlertsForGroup_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetGroupAlertsForGroup'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<GroupAlert>
                type: array
                items:
                  $ref: '#/components/schemas/GroupAlert'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /users/:
    get:
      tags:
        - users
      summary: Get a list of user names.
      description: Returns a list of all user accounts in the system, including their details. Use this endpoint to enumerate users for administrative or reporting purposes.
      operationId: GetUserList_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<UserDetails>
                type: array
                items:
                  $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    post:
      tags:
        - users
      summary: Get a list of user names.
      description: Submits a request to retrieve all user accounts and their details. Returns a list of UserDetails objects.
      operationId: GetUserList_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUserList'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<UserDetails>
                type: array
                items:
                  $ref: '#/components/schemas/UserDetails'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /resetAdminPassword:
    get:
      tags:
        - resetAdminPassword
      summary: 'Reset admin account password'
      description: 'Resets the admin account password and returns a new temporary password in the response. This endpoint can only be called from the local hub console and is intended for emergency account recovery.'
      operationId: ResetAdminPassword_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    post:
      tags:
        - resetAdminPassword
      summary: 'Reset admin account password'
      description: 'Submits a request to reset the admin account password and returns a new temporary password in the response. This endpoint can only be called from the local hub console and is intended for emergency account recovery.'
      operationId: ResetAdminPassword_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResetAdminPassword'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/resetAdminPassword/{AdminName}':
    get:
      tags:
        - resetAdminPassword
      summary: 'Reset admin account password'
      description: 'Resets the password for the specified admin account by name and returns a new temporary password in the response. This endpoint can only be called from the local hub console.'
      operationId: ResetAdminPasswordAdminName_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    post:
      tags:
        - resetAdminPassword
      summary: 'Reset admin account password'
      description: 'Submits a request to reset the password for the specified admin account by name. Returns a new temporary password in the response. This endpoint can only be called from the local hub console.'
      operationId: ResetAdminPasswordAdminName_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResetAdminPassword'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/resetAdminPassword/{OrganizationId}/{AdminName}':
    get:
      tags:
        - resetAdminPassword
      summary: 'Reset admin account password'
      description: 'Resets the password for the specified admin account within the given organization and returns a new temporary password in the response. This endpoint can only be called from the local hub console.'
      operationId: ResetAdminPasswordOrganizationIdAdminName_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    post:
      tags:
        - resetAdminPassword
      summary: 'Reset admin account password'
      description: 'Submits a request to reset the password for the specified admin account within the given organization. Returns a new temporary password in the response. This endpoint can only be called from the local hub console.'
      operationId: ResetAdminPasswordOrganizationIdAdminName_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResetAdminPassword'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRoles:
    get:
      tags:
        - userRoles
      summary: List user roles
      description: Returns a list of all user roles defined in the system, including built-in and custom roles. Use this endpoint to enumerate available roles for assignment or display.
      operationId: GetUserRoles_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserRolesResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRoles
      summary: List user roles
      description: Submits a request to retrieve all user roles defined in the system. Returns a GetUserRolesResponse containing the available roles.
      operationId: GetUserRoles_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetUserRoles'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserRolesResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /permissions/:
    get:
      tags:
        - permissions
      summary: List permission names
      description: Returns a list of all permission names defined in the system. Use this endpoint to discover available permissions when creating or updating user roles.
      operationId: GetPermissions_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    post:
      tags:
        - permissions
      summary: List permission names
      description: Submits a request to retrieve all permission names defined in the system. Returns an array of permission name strings.
      operationId: GetPermissions_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetPermissions'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRoles/add:
    get:
      tags:
        - userRoles
      summary: Adds a custom user role
      description: Creates a new custom user role with the specified name, display name, permissions, and read-only flag. Returns the created role details. The Name defaults to DisplayName if not supplied.
      operationId: AddUserRoleadd_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the unique internal name for the role. If this is not supplied the DisplayName is used.
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the display name for the role.
          required: true
          schema:
            type: string
        - name: ExternalName
          in: query
          description: Specifies the role name in an external identity provider that corresponds to this role.
          schema:
            type: string
        - name: Permissions
          in: query
          description: Specifies the list of names of permissions associated with the role.
          style: form
          schema:
            type: array
            items:
              type: string
        - name: ReadOnly
          in: query
          description: 'Specifies whether the role is read only, or can be edited.'
          required: true
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddUserRoleResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRoles
      summary: Adds a custom user role
      description: Submits a request to create a new custom user role with the specified properties. Returns the created role details on success.
      operationId: AddUserRoleadd_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddUserRole'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddUserRoleResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRoles/update:
    get:
      tags:
        - userRoles
      summary: Update a user role
      description: Updates the display name, external name, and associated permissions for the specified user role. Identify the role by its internal Name and supply the updated fields as query parameters.
      operationId: UpdateUserRoleupdate_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the unique internal name for the role.
          required: true
          schema:
            type: string
        - name: DisplayName
          in: query
          description: Specifies the display name for the role.
          required: true
          schema:
            type: string
        - name: ExternalName
          in: query
          description: Specifies the role name in an external identity provider that corresponds to this role.
          schema:
            type: string
        - name: Permissions
          in: query
          description: Specifies the list of names of permissions associated with the role.
          required: true
          style: form
          schema:
            type: array
            items:
              type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateUserRoleResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRoles
      summary: Update a user role
      description: Submits updated properties for the specified user role in the request body. Returns the updated role details on success.
      operationId: UpdateUserRoleupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateUserRole'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateUserRoleResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRoles/clone:
    get:
      tags:
        - userRoles
      summary: Clone an existing user role.
      description: Creates a copy of an existing user role with a new name, preserving all permissions from the source role. Returns the cloned role details on success.
      operationId: CloneUserRoleclone_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRole'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRoles
      summary: Clone an existing user role.
      description: Submits a request to create a copy of an existing user role, preserving all permissions from the source role. Returns the cloned role details on success.
      operationId: CloneUserRoleclone_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CloneUserRole'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRole'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRoles/delete:
    get:
      tags:
        - userRoles
      summary: Delete a user role.
      description: Permanently deletes the user role identified by its internal name. Returns 204 No Content on success. Built-in roles cannot be deleted.
      operationId: DeleteUserRoledelete_Get
      parameters:
        - name: Name
          in: query
          description: Specifies the internal name of the role to delete.
          required: true
          schema:
            type: string
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRoles
      summary: Delete a user role.
      description: Submits a request to permanently delete the user role identified by its internal name. Returns 204 No Content on success.
      operationId: DeleteUserRoledelete_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteUserRole'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /licenseInfo:
    get:
      tags:
        - licenseInfo
      summary: Get organization license info
      description: Returns the current license information for the organization, including license type, expiry, and entitlement details. Use this endpoint to check the active license status.
      operationId: GetLicenseInfo_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The response to a request to get an Organization's license info.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLicenseInfoResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - licenseInfo
      summary: Get organization license info
      description: Submits a request to retrieve the current license information for the organization. Returns a GetLicenseInfoResponse containing license type, expiry, and entitlement details.
      operationId: GetLicenseInfo_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetLicenseInfo'
        x-bodyName: body
      responses:
        '200':
          description: The response to a request to get an Organization's license info.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLicenseInfoResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /organization/update:
    get:
      tags:
        - organization
      summary: 'Update organization license'
      description: 'Updates the organization configuration, primarily used to apply a new license key. Optionally set AllowInvalidLicense to true to permit applying a license that would otherwise fail validation.'
      operationId: UpdateOrganizationupdate_Get
      parameters:
        - name: License
          in: query
          description: Specifies the license.
          schema:
            type: string
        - name: AllowInvalidLicense
          in: query
          description: Specifies a value indicating whether to allow an invalid license in the License.
          schema:
            type: boolean
          x-nullable: false
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    post:
      tags:
        - organization
      summary: 'Update organization license'
      description: 'Submits a request to update the organization configuration, primarily used to apply a new license key. Supply the License and optional AllowInvalidLicense fields in the request body.'
      operationId: UpdateOrganizationupdate_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateOrganization'
        x-bodyName: body
      responses:
        '204':
          description: No Content
          content:
            application/json: { }
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRolesPermisions/check:
    get:
      tags:
        - userRolesPermisions
      summary: 'Check user roles and permissions'
      description: 'Returns a boolean indicating whether the caller, or the named user if supplied, holds the specified roles and permissions. Use this endpoint to perform authorization checks before granting access to operations.'
      operationId: HasRoleOrPermissioncheck_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRolesPermisions
      summary: 'Check user roles and permissions'
      description: 'Submits a request to check whether the caller, or the named user if supplied, holds the specified roles and permissions. Returns a boolean result.'
      operationId: HasRoleOrPermissioncheck_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HasRoleOrPermission'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRolesPermissions/check:
    get:
      tags:
        - userRolesPermissions
      summary: 'Check user roles and permissions'
      description: 'Returns a boolean indicating whether the caller, or the named user if supplied, holds the specified roles and permissions. Use this endpoint to perform authorization checks before granting access to operations.'
      operationId: HasRoleOrPermissioncheck2_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRolesPermissions
      summary: 'Check user roles and permissions'
      description: 'Submits a request to check whether the caller, or the named user if supplied, holds the specified roles and permissions. Returns a boolean result.'
      operationId: HasRoleOrPermissioncheck2_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HasRoleOrPermission'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                title: string
                type: boolean
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRolesPermisions:
    get:
      tags:
        - userRolesPermisions
      summary: 'Get user roles and permissions'
      description: 'Returns the full set of roles and permissions for the caller, or for the named user if supplied. Use this endpoint to retrieve authorization context for display or downstream access decisions.'
      operationId: GetRolesAndPermissions_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The roles and permissions for the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRolesAndPermissionsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRolesPermisions
      summary: 'Get user roles and permissions'
      description: 'Submits a request to retrieve the full set of roles and permissions for the caller, or the named user if supplied. Returns a GetRolesAndPermissionsResponse object.'
      operationId: GetRolesAndPermissions_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetRolesAndPermissions'
        x-bodyName: body
      responses:
        '200':
          description: The roles and permissions for the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRolesAndPermissionsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  /userRolesPermissions:
    get:
      tags:
        - userRolesPermissions
      summary: 'Get user roles and permissions'
      description: 'Returns the full set of roles and permissions for the caller, or for the named user if supplied. Use this endpoint to retrieve authorization context for display or downstream access decisions.'
      operationId: GetRolesAndPermissions2_Get
      parameters:
        - name: Version
          in: query
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          schema:
            type: integer
            format: int32
          x-nullable: false
      responses:
        '200':
          description: The roles and permissions for the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRolesAndPermissionsResponse'
      security:
        - Bearer: [ ]
    post:
      tags:
        - userRolesPermissions
      summary: 'Get user roles and permissions'
      description: 'Submits a request to retrieve the full set of roles and permissions for the caller, or the named user if supplied. Returns a GetRolesAndPermissionsResponse object.'
      operationId: GetRolesAndPermissions2_Post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetRolesAndPermissions'
        x-bodyName: body
      responses:
        '200':
          description: The roles and permissions for the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRolesAndPermissionsResponse'
      security:
        - Bearer: [ ]
    parameters:
      - $ref: '#/components/parameters/Accept'
  '/auth/{provider}':
    get:
      tags:
        - auth
      summary: Sign In
      description: Authenticates a user against the specified identity provider and returns an authentication response including a bearer token. Supply credentials such as UserName and Password, or an AccessToken for OAuth-based providers.
      operationId: Authenticateprovider_Get
      parameters:
        - name: provider
          in: path
          required: true
          schema:
            type: string
        - name: UserName
          in: query
          schema:
            type: string
        - name: Password
          in: query
          schema:
            type: string
        - name: RememberMe
          in: query
          schema:
            type: boolean
        - name: AccessToken
          in: query
          schema:
            type: string
        - name: AccessTokenSecret
          in: query
          schema:
            type: string
        - name: ReturnUrl
          in: query
          schema:
            type: string
        - name: ErrorView
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
    post:
      tags:
        - auth
      summary: Sign In
      description: Submits authentication credentials to the specified identity provider and returns an authentication response including a bearer token. Supports username/password and OAuth token-based authentication.
      operationId: Authenticateprovider_Post
      parameters:
        - name: provider
          in: path
          required: true
          schema:
            type: string
        - name: UserName
          in: query
          schema:
            type: string
        - name: Password
          in: query
          schema:
            type: string
        - name: RememberMe
          in: query
          schema:
            type: boolean
        - name: AccessToken
          in: query
          schema:
            type: string
        - name: AccessTokenSecret
          in: query
          schema:
            type: string
        - name: ReturnUrl
          in: query
          schema:
            type: string
        - name: ErrorView
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Authenticate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /auth:
    get:
      tags:
        - auth
      summary: Sign In
      description: Authenticates a user using the default or specified identity provider and returns an authentication response including a bearer token. Supply credentials as query parameters, including provider, UserName, Password, or OAuth tokens as appropriate.
      operationId: Authenticate_Get
      parameters:
        - name: provider
          in: query
          schema:
            type: string
        - name: UserName
          in: query
          schema:
            type: string
        - name: Password
          in: query
          schema:
            type: string
        - name: RememberMe
          in: query
          schema:
            type: boolean
        - name: AccessToken
          in: query
          schema:
            type: string
        - name: AccessTokenSecret
          in: query
          schema:
            type: string
        - name: ReturnUrl
          in: query
          schema:
            type: string
        - name: ErrorView
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
    post:
      tags:
        - auth
      summary: Sign In
      description: Submits authentication credentials via query parameters and request body to authenticate a user. Returns an authentication response including a bearer token on success.
      operationId: Authenticate_Post
      parameters:
        - name: provider
          in: query
          schema:
            type: string
        - name: UserName
          in: query
          schema:
            type: string
        - name: Password
          in: query
          schema:
            type: string
        - name: RememberMe
          in: query
          schema:
            type: boolean
        - name: AccessToken
          in: query
          schema:
            type: string
        - name: AccessTokenSecret
          in: query
          schema:
            type: string
        - name: ReturnUrl
          in: query
          schema:
            type: string
        - name: ErrorView
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Authenticate'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /access-token:
    get:
      tags:
        - auth
      operationId: GetAccessToken_Get
      parameters:
        - name: RefreshToken
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccessTokenResponse'
    put:
      tags:
        - auth
      operationId: GetAccessToken_Create
      parameters:
        - name: RefreshToken
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAccessToken'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccessTokenResponse'
    post:
      tags:
        - auth
      operationId: GetAccessToken_Post
      parameters:
        - name: RefreshToken
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAccessToken'
        x-bodyName: body
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccessTokenResponse'
    delete:
      tags:
        - auth
      operationId: GetAccessToken_Delete
      parameters:
        - name: RefreshToken
          in: query
          schema:
            type: string
        - name: Meta
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccessTokenResponse'
    parameters:
      - $ref: '#/components/parameters/Accept'
components:
  schemas:
    Object:
      type: object
      description: Object
    GetAgentPoll:
      title: GetAgentPoll
      required:
        - UniqueId
        - AgentId
        - PollTimeUtc
      type: object
      properties:
        UniqueId:
          type: string
          description: Specifies the agent unique reference id. This is supplied in the return from the initial RegisterAgent call.
        AgentId:
          type: string
          description: 'Specifies the agent id. Note: this the agent id excluding the device id: the poll returns tasks and configuration dates for all devices registered under this agent id.'
        LegacyId:
          type: string
          description: 'The legacy v6.5 RA agent id. Note: this is only present for upgrade purposes.'
        PollTimeUtc:
          type: DateTime
          description: Specifies the local agent Utc time. Used to detect system time differences between agent and hub.
          format: date-time
          x-nullable: false
        AgentVersion:
          type: string
          description: Specifies the agent version. This is optional and typically only sent on initial poll.
        AgentMacAddresses:
          type: string
          description: Specifies the agent physical/MAC addresses. This is optional and typically only sent on an initial poll or when the list changes.
        AgentIPv4:
          type: string
          description: Specifies the agent IP v4 addresses. This is optional and typically only sent on initial poll or when the list changes.
        AgentIPv6:
          type: string
          description: Specifies the agent IP v6 addresses. This is optional and typically only sent on initial poll or when the list changes.
        MachineName:
          type: string
          description: 'Specifies the agent machine name including custom prefix, and domain prefix, if used. This is optional and typically only sent on initial poll or when the it changes.'
        FullyQualifiedDomainName:
          type: string
          description: Specifies the fully qualified domain name. This is optional and typically only sent on initial poll or when the it changes.
        AgentType:
          type: string
          description: Specifies the type of agent
        Os:
          type: string
          description: Specifies the agent operating system. This is optional and typically only sent on initial poll or when the it changes.
        DeviceIds:
          type: array
          items:
            type: string
          description: Specifies the deviceIds of the devices online that the agent is proxying. This is optional and typically only sent by a proxying agent.
        ReturnXml:
          type: boolean
          description: Specifies whether to return the report task template xml in the response. This is optional and defaults to true. It can be used to prevent xml download on agents that implement a local cache of report definitions.
          x-nullable: false
        DeviceConfigIds:
          $ref: '#/components/schemas/Dictionary_String_String_'
        MainDeviceActivity:
          $ref: '#/components/schemas/DeviceActivity'
        ProxiedDeviceActivity:
          type: array
          items:
            $ref: '#/components/schemas/DeviceActivity'
        PublicKeyStringsInUse:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Called by the agent, this returns a list of AgentTasks and latest tracking template definition dates for all the devices the agent manages.'
    Dictionary_String_String_:
      title: 'Dictionary<String,String>'
      type: object
      additionalProperties:
        type: string
      description: 'Dictionary<String,String>'
    DeviceActivity:
      title: DeviceActivity
      type: object
      properties:
        AgentDeviceId:
          type: string
        LastUpdatedUtc:
          type: string
          format: date-time
          x-nullable: false
        ConfigDateUtc:
          type: string
          format: date-time
        LoginName:
          type: string
        ProcessId:
          type: integer
          format: int32
          x-nullable: false
      description: A representation of an agent's current status and activities.
    GetAgentTasks:
      title: GetAgentTasks
      type: object
      properties:
        AgentId:
          type: string
          description: Specifies the agent's AgentId.
        DeviceId:
          type: string
          description: Specifies the agent's DeviceId.
        TaskStatuses:
          type: array
          items:
            type: string
            x-nullable: false
          description: Specifies a value indicating the task statuses to filter by.
        TaskIds:
          type: array
          items:
            type: integer
            format: int32
            x-nullable: false
          description: Specifies value indicating the task ids to look for.
        PolicyRunId:
          type: integer
          description: Specifies the policy run id associated with the last run of the report etc. use this to find tasks started by a given scheduled policy.
          format: int32
        TaskType:
          type: string
          description: Specifies the specific task type to retrieve details for
        Concise:
          type: boolean
          description: Return a concise view of the tasks?  i.e not the Text and ResultData properties
          x-nullable: false
        IgnoreActiveDates:
          type: boolean
          description: 'By default only AgentTasks that are currently between their StartDate and EndDate values are returned, this flag returns tasks irrespective of dates.'
          x-nullable: false
        TaskTextMatchesOneOf:
          type: array
          items:
            type: string
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Requests information about tasks for the given agent.
    PagingQueryFilter:
      title: PagingQueryFilter
      type: object
      properties:
        Value:
          type: string
          description: Gets or sets the value.
        Operator:
          type: string
          description: Gets or sets the operator.
        Field:
          type: string
          description: Gets or sets the field.
        IgnoreCase:
          type: boolean
          description: Gets or sets a value indicating whether to ignore case.
          x-nullable: false
      description: The paging query filter represents the column filtering options as sent from a Kendo Grid.
    SubmitAgentTaskResultStream:
      title: SubmitAgentTaskResultStream
      required:
        - AgentId
        - DeviceId
        - TaskId
      type: object
      properties:
        RequestStream:
          $ref: '#/components/schemas/Stream'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        TaskId:
          type: integer
          description: Specifies the id of the task.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Used to submit agent task result data to the hub as a stream.
    Stream:
      title: Stream
      type: object
      description: Stream
    SubmitAgentTaskResultData:
      title: SubmitAgentTaskResultData
      type: object
      properties:
        AgentId:
          type: string
          description: 'Specifies the agent id. This required for external api callers, but optional internally because the system may update / expire tasks without knowing the AgentId, but external api entry points should ensure it is set to prevent tampering with tasks not owned by the caller.'
        DeviceId:
          type: string
          description: 'Specifies the device id. Note: this is optional as the system knows the device id from the task.'
        TaskId:
          type: integer
          description: Specifies the task id that this data relates to.
          format: int32
          x-nullable: false
        DataValues:
          type: array
          items:
            $ref: '#/components/schemas/VariableDataValue'
          description: Specifies the result data items.
        Status:
          type: string
          description: 'Specifies the status of the task.  e.g complete, or error.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Adds report result data for the given agent report, called by the agent. This is the new format used by the Gen 7 agent.'
    VariableDataValue:
      title: VariableDataValue
      type: object
      properties:
        Requirement:
          $ref: '#/components/schemas/VariableDataRequirement'
        ItemNameToAttributeValues:
          $ref: '#/components/schemas/Dictionary_String_Dictionary_String_String__'
        Error:
          type: string
          description: Specifies the text of any error encountered collecting attribute data for this item.
        HasError:
          type: boolean
          description: Specifies a value indicating whether an error was encountered collecting attribute data for this item.
          x-nullable: false
      description: Represents the collected data for a VariableDataRequirement.
    VariableDataRequirement:
      title: VariableDataRequirement
      type: object
      properties:
        TrackerName:
          type: string
          description: Specifies the tracker name.
        ItemType:
          type: string
          description: Specifies the item type.
        AttributeNames:
          type: array
          items:
            type: string
          description: Specifies a list of attribute names.
        ItemNameSpecifier:
          type: string
          description: Specifies the item name.
        Options:
          type: string
          description: Specifies the options. Contains regex details for processoutout command items.
        VariableNames:
          type: array
          items:
            type: string
          description: Spcifies a list of variable names associated with this requirement.
        MissingDataAllowed:
          type: boolean
          description: Specifies a value indicating whether any rule specifies that missing data is allowed when collecting data for this variable.
          x-nullable: false
        MaxListItems:
          type: integer
          description: Specifies a value indicating the maximum number of items to return in a variable when concatenated in a string.
          format: int32
          x-nullable: false
        ConvertSDDLToReadable:
          type: boolean
          description: Specifies a value indicating whether convert sddl values to readable SecurityPermissionSet entries.
          x-nullable: false
        MatchItemsUsing:
          type: string
          description: Specifies a value indicating how to match item names specified in ItemNameSpecifier.
      description: Represents a specification for an item of data to be collected for input to a report rule.
    Dictionary_String_Dictionary_String_String__:
      title: 'Dictionary<String,Dictionary<String,String>>'
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Dictionary_String_String_'
      description: 'Dictionary<String,Dictionary<String,String>>'
    SubmitAgentTaskResult:
      title: SubmitAgentTaskResult
      required:
        - AgentId
        - DeviceId
        - TaskId
      type: object
      properties:
        AgentId:
          type: string
          description: Specifies the agent id.
        DeviceId:
          type: string
          description: Specifies the device id.
        TaskId:
          type: integer
          description: Specifies the task id.
          format: int32
          x-nullable: false
        ResultData:
          type: string
          description: Specifies the result data. If the task result is a single string it may be specified here. Otherwise specify it in ResultDataItems or RuleItemResults.
        ResultDataItems:
          type: array
          items:
            $ref: '#/components/schemas/AgentDataItem'
          description: 'Specifies the result data items, when the task result is a list of data items (eg get processes).'
        Status:
          type: string
          description: Specifies the task status.
        StatusMessage:
          type: string
          description: 'Specifies the additional status message, if any.'
        ReportResultSummary:
          $ref: '#/components/schemas/ReportResultSummary'
        RuleItemResults:
          $ref: '#/components/schemas/Dictionary_String_List_RuleItemResult__'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Adds task result data for the given agent task, called by the agent.'
    AgentDataItem:
      title: AgentDataItem
      type: object
      properties:
        Name:
          type: string
          description: Specifies the variable name.
        ItemName:
          type: string
          description: Specifies the item name.
        TrackerType:
          type: string
          description: Specifies the tracker type.
        ItemType:
          type: string
          description: Specifies the item type.
        Error:
          type: string
          description: Specifies any error encountered collecting data.
        Attributes:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: An agent data item returned from a tracker.
    ReportResultSummary:
      title: ReportResultSummary
      type: object
      properties:
        TotalScorePercent:
          type: number
          description: The total score as a percentage.
          format: double
          x-nullable: false
        SummaryText:
          type: string
          description: The summary text for the report result.
      description: The report result summary.
    RuleItemResult:
      title: RuleItemResult
      type: object
      properties:
        Error:
          type: string
          description: Specifies the error.
        ExpressionEvaluationTrace:
          type: string
          description: Specifies the explanation of the evaluation of the rule expression tree.
        ExpressionResultExplanation:
          type: string
          description: Specifies the explanation of the result.
        FailuresDescriptionExpanded:
          type: string
          description: Specifies the failures description with tokens and variable values expanded.
        NotRelevant:
          type: boolean
          description: Specifies a value indicating whether the rule expression is not relevant to current OS.
          x-nullable: false
        PassesDescriptionExpanded:
          type: string
          description: Specifies the passes description with tokens and variable values expanded.
        RuleFailureReason:
          type: string
          description: Specifies the rule failure reason.
        RuleNumberName:
          type: string
          description: Specifies the rule number and name for reference.
        Score:
          type: number
          description: Specifies the score.
          format: double
          x-nullable: false
        ShowFailuresDescription:
          type: boolean
          description: Specifies a value indicating whether to show the failures description.
          x-nullable: false
        ShowPassesDescription:
          type: boolean
          description: Specifies a value indicating whether to show the passes description.
          x-nullable: false
        Variables:
          type: array
          items:
            $ref: '#/components/schemas/VariableResult'
          description: Specifies the variables.
      description: A result for an individual report rule item.
    VariableResult:
      title: VariableResult
      type: object
      properties:
        DataExtractionTrace:
          type: string
          description: Specifies the route taken to arrive at this variable value after any functions etc have been applied.
        DataType:
          type: string
          description: Specifies the data type of the result.
        Name:
          type: string
          description: Specifies the name of the variable for this result.
        SourceData:
          type: string
          description: Specifies tjhe source data.
        Values:
          type: array
          items:
            type: string
          description: Specifies the list of values for this variable.
      description: The variable result used to send a representation of the data values used in a rule long with the results.
    List_RuleItemResult_:
      title: List<RuleItemResult>
      type: array
      items:
        $ref: '#/components/schemas/RuleItemResult'
    Dictionary_String_List_RuleItemResult__:
      title: 'Dictionary<String,List<RuleItemResult>>'
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/RuleItemResult'
      description: 'Dictionary<String,List<RuleItemResult>>'
    GetCredentials:
      title: GetCredentials
      type: object
      properties:
        CredentialsType:
          type: string
          description: Specifies the credentials type.
        Key:
          type: string
          description: Specifies the key (name) of the required credentials.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get specific credentials for requested type and key (name).
    GetPolicyTemplates:
      title: GetPolicyTemplates
      type: object
      properties:
        Name:
          type: string
          description: Specifies a single policy name (id) to search for.
        NameContains:
          type: string
          description: Specifies the text the name contains. Used to search for partial match if 'Name' not specified.
        Names:
          type: array
          items:
            type: string
          description: Specifies a list of policy names (ids) to search for.
        ReturnXml:
          type: boolean
          description: Specifies a value indicating whether to return the template xml in the response. Defaults to false.
          x-nullable: false
        ReturnSignatures:
          type: boolean
          description: Specifies a value indicating whether to calculate and return the template signatures in the response. Defaults to false.
          x-nullable: false
        IsActive:
          type: boolean
          description: Get the Active version of a template
        IsLatest:
          type: boolean
          description: Get the Latest version of a template
        IsSystem:
          type: boolean
          description: Get System supplied templates
        HasRules:
          type: boolean
          description: Get templates with Rules
        HasTrackers:
          type: boolean
          description: Get templates with Trackers
        TemplateTrackerTypes:
          type: array
          items:
            type: string
          description: Specifies the template's tracker types.
        TemplateVersion:
          type: string
          description: Specifies the template version to get.
        UsageTags:
          type: array
          items:
            type: string
          description: Specifies the policy usage types to get.
        IsTrusted:
          type: boolean
          description: Policy templates which  contains commands that are trusted
        NotificationRefId:
          type: string
          description: Policy templates associated with the supplied notification ref id
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets matching config templates.
    GetPolicyTemplateVariables:
      title: GetPolicyTemplateVariables
      type: object
      properties:
        PolicyTemplateName:
          type: string
          description: Specifies the report template name.
        ReturnConfigAsXml:
          type: boolean
          description: 'For any config that needs to be applied, return as XML.'
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to get a list of variable definitions from a named report to be collected by the agent.
    GetCredentialsForAgentDevice:
      title: GetCredentialsForAgentDevice
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to get the names of credentials associated with an agent.
    AgentDevice:
      title: AgentDevice
      type: object
      properties:
        AgentId:
          type: string
          description: The agent id for this device.
        DeviceId:
          type: string
          description: The device id for this device.
      description: 'The agent device represents an agent device pairing. For example this may be a router that is reported on by an agent with, or it may be an agent reporting on the device it is installed on in which case AgentId and DeviceId will be the same.'
    GetDbCredentialForDatabaseAgentDevice:
      title: GetDbCredentialForDatabaseAgentDevice
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to get the database credentials associated with a database proxied agent.
    GroupMemberships:
      title: GroupMemberships
      type: object
      properties:
        MemberName:
          type: string
          description: Specifies the member name to retrieve group memberships for.
        MemberType:
          type: string
          description: Specifies the member type of the member specified by MemberName (AgentDevice or Group).
        ExcludeInherited:
          type: boolean
          description: 'Specifies a value indicating whether to exclude inherited groups. This defaults to false meaning that all groups including those that are parents of thoseexplicitly set are returned, for example if Windows 7 group is a member of Windows group, and a device is explicitly a member of Windows 7the function will return ''Windows, Windows 7''. If ''ExcludeInherited'' is true, only ''Windows 7'' will be returned.'
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'A request to return groups this agent or group is a member of, including parents of parents etc.'
    GetAgents:
      title: GetAgents
      type: object
      properties:
        ExcludeTotalCount:
          type: boolean
          description: Specifies a value indicating whether to calculate the total count returned in the GetAgentsResponse.Total
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        GetAgentGroupDetails:
          type: boolean
          description: Specifies a value indicating whether to get agent group details.
          x-nullable: false
        GetRelatedCredentials:
          type: boolean
          description: Specifies a value indicating whether to get related credentials.
          x-nullable: false
        GetRelatedPlannedChanges:
          type: boolean
          description: Specifies a value indicating whether to get related planned changes.
          x-nullable: false
        GetRelatedProxyAgents:
          type: boolean
          description: Specifies a value indicating whether to get related proxy agents.
          x-nullable: false
        GetRelatedTemplates:
          type: boolean
          description: Specifies a value indicating whether to get templates applied to the returned agents.
          x-nullable: false
        IncludeMasterInFilter:
          type: boolean
          description: Specifies a value indicating whether to include proxy master devices in filters that match a child proxied device but would not otherwise return the proxying master.
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return agents matching the device filter.
    DeviceFilter:
      title: DeviceFilter
      type: object
      properties:
        LastModifiedDateUtc:
          type: string
          description: The last time this definition was edited (for stored filters).
          format: date-time
        Type:
          type: string
          description: 'Gets or sets the type, inferred from the presence and number of GroupNames and AgentDeviceIds'
        GroupMatch:
          type: string
          description: Gets or sets the GroupMatchType controlling whether associated sought groups in GroupNames are matched as an exact list or a contains operation.
        Name:
          type: string
          description: Gets or sets the filter name.
        CanProxy:
          type: boolean
          description: Gets or sets a value indicating whether the agents sought can proxy connections to other devices.
        ExcludeProxiedDevices:
          type: boolean
          description: Gets or sets a value indicating whether to exclude proxied devices from the result set.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: Gets or sets the agent ids.
        AgentDisplayNames:
          type: array
          items:
            type: string
          description: Gets or sets the agent display names.
        CredentialKeys:
          type: array
          items:
            type: string
          description: Gets or sets the credential keys.
        Os:
          type: string
          description: ' Gets or sets the os to search for.'
        DiscoveryId:
          type: string
          description: ' Gets or sets the discovery id to search for.'
        DiscoveryTaskId:
          type: string
          description: ' Gets or sets the discovery task id to search for.'
        ProxyAgentIds:
          type: array
          items:
            type: string
          description: 'Gets or sets the proxy agent ids. This is a list of the agent id parts only of the agentDeviceId pairs. Specifying this will return all devices which have these agent ids, i.e. are proxied by the given agents.'
        TextSearch:
          type: string
          description: Gets or sets the text search when getting agents from the repository. By default this is a 'StartsWith' search unless TextSearchExactMatch
        TextSearchExactMatch:
          type: boolean
          description: Gets or sets the a value indicating text search when getting agents from the repository
          x-nullable: false
        AllSelected:
          type: boolean
          description: 'Gets a value indicating whether all selected, i.e. no GroupNames or AgentDeviceIds have been specified.'
          x-nullable: false
        OnlineStatus:
          type: string
          description: Gets or sets the online status of the devices to return. Optional.
        OnlineStatuses:
          type: array
          items:
            type: string
            x-nullable: false
          description: Gets or sets the online statuses of the devices to return. Optional.
      description: 'Represents a selected group of devices, by membership of groups, or by specific attributes (name, OS etc). This can be used on a GetEvents call but also on any api call that can be filtered by device, for example report results.'
    RegisterAgent:
      title: RegisterAgent
      type: object
      properties:
        AgentName:
          type: string
        CanProxy:
          type: boolean
          description: Specifies a value indicating whether the agent can proxy connections to other devices.
          x-nullable: false
        CredentialKey:
          type: string
          description: Specifies the credential key. Only allowed for proxied devices.
        DbConnection:
          $ref: '#/components/schemas/DbConnection'
        DeviceName:
          type: string
          description: Specifies the device name.
        DeviceType:
          type: string
        GroupNames:
          type: array
          items:
            type: string
          description: Specifies the group names. Only allowed for proxied devices.
        HostName:
          type: string
          description: Specifies the host name. This is the name or IP address used for agentless access to this device by a proxy.
        HostType:
          type: string
          description: Specifies the host type.
        MacAddresses:
          type: string
          description: Specifies the mac addresses.
        IPv4:
          type: string
          description: Specifies the v4 ip address.
        IPv6:
          type: string
          description: Specifies the v6 ip address.
        LegacyHubId:
          type: string
          description: Specifies the legacy hub id.
        DiscoveryId:
          type: string
          description: Specifies the internal discovery-based id.
        DiscoveryTaskId:
          type: string
          description: Specifies the internal discovery task id.
        OnlineDetection:
          type: string
          description: Specifies the method to use when detecting if a proxed device is online
        Os:
          type: string
          description: Specifies the Operating System full description as reported by the device.
        KnownOsName:
          type: string
          description: Specifies the Operating System from the list of known Os names.
        OsUserSpecified:
          type: string
          description: 'Specifies the operating system as entered by the user. This will override the discovered Os in the UI, if specified.'
        PollPeriodSeconds:
          type: integer
          description: Specifies the poll period in seconds.
          format: int32
        ProxiedByAgentId:
          type: string
          description: Specifies the agent id of the proxy agent this device will be proxied by.
        Registered:
          type: boolean
          description: Specifies a value indicating whether registered.
          x-nullable: false
        BaselineSendEnabled:
          type: boolean
          description: Specifies that the agent send baseline events flag should be set according to the value specified in the Agent property.
          x-nullable: false
        UniqueId:
          type: string
          description: 'Specifies a value uniquely identifying the agent independent of name or agent id from a previous registration. Used to detect a need to re-register when underlying hub store has been emptied, otherwise the autoincrementing agent id counter can result in clashes as already used ids are reissued to different agents.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Registers the details of an Agent with the system.
    DbConnection:
      title: DbConnection
      type: object
      properties:
        ConnectionType:
          type: string
          description: Does the Proxied Agent's db connection rely on a legacy credential or new credential.
        DatabasePlatform:
          type: string
          description: Specifies the database platform for the connection.
        TrustedConnection:
          type: boolean
          description: Is the connection trusted in which case a credential is not required.
          x-nullable: false
        ConnectionString:
          type: string
          description: Specifies the connection string used for the database connection.
        LegacyConnectionString:
          type: string
          description: Specifies a legacy connection string if this DbConnection originates from a legacy Db credential.
      description: Represents database connection details.
    UpdateAgent:
      title: UpdateAgent
      type: object
      properties:
        Agent:
          $ref: '#/components/schemas/Agent'
        CredentialKey:
          type: string
          description: Specifies the credential key to associate with this agent. e.g ssh credentials.
        DbConnection:
          $ref: '#/components/schemas/DbConnection'
        GroupNames:
          type: array
          items:
            type: string
          description: Specifies a list of group names this agent belongs to.
        UpdateAgentDeviceName:
          type: boolean
          description: Specifies that the agent device name should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateAgentHostType:
          type: boolean
          description: Specifies that the agent host type should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateCredentialKey:
          type: boolean
          description: Specifies that the agent credential key should be updated according to the value specified.
          x-nullable: false
        UpdateDbConnectionDetails:
          type: boolean
          description: Specifies that the agent database connection details should be updated according to the values specified.
          x-nullable: false
        UpdateDiagnosticModeEnabled:
          type: boolean
          description: Specifies that the agent diagnostic mode flag should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateEventBlockEnabled:
          type: boolean
          description: Specifies that the agent events blocked flag should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateGroupNames:
          type: boolean
          description: Specifies that the agent group names should be updated according to the value specified.
          x-nullable: false
        UpdateHostName:
          type: boolean
          description: Specifies that the agent host name should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateIPv4:
          type: boolean
          description: Specifies that the IPv4 should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateOnlineDetection:
          type: boolean
          description: Specifies that the agentonline detection mode should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateOsUserSpecified:
          type: boolean
          description: Specifies that the agent user specified os type should be updated according to the value specified in the Agent property.
          x-nullable: false
        UpdateBaselineSendEnabled:
          type: boolean
          description: Specifies that the agent send baseline events flag should be updated according to the value specified in the Agent property.
          x-nullable: false
        ClearUniqueId:
          type: boolean
          description: 'Specifies that the agent UniqueId should be cleared, allowing registration by another device of the same name, but different UniqueId.'
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update an Agent's details.
    Agent:
      title: Agent
      type: object
      properties:
        ModelVersion:
          type: integer
          description: Gets the model version.
          format: int32
          x-nullable: false
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        Version:
          type: string
          description: Specifies the agent version.
        Name:
          type: string
          description: Specifies the device display name.
        DeviceName:
          type: string
          description: Specifies the device name.
        FullyQualifiedDomainName:
          type: string
          description: Specifies the fully qualified domain name.
        DeviceType:
          type: string
        HostType:
          type: string
          description: 'Specifies the host type. This broadly indicates whether the device is windows or unix, or a DB or network device.'
        Os:
          type: string
          description: Specifies the operating system as discovered by the agent.
        OsUserSpecified:
          type: string
          description: 'Specifies the operating system as entered by the user. This will override the discovered Os in the UI, if specified.'
        KnownOsName:
          type: string
          description: Specifes a known OS name from a system defined list.
        OsVariant:
          type: string
          description: Specifies the os variant. This is one of the the system defined settings for the selected 'KnownOsName'. For example '64 bit version
        Registered:
          type: boolean
          description: Specifies a value indicating whether the agent has connected yet to pick up its registration.
          x-nullable: false
        Deleted:
          type: boolean
          description: Specifies a value indicating whether the device has been deleted.
          x-nullable: false
        PollPeriodSeconds:
          type: integer
          description: Specifies the poll period in seconds.
          format: int32
          x-nullable: false
        LegacyId:
          type: string
          description: Specifies the legacy RA id for the agent.
        DiscoveryId:
          type: string
          description: Specifies the internal discovery-based id.
        DiscoveryTaskId:
          type: string
          description: Specifies the internal discovery task id.
        DiscoveredName:
          type: string
          description: Specifies the name as originally assigned by device discovery. If the current DeviceName differs from this value the device has been manually renamed.
        HostName:
          type: string
          description: Specifies the host name. This is the name or IP address used for agentless access to this device.
        MacAddresses:
          type: string
          description: Specifies the physical/MAC addresses.
        IPv4:
          type: string
          description: Specifies the IP v4 address.
        IPv6:
          type: string
          description: Specifies the IP v6 address.
        LastPollUtc:
          type: string
          description: Specifies the last time a poll was received from the agent.
          format: date-time
          x-nullable: false
        NextPollUtc:
          type: string
          description: Specifies the expected next poll time.
          format: date-time
          x-nullable: false
        MembershipChangeTimeUtc:
          type: string
          description: Specifies the last time group membership changed.
          format: date-time
        OnlineStatus:
          type: string
          description: Specifies the online status.
        DiagnosticModeEnabled:
          type: boolean
          description: Specifies a value indicating whether or not diagnostic mode is enabled for this agent / device (i.e. extra logging).
          x-nullable: false
        EventBlockEnabled:
          type: boolean
          description: Specifies a value indicating whether the device is blocked from sending events.
          x-nullable: false
        BaselineSendEnabled:
          type: boolean
          description: Specifies a value indicating whether the device is enabled for sending baseline events.
          x-nullable: false
        OnlineDetection:
          type: string
          description: Specifies the method to use when detecting if a proxed device is online
        PingTimeoutSeconds:
          type: integer
          description: 'Specifies the ''OnlineDetection'' ping timeout seconds, used with ''CredentialsService.Types.OnlineDetection.Ping''.'
          format: int32
          x-nullable: false
        TcpConnectPort:
          type: integer
          description: Specifies the port used for 'OnlineDetection' using 'CredentialsService.Types.OnlineDetection.TcpConnect'.
          format: int32
          x-nullable: false
        CanProxy:
          type: boolean
          description: Specifies a value indicating whether the agent can proxy connections to other devices.
          x-nullable: false
        DbConnection:
          $ref: '#/components/schemas/DbConnection'
        CredentialsTestStatus:
          type: string
          description: 'Specifies the status of the last credentials test, if any.'
        CredentialsTestMessage:
          type: string
          description: Specifies the a success or failure message associated with the last credentials test.
        UniqueId:
          type: string
          description: 'Specifies a value uniquely identifying the agent independent of name or agent id. Used to detect a need to re-register when underlying hub store has been emptied, otherwise the auto incrementing agent id counter can result in clashes as already used ids are reissued to different agents.'
        IsTestAgent:
          type: boolean
          x-nullable: false
        RecentActivity:
          $ref: '#/components/schemas/DeviceActivity'
        SkipConfigCheckUntilUtc:
          type: string
          format: date-time
          x-nullable: false
        AgentType:
          type: string
        IsBlockingRegistrationBy:
          type: string
        PublicKeyStringsInUse:
          type: string
      description: 'Represents a remote NNT Agent. May be a 1.x Agent, Gen7 Agent or Express Agent or a proxied device.'
    SearchAgents:
      title: SearchAgents
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        MatchText:
          type: string
          description: Text to search for in the Agents fields.
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to find agents matching the device filter and search criteria.
    PreRegisterAgents:
      title: PreRegisterAgents
      type: object
      properties:
        Agents:
          type: array
          items:
            $ref: '#/components/schemas/RegisterAgent'
          description: A list of agents to pre-register at the hub.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Registers the details of the specified Agents with the system.
    GetDeviceConfig:
      title: GetDeviceConfig
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentDeviceId:
          type: string
          description: 'Specifies the combined agent and device id, for example 1,1.'
        ReturnDocument:
          type: boolean
          description: Specifies a value indicating whether return to return a device template object in GetDeviceConfigResponse.DeviceTemplate if trueor an xml string in GetDeviceConfigResponse.Xml if false.
          x-nullable: false
        ReturnDocumentAsPolicyRuleSet:
          type: boolean
          description: Specifies a value indicating whether return to return a device template rule-set object in GetDeviceConfigResponse.DeviceTemplate if trueor an xml string in GetDeviceConfigResponse.Xml if false.
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the tracking configuration template from the merged result of the group configurations for the groups the device is in.
    GetDeviceSettings:
      title: GetDeviceSettings
      type: object
      properties:
        AgentId:
          type: string
          description: Specifies the id of the agent. Either AgentId and DeviceId or GroupName must be supplied.
        DeviceId:
          type: string
          description: Specifies the id of the device. Either AgentId and DeviceId or GroupName must be supplied.
        GroupName:
          type: string
          description: Specifies the group name. Either AgentId and DeviceId or GroupName must be supplied.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets the device settings for the device or group, based on the global device settings and any group specific overrides.'
    GetEvents:
      title: GetEvents
      type: object
      properties:
        Comment:
          type: string
          description: Gets or sets the query comment so that when slow / repeated queries are identified in the database we can trace them back to a specific query in the code more easily
        TimeZoneId:
          type: string
          description: 'Gets or sets the user time zone id. Optional, if supplied the returned Events'' DateTimeLocal property is populated with a calculated equivalent local time based on the event DateTimeUtc.'
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        EventFilter:
          $ref: '#/components/schemas/EventFilter'
        StartUtc:
          type: string
          description: ' Gets or sets the start of the period to return events for, null implies all.'
          format: date-time
        EndUtc:
          type: string
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          format: date-time
        StartOffsetSeconds:
          type: integer
          description: If this is supplied then the StartUtc is going to based on a time this many seconds ago (to allow 'rolling' queries)
          format: int32
        EndOffsetSeconds:
          type: integer
          description: If this is supplied then the EndUtc is going to be based on a time this many seconds ago (to allow 'rolling' queries)
          format: int32
        Status:
          type: string
          description: Only get events of a certain status
        TextSearch:
          type: string
          description: Gets or sets the text search value.
        ReturnedEventType:
          type: string
          description: ' Gets or sets the returned event type.'
        EventId:
          type: string
          description: Gets or sets the specific event id.
        ExcludeTotalCount:
          type: boolean
          description: ' Gets or sets a value indicating whether to calculate the total count returned in the GetEventsResponse.Total'
          x-nullable: false
        IncludeHistory:
          type: boolean
          description: Gets or sets a value indicating wether or not to return event history with the events.
          x-nullable: false
        RulesFromBaselinePolicyName:
          type: string
          description: Gets or sets a value indicating wether or not to return event history with the events.
        ReturnAllEvents:
          type: boolean
          description: 'Gets or sets a value indicating whether to populate the AllEvents list '
          x-nullable: false
        CountTimeMilliseconds:
          type: number
          description: Gets or sets a value indicating how long to spend calculating a count of results before timing out.
          format: double
        FormatDiffs:
          type: boolean
          description: 'Gets or sets a value indicating whether to format the attribute text that contains process output content differences. '
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of events from the hub service.
    EventFilter:
      title: EventFilter
      type: object
      properties:
        Version:
          type: integer
          description: Gets the object version.
          format: int32
          x-nullable: false
        UseSuppliedEventTypes:
          type: boolean
          description: The query engine will attempt to derive the correct event types based on your other parameters.  Set this to force it to use the EventTypes property value
          x-nullable: false
        EventIds:
          type: array
          items:
            type: string
          description: Gets or sets the event ids.
        EventIdsToExclude:
          type: array
          items:
            type: string
          description: Gets or sets the event ids to exclude from the query
        BaselineTypes:
          type: array
          items:
            type: string
            x-nullable: false
          description: Gets or sets the baseline types
        EventTypes:
          type: array
          items:
            type: string
            x-nullable: false
          description: Gets or sets the event types.
        AuditMessageTypes:
          type: array
          items:
            type: string
            x-nullable: false
          description: Gets or sets the audit message types of AuditEvent
        PlannedChangeStatuses:
          type: array
          items:
            type: string
            x-nullable: false
          description: Gets or sets the planned change statuses.
        PlannedChangeIds:
          type: array
          items:
            type: string
          description: Specifies the planned change instance ids.
        ReportInstanceIds:
          type: array
          items:
            type: string
          description: Specifies the scheduled report instance ids.
        ReportSpecIds:
          type: array
          items:
            type: string
          description: Specifies the  report spec ids.
        PlannedChangeManual:
          type: boolean
          description: Indicates whether to further restrict the event query to events that were either added to the planned change manually or not (i.e. were added by a rule).
        TrackerTypeNames:
          type: array
          items:
            type: string
          description: Gets or sets the tracker type names.
        ItemTypeNames:
          type: array
          items:
            type: string
          description: Gets or sets the item type names.
        ItemValues:
          type: array
          items:
            $ref: '#/components/schemas/TextMatch'
          description: Gets or sets the item values.
        AttributeTypeNames:
          type: array
          items:
            type: string
          description: ' Gets or sets the attribute type names.'
        AttributeValues:
          type: array
          items:
            $ref: '#/components/schemas/TextMatch'
          description: Gets or sets the attribute values.
        AttributeNamesAndValues:
          $ref: '#/components/schemas/Dictionary_String_TextMatch_'
        ChangeType:
          type: string
          description: Gets or sets the device event change type.
        ItemName:
          type: string
          description: Gets or sets the item name (e.g file name etc).
        RuleVariableResults:
          $ref: '#/components/schemas/Dictionary_String_TextMatch_'
        TaskId:
          type: integer
          description: ' Gets or sets the task id.'
          format: int32
        PolicyTemplateNames:
          type: array
          items:
            type: string
          description: ' Gets or sets the report policy template names.'
        NotificationRefIds:
          type: array
          items:
            type: string
          description: Gets or sets the notification ref ids to search for.
        ReportScoreRange:
          $ref: '#/components/schemas/ScoreRange'
      description: Represents a specification limiting the types of events returned from a GetEvents
    TextMatch:
      title: TextMatch
      type: object
      properties:
        Text:
          type: string
          description: Gets or sets the text to match using the given Operator
        CaseSensitive:
          type: boolean
          description: ' Gets or sets a value indicating whether the match is case sensitive.'
          x-nullable: false
        Operator:
          type: string
          description: Gets or sets the operator.
        TextLowerInvariant:
          type: string
          description: Gets the text as lowercase invariant.
      description: 'The event filter text match specifies text to match, together with and operator an case sensitivity setting.'
    Dictionary_String_TextMatch_:
      title: 'Dictionary<String,TextMatch>'
      type: object
      additionalProperties:
        $ref: '#/components/schemas/TextMatch'
      description: 'Dictionary<String,TextMatch>'
    ScoreRange:
      title: ScoreRange
      type: object
      properties:
        Min:
          type: number
          format: double
          x-nullable: false
        Max:
          type: number
          format: double
          x-nullable: false
        Operator:
          type: string
      description: ScoreRange
    SubmitAlertEvents:
      title: SubmitAlertEvents
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/AlertEvent'
          description: Specifies the list of alert events for the hub to process.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of alert events to the system.
    AlertEvent:
      title: AlertEvent
      type: object
      properties:
        NotificationStatus:
          type: string
          description: ' Gets or sets the current notification status of the event'
        AlertDescription:
          type: string
          description: ' Gets or sets the alert description.'
        Severity:
          type: integer
          description: Gets or sets the Severity.
          format: int32
          x-nullable: false
        NotificationType:
          type: string
          description: Gets or sets the notification type.
        NotificationRefIds:
          type: array
          items:
            type: string
          description: 'Gets or sets the notification reference ids for the alert event. Used when an event is only relevant to a specific template, to enable notifications to only be sent to users subscribed to events for that group.'
        Comment:
          type: string
          description: Gets or sets the event comment.
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        DeviceName:
          type: string
          description: Gets or sets the device name.
        Id:
          type: string
          description: Gets or sets the unique event ID
        EventType:
          type: string
          description: Gets or sets the event type.
        DateUtc:
          type: string
          description: Gets or sets the UTC date and time of the event.
          format: date-time
          x-nullable: false
        DateDevice:
          type: string
          description: 'Gets or sets the device date and time of the event, based on the event UtcOffsetHours'
          format: date-time
          x-nullable: false
        DateLocal:
          type: string
          description: 'Gets or sets the local user''s date and time of the event, based on the GetEvents.UserTimeZoneId specified.'
          format: date-time
          x-nullable: false
        Status:
          type: string
          description: Gets or sets the current status of the event
        PlannedChangeStatus:
          type: string
          description: Gets or sets the planned change status.
        PlannedChangeId:
          type: string
          description: Gets or sets the planned change id
        PlannedChangeManual:
          type: boolean
          description: Gets or sets whether event was added to the planned change manually or via a rule.
          x-nullable: false
        Origin:
          type: string
          description: 'Gets or sets the origin of the event (Polling, LiveTracking etc)'
        TimeZoneId:
          type: string
          description: Gets or sets the time zone id.
        UtcOffsetHours:
          type: number
          description: Gets or sets the offset of local time as represented by TimeZoneId and Utc time in hours.
          format: double
          x-nullable: false
        Version:
          type: integer
          description: Gets or sets the object version.
          format: int32
          x-nullable: false
        Score:
          type: number
          description: Gets or sets the score - only used when returning 'ranked' events.
          format: double
          x-nullable: false
        Description:
          type: string
          description: Gets or sets the event description.
        ProcessingTimeMs:
          type: number
          description: Gets or sets the processing time in ms.
          format: double
        Url:
          type: string
          description: Gets a URL of the event to get more details.
        ExtraInfo:
          type: string
          description: 'Gets or sets the extra info. Where the event is an alert notification, this contains information about tracker reconfigurations, this property can be used to hold the data in a more easily parsed form.'
        UsedInBaselines:
          type: array
          items:
            $ref: '#/components/schemas/UsedInBaseline'
          description: 'Gets or sets the links indicating whether the event has been used to create or amend a rule in a baseline report, and the action taken.'
      description: The alert event.
    UsedInBaseline:
      title: UsedInBaseline
      type: object
      properties:
        NotificationRefId:
          type: string
        Action:
          type: string
        User:
          type: string
        DateUtc:
          type: string
          format: date-time
          x-nullable: false
      description: UsedInBaseline
    SubmitAlertEventsLimited:
      title: SubmitAlertEventsLimited
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/AlertEvent'
          description: Specifies the list of alert events for the hub to process.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of alert events to the system. The response can indicate a rate-limiting back off time.
    SubmitBaselineEvents:
      title: SubmitBaselineEvents
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/BaselineEvent'
          description: Specifies the list of baseline events for the hub to process.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of baseline events to the system.
    BaselineEvent:
      title: BaselineEvent
      type: object
      properties:
        BaselineType:
          type: string
          description: ' Gets or sets the baseline type, from None (normal device change event), current baseline state event, historical baseline event.'
        BaselineReason:
          type: string
          description: 'Gets or sets the baseline reason. '
        ConfigId:
          type: string
          description: 'Gets or sets the config id, a string that uniquely identifies the device configuration that generated the event. This id is also supplied with the SubmitAlertEvents reconfigured NotificationType.AgentActivityNotification alert, telling the system that baseline events from that configuration should now be marked as historical.'
        ProcessingCompleteTimeUtc:
          type: string
          description: Gets or sets the processing complete UTC time.
          format: date-time
        NotificationStatus:
          type: string
          description: Gets or sets the current notification status of the event
        ChangeType:
          type: string
          description: 'Gets or sets the change type, specifies whether this is a new, changed or deleted event of the given Types.EventType'
        AttributeSeparators:
          $ref: '#/components/schemas/Dictionary_String_String_'
        CurrentAttributes:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Data:
          type: string
          description: Gets or sets the event data.
        ItemName:
          type: string
          description: 'Gets or sets the name of the item that this event is about. May be a file path, command, windows update id, database table name etc.'
        ItemTypeId:
          type: integer
          description: Gets or sets the item type id.
          format: int32
          x-nullable: false
        ItemTypeName:
          type: string
          description: Gets or sets the item type name.
        TrackerTypeId:
          type: integer
          description: Gets or sets the tracker type id.
          format: int32
          x-nullable: false
        TrackerTypeName:
          type: string
          description: Gets or sets the tracker name.
        NotificationRefIds:
          type: array
          items:
            type: string
          description: Gets or sets the notification reference ids for the baseline event.
        Comment:
          type: string
          description: Gets or sets the event comment.
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        DeviceName:
          type: string
          description: Gets or sets the device name.
        Id:
          type: string
          description: Gets or sets the unique event ID
        EventType:
          type: string
          description: Gets or sets the event type.
        DateUtc:
          type: string
          description: Gets or sets the UTC date and time of the event.
          format: date-time
          x-nullable: false
        DateDevice:
          type: string
          description: 'Gets or sets the device date and time of the event, based on the event UtcOffsetHours'
          format: date-time
          x-nullable: false
        DateLocal:
          type: string
          description: 'Gets or sets the local user''s date and time of the event, based on the GetEvents.UserTimeZoneId specified.'
          format: date-time
          x-nullable: false
        Status:
          type: string
          description: Gets or sets the current status of the event
        PlannedChangeStatus:
          type: string
          description: Gets or sets the planned change status.
        PlannedChangeId:
          type: string
          description: Gets or sets the planned change id
        PlannedChangeManual:
          type: boolean
          description: Gets or sets whether event was added to the planned change manually or via a rule.
          x-nullable: false
        Origin:
          type: string
          description: 'Gets or sets the origin of the event (Polling, LiveTracking etc)'
        TimeZoneId:
          type: string
          description: Gets or sets the time zone id.
        UtcOffsetHours:
          type: number
          description: Gets or sets the offset of local time as represented by TimeZoneId and Utc time in hours.
          format: double
          x-nullable: false
        Version:
          type: integer
          description: Gets or sets the object version.
          format: int32
          x-nullable: false
        Score:
          type: number
          description: Gets or sets the score - only used when returning 'ranked' events.
          format: double
          x-nullable: false
        Description:
          type: string
          description: Gets or sets the event description.
        ProcessingTimeMs:
          type: number
          description: Gets or sets the processing time in ms.
          format: double
        Url:
          type: string
          description: Gets a URL of the event to get more details.
        ExtraInfo:
          type: string
          description: 'Gets or sets the extra info. Where the event is an alert notification, this contains information about tracker reconfigurations, this property can be used to hold the data in a more easily parsed form.'
        UsedInBaselines:
          type: array
          items:
            $ref: '#/components/schemas/UsedInBaseline'
          description: 'Gets or sets the links indicating whether the event has been used to create or amend a rule in a baseline report, and the action taken.'
      description: The device event.
    SubmitBaselineEventsLimited:
      title: SubmitBaselineEventsLimited
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/BaselineEvent'
          description: Specifies the list of baseline events for the hub to process.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of baseline events to the system. The response can indicate a rate-limiting back off time.
    SubmitDeviceEvents:
      title: SubmitDeviceEvents
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/DeviceEvent'
          description: Specifies the list of device events for the hub to process.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of device change events to the system.
    DeviceEvent:
      title: DeviceEvent
      type: object
      properties:
        BaselineType:
          type: string
          description: 'Gets or sets the baseline type, from None (normal device change event), current baseline state event, historical baseline event.'
        ProcessingCompleteTimeUtc:
          type: string
          description: ' Gets or sets the processing complete UTC time.'
          format: date-time
        NotificationStatus:
          type: string
          description: Gets or sets the current notification status of the event
        ChangeType:
          type: string
          description: 'Gets or sets the change type, specifies whether this is a new, changed or deleted event of the given Types.EventType'
        ChangedAttributes:
          type: array
          items:
            type: string
          description: 'Gets or sets the names of the changed attributes, if any.'
        AttributeSeparators:
          $ref: '#/components/schemas/Dictionary_String_String_'
        CurrentAttributes:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Data:
          type: string
          description: Gets or sets the event data.
        ItemName:
          type: string
          description: 'Gets or sets the name of the item that this event is about. May be a file path, command, windows update id, database table name etc.'
        ItemTypeId:
          type: integer
          description: Gets or sets the item type id.
          format: int32
          x-nullable: false
        ItemTypeName:
          type: string
          description: Gets or sets the item type name.
        PreviousAttributes:
          $ref: '#/components/schemas/Dictionary_String_String_'
        TrackerTypeId:
          type: integer
          description: Gets or sets the tracker type id.
          format: int32
          x-nullable: false
        TrackerTypeName:
          type: string
          description: Gets or sets the tracker name.
        NotificationRefIds:
          type: array
          items:
            type: string
          description: 'Gets or sets the notification reference ids for the device event. Used when an event is only relevant to a specific template, to enable notifications to only be sent to users subscribed to events for that group.'
        TextDifferences:
          type: array
          items:
            $ref: '#/components/schemas/TextDifference'
          description: 'List of line text differences, for process output tracker content comparison'
        Comment:
          type: string
          description: Gets or sets the event comment.
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        DeviceName:
          type: string
          description: Gets or sets the device name.
        Id:
          type: string
          description: Gets or sets the unique event ID
        EventType:
          type: string
          description: Gets or sets the event type.
        DateUtc:
          type: string
          description: Gets or sets the UTC date and time of the event.
          format: date-time
          x-nullable: false
        DateDevice:
          type: string
          description: 'Gets or sets the device date and time of the event, based on the event UtcOffsetHours'
          format: date-time
          x-nullable: false
        DateLocal:
          type: string
          description: 'Gets or sets the local user''s date and time of the event, based on the GetEvents.UserTimeZoneId specified.'
          format: date-time
          x-nullable: false
        Status:
          type: string
          description: Gets or sets the current status of the event
        PlannedChangeStatus:
          type: string
          description: Gets or sets the planned change status.
        PlannedChangeId:
          type: string
          description: Gets or sets the planned change id
        PlannedChangeManual:
          type: boolean
          description: Gets or sets whether event was added to the planned change manually or via a rule.
          x-nullable: false
        Origin:
          type: string
          description: 'Gets or sets the origin of the event (Polling, LiveTracking etc)'
        TimeZoneId:
          type: string
          description: Gets or sets the time zone id.
        UtcOffsetHours:
          type: number
          description: Gets or sets the offset of local time as represented by TimeZoneId and Utc time in hours.
          format: double
          x-nullable: false
        Version:
          type: integer
          description: Gets or sets the object version.
          format: int32
          x-nullable: false
        Score:
          type: number
          description: Gets or sets the score - only used when returning 'ranked' events.
          format: double
          x-nullable: false
        Description:
          type: string
          description: Gets or sets the event description.
        ProcessingTimeMs:
          type: number
          description: Gets or sets the processing time in ms.
          format: double
        Url:
          type: string
          description: Gets a URL of the event to get more details.
        ExtraInfo:
          type: string
          description: 'Gets or sets the extra info. Where the event is an alert notification, this contains information about tracker reconfigurations, this property can be used to hold the data in a more easily parsed form.'
        UsedInBaselines:
          type: array
          items:
            $ref: '#/components/schemas/UsedInBaseline'
          description: 'Gets or sets the links indicating whether the event has been used to create or amend a rule in a baseline report, and the action taken.'
      description: The device event.
    TextDifference:
      title: TextDifference
      type: object
      properties:
        ExpectedText:
          type: string
        ActualText:
          type: string
      description: TextDifference
    SubmitDeviceEventsLimited:
      title: SubmitDeviceEventsLimited
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/DeviceEvent'
          description: Specifies the list of device events for the hub to process.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of device change events to the system. The response can indicate a rate-limiting back off time.
    SystemReady:
      title: SystemReady
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets whether system is booted and ready for login.
    SystemDetails:
      title: SystemDetails
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets system version and config settings once logged in.
    GetBackgroundTaskStatuses:
      title: GetBackgroundTaskStatuses
      type: object
      properties:
        UserName:
          type: string
          description: 'Specifies a specific user name to retrieve tasks for (Optional, but only Admin users can retrieve tasks for other users or internal system tasks).'
        StartDateTimeUtc:
          type: string
          description: Specifies the start time (in UTC) for a task to be retrieved (Optional).
          format: date-time
        EndDateTimeUtc:
          type: string
          description: Specifies the end time (in UTC) for a task to be retrieved (Optional).
          format: date-time
        Statuses:
          type: array
          items:
            type: string
            x-nullable: false
          description: Specifies the status of tasks to be retrieved (Optional).
        TaskIds:
          type: array
          items:
            type: string
          description: Specifies a list of specific task ids to retrieved (Optional).
        TaskTypes:
          type: array
          items:
            type: string
          description: Specifies a list of specific task types to be retrieved (Optional).
        IncludeDependentTasks:
          type: boolean
          description: Specifies whether to return the tasks that each task depends on in its DependentTasks property (Optional).
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Retrieves a list of background, potentially long-running, tasks the hub has performed and their associated status.'
    EventsOnIncomingQueue:
      title: EventsOnIncomingQueue
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the number of events currently in the processing queue.
    EventMessageStatus:
      title: EventMessageStatus
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Returns the number of internal event notification messages received, processed or failed.'
    GetPipelineStatus:
      title: GetPipelineStatus
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets the pipeline status, returning a dictionary of pipeline components and their current status.'
    GetPipelineMetrics:
      title: GetPipelineMetrics
      type: object
      properties:
        Interval:
          type: string
        FromUtc:
          type: string
          format: date-time
        ToUtc:
          type: string
          format: date-time
        PipelineNode:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets system performance metrics.
    GetWorkloadStats:
      title: GetWorkloadStats
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Returns the pipeline workload.
    GetCacheStats:
      title: GetCacheStats
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Returns the cache statistics.
    GetOpenApi3Yaml:
      title: GetOpenApi3Yaml
      type: object
      description: GetOpenApi3Yaml
    GetAvailableReportTypes:
      title: GetAvailableReportTypes
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    GetReportTemplate:
      title: GetReportTemplate
      type: object
      properties:
        TemplateType:
          type: string
        RendererType:
          type: string
        TemplateName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    GetReportTemplates:
      title: GetReportTemplates
      type: object
      properties:
        ReportTemplateType:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    GetScheduledReports:
      title: GetScheduledReports
      type: object
      properties:
        Id:
          type: string
        IdType:
          type: string
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
        UsageTag:
          type: string
        IncludeAllUsersReports:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    UpdateReportTemplate:
      title: UpdateReportTemplate
      type: object
      properties:
        TemplateId:
          type: string
        TemplateType:
          type: string
        ReportTemplateName:
          type: string
        ReportTemplateType:
          type: string
        TemplateVersion:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    UploadReportTemplate:
      title: UploadReportTemplate
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name.
        TemplateType:
          type: string
          description: Specifies the template type.
        OverwriteIfExists:
          type: boolean
          description: Specifies a flag to indicate wether or not to overwrite the report / config if it already exists
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    DeleteCustomReportTemplate:
      title: DeleteCustomReportTemplate
      required:
        - ReportTemplateType
        - TemplateName
        - TemplateVersion
      type: object
      properties:
        ReportTemplateType:
          type: string
          description: Gets or sets the ReportTemplateType of the report template to delete.
        TemplateName:
          type: string
          description: Gets or sets the name of the report template to delete.
        TemplateVersion:
          type: string
          description: Gets or sets the version of the report template to delete.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes a report layout template of the specified type and name
    DataSpecDeviceMonitoringReport:
      title: DataSpecDeviceMonitoringReport
      required:
        - DateRange
      type: object
      properties:
        ExcludeEvents:
          type: boolean
          x-nullable: false
        ExcludePlannedChanges:
          type: boolean
          x-nullable: false
        ExcludeTrackerDetails:
          type: boolean
          x-nullable: false
        ExcludeReportDetails:
          type: boolean
          x-nullable: false
        DateRange:
          $ref: '#/components/schemas/ReportDateRange'
        OnlineStatuses:
          type: array
          items:
            type: string
            x-nullable: false
          description: Gets or sets the online statuses of the devices to return. Optional.
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        Id:
          type: string
          description: Specifies the Id of the data query specification
        Type:
          type: string
          description: The Type name of the data query specification
        IteratorValues:
          type: array
          items:
            type: string
          description: 'Used to specify the list of items to report on, for data query specifications that support this. If this is not supplied, SelectionQuery can be used to specify a query to be performed to find the list of ids to report on'
        SelectionQuery:
          $ref: '#/components/schemas/SelectionQuery'
        Groups:
          type: array
          items:
            type: string
          description: Specifies the Groups (and implicitly and child groups) to be reported on in the report.
        ItemName:
          type: string
          description: 'Specifies the descriptive name of the result item, for example ''report'', ''planned change'', ''event'' etc.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to gets the data for a device monitoring report
    ReportDateRange:
      title: ReportDateRange
      type: object
      properties:
        LastNSeconds:
          type: integer
          format: int32
        StartUtc:
          type: string
          format: date-time
        EndUtc:
          type: string
          format: date-time
        SnapToWholeUnit:
          type: boolean
          x-nullable: false
        OffsetUnits:
          type: integer
          format: int32
          x-nullable: false
        TimeZoneId:
          type: string
      description: ReportDateRange
    SelectionQuery:
      title: SelectionQuery
      type: object
      properties:
        Operator:
          type: string
        FieldName:
          type: string
        SearchText:
          type: string
      description: SelectionQuery
    GetRuleResults:
      title: GetRuleResults
      type: object
      properties:
        GroupResultsEventId:
          type: string
        RuleResultStateIds:
          type: array
          items:
            type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: GetRuleResults
    GetComplianceReportSummaryData:
      title: GetComplianceReportSummaryData
      required:
        - ReportItemId
        - ReportInstanceId
      type: object
      properties:
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        ReportInstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        IncludeAgentTaskDetails:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: GetComplianceReportSummaryData
    GetCurrentPlannedChanges:
      title: GetCurrentPlannedChanges
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        PeriodHours:
          type: integer
          format: int32
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Stats Service
    GetComplianceData:
      title: GetComplianceData
      required:
        - ReportItemId
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        FillInMissingData:
          type: boolean
          x-nullable: false
        LeftmostInstanceId:
          type: string
        RightmostInstanceId:
          type: string
        PagingDirection:
          type: string
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        StartUtc:
          type: string
          format: date-time
        EndUtc:
          type: string
          format: date-time
        ReportName:
          type: string
        MaxNumberOfSummaries:
          type: integer
          format: int32
          x-nullable: false
        IncludeAdhocRunsInResults:
          type: boolean
          x-nullable: false
        TimeZoneId:
          type: string
        IncludeDevicesWithNoResults:
          type: boolean
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Get report summaries by report, for either individual devices, or as group average.'
    GetAvailableComplianceData:
      title: GetAvailableComplianceData
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        StartUtc:
          type: string
          format: date-time
        EndUtc:
          type: string
          format: date-time
        ReturnDevices:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get a list of groups or devices that have report data available for them
    GetDeviceActivity:
      title: GetDeviceActivity
      type: object
      properties:
        MaxDevicesToReturn:
          type: integer
          format: int32
          x-nullable: false
        IncludeTaskActivity:
          type: boolean
          x-nullable: false
        IncludeDeletedDevices:
          type: boolean
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a list of inactive devices matching the filter.
    GetEventCounts:
      title: GetEventCounts
      type: object
      properties:
        UseCachedCounts:
          type: boolean
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        TimeZoneId:
          type: string
        StartUtc:
          type: string
          format: date-time
        EndUtc:
          type: string
          format: date-time
        DateRangeSeconds:
          type: integer
          format: int32
          x-nullable: false
        SummaryWindowSeconds:
          type: integer
          format: int32
          x-nullable: false
        InferDateRangeEndpoints:
          type: boolean
          x-nullable: false
        ReturnAsSingleResult:
          type: boolean
          x-nullable: false
        PlannedChangeStatuses:
          type: array
          items:
            type: string
            x-nullable: false
        EventTypes:
          type: array
          items:
            type: string
            x-nullable: false
        PlannedChangeInstanceId:
          type: string
        TrackerTypeNames:
          type: array
          items:
            type: string
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets a summary of event counts for the devices or groups specified by the DeviceFilter, for the specified time period.'
    GetNoisyDevices:
      title: GetNoisyDevices
      type: object
      properties:
        TopN:
          type: integer
          format: int32
          x-nullable: false
      description: 'Gets a summary of event counts for top N noisiest devices in the specified group, for the specified time period.'
    ExecuteReport:
      title: ExecuteReport
      required:
        - ReportItemId
      type: object
      properties:
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    RenderReportIsCached:
      title: RenderReportIsCached
      type: object
      properties:
        RendererType:
          type: string
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        RuleSetResultEventId:
          type: string
          description: 'For compliance reports only, if the InstanceId and ReportItemId are not available, the id of a previously stored RuleSetResultEvent can be supplied in this parameter.'
        Format:
          type: string
        RenderingOptions:
          $ref: '#/components/schemas/RenderingOptionOverrides'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    RenderingOptionOverrides:
      title: RenderingOptionOverrides
      type: object
      properties:
        ShowTableOfContents:
          type: string
        ContainerReportOptions:
          $ref: '#/components/schemas/ReportRenderingOptions'
        SubReportOptions:
          type: array
          items:
            $ref: '#/components/schemas/ReportRenderingOptions'
      description: RenderingOptionOverrides
    ReportRenderingOptions:
      title: ReportRenderingOptions
      type: object
      properties:
        ReportSpecId:
          type: string
        CustomIntroParagraph:
          type: string
        ElementVisibility:
          $ref: '#/components/schemas/ReportElementVisibility'
        TemplateName:
          type: string
        TemplateSubType:
          type: string
      description: ReportRenderingOptions
    ReportElementVisibility:
      title: ReportElementVisibility
      type: object
      properties:
        ShowCustomIntro:
          type: boolean
          x-nullable: false
        ShowAgents:
          type: boolean
          x-nullable: false
        ShowEvents:
          type: boolean
          x-nullable: false
        ShowComments:
          type: boolean
          x-nullable: false
        ShowQueryParameters:
          type: boolean
          x-nullable: false
        ShowResultDescriptions:
          type: boolean
          x-nullable: false
        ShowChildComplianceReports:
          type: string
        ChildComplianceReportScore:
          type: number
          format: double
          x-nullable: false
        ShowResultsOptions:
          type: string
        ChildReportIds:
          type: array
          items:
            $ref: '#/components/schemas/ChildIdDisplay'
        FieldVisibility:
          type: array
          items:
            $ref: '#/components/schemas/FieldDisplay'
      description: ReportElementVisibility
    ChildIdDisplay:
      title: ChildIdDisplay
      type: object
      properties:
        Text:
          type: string
        Value:
          type: string
      description: ChildIdDisplay
    FieldDisplay:
      title: FieldDisplay
      type: object
      properties:
        IsPrev:
          type: boolean
          x-nullable: false
        Fmt:
          type: string
        CalculationType:
          type: string
        ListSeparators:
          type: array
          items:
            type: string
        Hdr:
          type: string
        AttrPrev:
          type: string
        AttrCurr:
          type: string
        FPrev:
          type: string
        FCurr:
          type: string
        Name:
          type: string
      description: FieldDisplay
    RenderReport:
      title: RenderReport
      required:
        - ReportItemId
        - InstanceId
      type: object
      properties:
        RendererType:
          type: string
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Format:
          type: string
        RenderingOptions:
          $ref: '#/components/schemas/RenderingOptionOverrides'
        ReturnAttachment:
          type: boolean
          x-nullable: false
        RuleSetResultEventId:
          type: string
          description: 'For compliance reports only, if the InstanceId and ReportItemId are not available, the id of a previously stored RuleSetResultEvent can be supplied in this parameter.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    RenderReportStart:
      title: RenderReportStart
      required:
        - ReportItemId
        - InstanceId
      type: object
      properties:
        RendererType:
          type: string
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Format:
          type: string
        RenderingOptions:
          $ref: '#/components/schemas/RenderingOptionOverrides'
        RuleSetResultEventId:
          type: string
          description: 'For compliance reports only, if the InstanceId and ReportItemId are not available, the id of a previously stored RuleSetResultEvent can be supplied in this parameter.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    GetScheduledInstanceOutput:
      title: GetScheduledInstanceOutput
      type: object
      properties:
        Id:
          type: string
        ReturnAttachment:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a previously generated report output file
    DeleteScheduledInstanceOutputs:
      title: DeleteScheduledInstanceOutputs
      type: object
      properties:
        Ids:
          type: array
          items:
            type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes previously generated report output files
    DeleteScheduledInstance:
      title: DeleteScheduledInstance
      required:
        - ReportItemId
        - InstanceId
      type: object
      properties:
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    UpdateScheduledInstanceLifetime:
      title: UpdateScheduledInstanceLifetime
      required:
        - ReportItemId
        - InstanceId
      type: object
      properties:
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        KeepResultsUntilUtc:
          type: string
          format: date-time
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    GetScheduledInstanceRendered:
      title: GetScheduledInstanceRendered
      type: object
      properties:
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    AddScheduledReport:
      title: AddScheduledReport
      required:
        - Id
      type: object
      properties:
        Id:
          type: string
          description: 'The id of the type of report to add, from the list supplied by GetAvailableReportTypes'
        IsPublic:
          type: boolean
          description: Indicates whether the report/query can be seen by everyone
          x-nullable: false
        IsEditable:
          type: boolean
          description: 'Indicates whether the report/query can be edited/deleted by everyone. Note, if this is true, IsPublic must also be true'
          x-nullable: false
        IsHidden:
          type: boolean
          description: Indicates whether the report/query is visible in the reports list. Used to create temporary items for interactive 'export to csv' functions.
          x-nullable: false
        AsCopyOf:
          type: string
          description: Specifies as a copy of an existing the report/query with this Id
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a new schedulable report of the type specified by the Id parameter
    UpdateScheduledReport:
      title: UpdateScheduledReport
      type: object
      properties:
        Id:
          type: string
        ShowTableOfContents:
          type: string
          description: Specifies the updated setting for when a table of content page is shown.
        ContainerReport:
          $ref: '#/components/schemas/ReportSpecification'
        Reports:
          type: array
          items:
            $ref: '#/components/schemas/ReportSpecification'
          description: Specifies the updated definition of the sub reports.
        KeepUnscheduledResultsForMinutes:
          type: integer
          description: 'Specifies how long to keep ''adhoc'' (ie non-scheduled) report results for, in minutes.'
          format: int32
          x-nullable: false
        KeepScheduledResultsForMinutes:
          type: integer
          description: 'Specifies how long to keep scheduled report results for, in minutes.'
          format: int32
          x-nullable: false
        WaitForAdhocResultsMinutes:
          type: integer
          description: 'Specifies long to wait for a run''s queries to complete, in minutes.'
          format: int32
          x-nullable: false
        OverrideWaitForResults:
          type: boolean
          description: Specifies whether to override the default behaviour for scheduled queries of waiting until the next scheduled run and use the value specified by WaitForAdhocResultsMinutes instead.
          x-nullable: false
        Schedule:
          $ref: '#/components/schemas/ReportSchedule'
        EmailDelivery:
          $ref: '#/components/schemas/ReportEmailDelivery'
        IsPublic:
          type: boolean
          description: Specifies whether the report/query can be seen by everyone.
          x-nullable: false
        IsEditable:
          type: boolean
          description: Specifies whether the report/query can be edited by everyone.
          x-nullable: false
        IsHidden:
          type: boolean
          description: Specifies whether the report/query can be seen in the UI.
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    ReportSpecification:
      title: ReportSpecification
      type: object
      properties:
        ReportTemplateId:
          type: string
        ReportSpecId:
          type: string
        DataSpecId:
          type: string
        DataSpecType:
          type: string
        DataSpec:
          $ref: '#/components/schemas/DataSpecBase'
        Iterator:
          $ref: '#/components/schemas/IteratorValueSupply'
        DisplayName:
          type: string
        DisplayNameDefault:
          type: string
        RenderingOptions:
          $ref: '#/components/schemas/ReportRenderingOptions'
      description: ReportSpecification
    DataSpecBase:
      title: DataSpecBase
      type: object
      properties:
        Id:
          type: string
          description: Specifies the Id of the data query specification
        Type:
          type: string
          description: The Type name of the data query specification
        IteratorValues:
          type: array
          items:
            type: string
          description: 'Used to specify the list of items to report on, for data query specifications that support this. If this is not supplied, SelectionQuery can be used to specify a query to be performed to find the list of ids to report on'
        SelectionQuery:
          $ref: '#/components/schemas/SelectionQuery'
        Groups:
          type: array
          items:
            type: string
          description: Specifies the Groups (and implicitly and child groups) to be reported on in the report.
        ItemName:
          type: string
          description: 'Specifies the descriptive name of the result item, for example ''report'', ''planned change'', ''event'' etc.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: The base class common to all report data query specifications
    IteratorValueSupply:
      title: IteratorValueSupply
      type: object
      properties:
        IteratorType:
          type: string
        ValueList:
          type: array
          items:
            type: string
        ValuePropertyName:
          type: string
      description: IteratorValueSupply
    ReportSchedule:
      title: ReportSchedule
      type: object
      properties:
        DateMinUtc:
          type: string
          format: date-time
          x-nullable: false
        DateMaxUtc:
          type: string
          format: date-time
          x-nullable: false
        Enabled:
          type: boolean
          description: Specifies a flag to indicate whether the schedule is enabled
          x-nullable: false
        EnabledStartUtc:
          type: string
          format: date-time
          x-nullable: false
        EnabledEndUtc:
          type: string
          format: date-time
          x-nullable: false
        RepeatStartUtc:
          type: string
          format: date-time
          x-nullable: false
        RepeatEveryNPeriods:
          type: integer
          format: int32
          x-nullable: false
        PeriodSizeSeconds:
          type: integer
          format: int32
          x-nullable: false
        TimeZone:
          type: string
      description: Represents the schedule on which to produce and deliver the report.
    ReportEmailDelivery:
      title: ReportEmailDelivery
      type: object
      properties:
        SendEmail:
          type: boolean
          description: Specifies a flag to indicate whether to send an email
          x-nullable: false
        EmailUsers:
          type: array
          items:
            type: string
          description: Specifies a list of system user names to send email to
        Attachment1Format:
          type: string
          description: Specifies the format of the first optional formatted report email attachment.
        Attachment2Format:
          type: string
          description: Specifies the format of the second optional formatted report email attachment.
        Attachment3Format:
          type: string
          description: Specifies the format of the third optional formatted report email attachment.
        Attachment1TemplateName:
          type: string
          description: Specifies the template name used for the first optional formatted report email attachment.
        Attachment2TemplateName:
          type: string
          description: Specifies the template name used for the second optional formatted report email attachment.
        Attachment3TemplateName:
          type: string
          description: Specifies the template name used for the third optional formatted report email attachment.
        DontSendIfNoResultsReturned:
          type: boolean
          description: Specifies a flag to indicate whether or not the results should be sent (notified) if no results where returned
          x-nullable: false
        SuppressResultsLink:
          type: boolean
          description: Specifies a flag to include suppress the link to the results in notification email?
          x-nullable: false
        AdditionalEmailAddresses:
          type: string
          description: Specifies a list of additional email addresses to send the notification to (i.e people that may exist outside the CT system). Semicolon separated.
        ZipAttachments:
          type: boolean
          description: Specifies a flag to include that attachments should be zipped
          x-nullable: false
        ZipPassword:
          type: string
          description: Specifies the password for zipfile when ZipAttachments is used
        DontSendAttachmentsIfLargerThanKb:
          type: integer
          description: Specifies a maxmimum allowed size for attachements in kilobytes. Default 0 means no limit.
          format: int32
          x-nullable: false
      description: ReportEmailDelivery
    DeleteScheduledReports:
      title: DeleteScheduledReports
      type: object
      properties:
        Ids:
          type: array
          items:
            type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    GetScheduledInstances:
      title: GetScheduledInstances
      required:
        - ReportItemId
        - InstanceId
      type: object
      properties:
        SummaryOnly:
          type: boolean
          description: Returns only summary information for use in reporting UI page
          x-nullable: false
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Report Service
    UploadAgentUpdate:
      title: UploadAgentUpdate
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Upload an Agent Update
    UpdateHubDetails:
      title: UpdateHubDetails
      type: object
      properties:
        AgentDeviceIds:
          type: array
          items:
            type: string
        GroupName:
          type: string
        HubServerUrl:
          type: string
        HubAgentUsername:
          type: string
        HubAgentPassword:
          type: string
        HubAgentNamePrefix:
          type: string
        HubAgentNameSuffix:
          type: string
        NewTrustedThumbprint:
          type: string
        NewTrustedPublicKey:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update the HUbDetails.xml file for the specified agents / groups
    DownloadUpdate:
      title: DownloadUpdate
      type: object
      properties:
        VersionRequested:
          type: string
          description: 'Used when requesting an update file from the hub, specifies the specific version required.'
        UpdateType:
          type: string
          description: 'Specifies the update type to download (e,g RPM, DEB etc).'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Download an update package for the agent.
    DeleteAgentUpdate:
      title: DeleteAgentUpdate
      type: object
      properties:
        Id:
          type: string
          description: Specifies the agent update ID to delete.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes the specified Agent update.
    GetAgentUpdates:
      title: GetAgentUpdates
      type: object
      properties:
        VersionRequested:
          type: string
          description: Specifies the (optional) version to get details for.
        Id:
          type: string
          description: Specifies the specific agent update ID to get.
        UpdateType:
          type: string
          description: 'Gets or sets the update type (deb, rpm etc)'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets a list of Agent updates, by version or specific ID.'
    GetAgentSoftwareUpdateScheduleForGroup:
      title: GetAgentSoftwareUpdateScheduleForGroup
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name to remove the schedule for.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the agent software update schedule for a group.
    DeleteAgentSoftwareUpdateScheduleFromGroup:
      title: DeleteAgentSoftwareUpdateScheduleFromGroup
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name to remove the schedule for.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Remove (delete) the agent software update schedule for a group.
    UpdateAgentSoftwareUpdateScheduleForGroup:
      title: UpdateAgentSoftwareUpdateScheduleForGroup
      type: object
      properties:
        GroupName:
          type: string
          description: Gets or sets the group name that the update scheduled applies to.
        AgentUpdateSchedule:
          $ref: '#/components/schemas/GroupAgentUpdateSchedule'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update the agent software update schedule for a group.
    GroupAgentUpdateSchedule:
      title: GroupAgentUpdateSchedule
      type: object
      properties:
        UpdateId:
          type: string
          description: Specifies the Update ID from the AgentSoftwareUpdateService
        AgentVersion:
          type: string
          description: Specifies the version to be downloaded
        UpdateType:
          type: string
          description: Specifies the update type to be downloaded
        StartTimeUtc:
          type: string
          description: Specifies the start date / time for the update to take place
          format: date-time
          x-nullable: false
        EndTimeUtc:
          type: string
          description: Specifies the end date / time for the update to take place
          format: date-time
          x-nullable: false
        GroupName:
          type: string
          description: Specifies the group name this update applies to
        UpgradeToNetCore:
          type: boolean
          description: Specifies whether non-netcore agents will be upgraded to a netcore version
          x-nullable: false
      description: Defines a schedule for a group to receive an agent software update
    SetAgentSoftwareUpdateScheduleForGroup:
      title: SetAgentSoftwareUpdateScheduleForGroup
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name to associate this schedule with.
        AgentUpdateSchedule:
          $ref: '#/components/schemas/GroupAgentUpdateSchedule'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add (set) an agent update schedule for a specific group.  Only one schedule is permitted per group at the current time.
    GetSyncServiceConfigItems:
      title: GetSyncServiceConfigItems
      type: object
      properties:
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of SyncService configuration items.
    AddSyncServiceConfigItem:
      title: AddSyncServiceConfigItem
      required:
        - Key
        - Value
      type: object
      properties:
        Key:
          type: string
          description: The configuration key
        Value:
          type: string
          description: The configuration value
        Hidden:
          type: boolean
          description: Indicates whether this configuration value should be stored as a secret
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a new SyncService configuration item.
    UpdateSyncServiceConfigItem:
      title: UpdateSyncServiceConfigItem
      required:
        - Key
        - Value
      type: object
      properties:
        Key:
          type: string
          description: The configuration key
        Value:
          type: string
          description: The configuration value
        Hidden:
          type: boolean
          description: Indicates whether this configuration value should be stored as a secret
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Updates an existing SyncService configuration item.
    DeleteSyncServiceConfigItem:
      title: DeleteSyncServiceConfigItem
      required:
        - Key
      type: object
      properties:
        Key:
          type: string
          description: The configuration key
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes a SyncService configuration item.
    GetConfigItems:
      title: GetConfigItems
      type: object
      properties:
        Id:
          type: string
          description: Specifies a specific configuration item to retrieve (Optional).
        Key:
          type: string
          description: Specifies a specific configuration parameter 'Key' to retrieved (Optional).
        KeyList:
          type: array
          items:
            type: string
          description: Specifies a list of specific configuration parameter 'Keys' to retrieved (Optional).
        IncludeHidden:
          type: boolean
          description: 'Include hidden, ''system'', parameters.'
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of hub configuration parameters.
    AddConfigItems:
      title: AddConfigItems
      type: object
      properties:
        ConfigItems:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a list of hub configuration parameters.
    UpdateConfigItems:
      title: UpdateConfigItems
      type: object
      properties:
        ConfigItems:
          type: array
          items:
            $ref: '#/components/schemas/UpdateConfigItem'
          description: A list of config items to update.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update a a list of hub configuration parameters.
    UpdateConfigItem:
      title: UpdateConfigItem
      type: object
      properties:
        Id:
          type: string
          description: The specific config value to update (can be used if a multi-value key is being updated or if a key is to be changed).
        Key:
          type: string
          description: The new key value in the case of updating by Id or a the key to search for if updating by key.
        Value:
          type: string
          description: The new value for this config key / id.
        Hidden:
          type: boolean
          description: A boolean indicating whether or not to hide this config item from the UI.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update a single hub configuration parameter by either ID or Key.
    DeleteConfigItem:
      title: DeleteConfigItem
      type: object
      properties:
        Id:
          type: string
          description: Specifies the specific config item to remove.
        Key:
          type: string
          description: 'Specifies the config item key to remove. Note : will remove all instances of config items with the same key.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Remove a hub configuration parameter by either ID or Key.
    AddConfigItem:
      title: AddConfigItem
      type: object
      properties:
        Key:
          type: string
          description: The configuration key you wish to add
        Value:
          type: string
          description: The value of the key
        Hidden:
          type: boolean
          description: A boolean indicating whether or not this is a 'hidden' key (i.e internal not intended for users to change)
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a hub configuration parameter by Key.
    DateTransmissionTest:
      title: DateTransmissionTest
      type: object
      properties:
        DateTime:
          type: string
          description: The date to send to the hub that will be then sent back as the response to ensure no loss of accuracy occurs
          format: date-time
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Echos the specified date/time value to ensure that no serialization issues exist between hub and client.
    AddCredentials:
      title: AddCredentials
      type: object
      properties:
        Credentials:
          $ref: '#/components/schemas/Credentials'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add credentials for specified type and key.
    Credentials:
      title: Credentials
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        CredentialType:
          type: string
          description: Specifies the credential type.
        LegacyDbCredential:
          type: boolean
          description: Specifies whether the credential is a legacy db credential.
          x-nullable: false
        DeviceOnlineDetection:
          type: string
        Key:
          type: string
          description: Specifies the key.
        PublicKeys:
          type: array
          items:
            type: string
          description: Specifies the public keys.
        Parameters:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Prompts:
          type: array
          items:
            type: string
          description: Specifies the prompts.
        DecryptionErrors:
          $ref: '#/components/schemas/Dictionary_String_String_'
        LastModifiedDateUtc:
          type: string
          format: date-time
          x-nullable: false
        IsTrusted:
          type: boolean
          x-nullable: false
        NotTrustedReason:
          type: string
        DiscoveryTaskId:
          type: integer
          format: int32
          x-nullable: false
        DiscoveryStatusMessage:
          type: string
        DiscoveryTaskStatus:
          type: string
      description: 'Represents some credentials used to connect to a remote service (e.g SSH, database etc).'
    UpdateCredentials:
      title: UpdateCredentials
      type: object
      properties:
        CredentialsType:
          type: string
          description: Specifies the original credential type.
        Key:
          type: string
          description: Specifies the original key
        Credentials:
          $ref: '#/components/schemas/Credentials'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update credentials for specified type and key.
    RemoveCredentials:
      title: RemoveCredentials
      type: object
      properties:
        CredentialsType:
          type: string
          description: Specifies the credentials type.
        Key:
          type: string
          description: Specifies the key.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Remove credentials for specified type and key.
    GetCredentialsKeyedByType:
      title: GetCredentialsKeyedByType
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Get a list of all the known credentials, keyed by the type.'
    GetCredentialsList:
      title: GetCredentialsList
      type: object
      properties:
        CredentialType:
          type: string
          description: Specifies the type of credentials to return
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a list of all credentials of the specified type.
    GetAgentTaskStatuses:
      title: GetAgentTaskStatuses
      type: object
      properties:
        Ids:
          type: array
          items:
            type: integer
            format: int32
            x-nullable: false
          description: Specifies the task ids.
        PolicyRunId:
          type: integer
          description: Specifies the policy run id.
          format: int32
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Requests information about the given tasks'' status. If a PolicyRunId is supplied, the tasks associated with it are returned.'
    SubmitAgentTasks:
      title: SubmitAgentTasks
      type: object
      properties:
        Tasks:
          type: array
          items:
            $ref: '#/components/schemas/AgentTask'
          description: Specifies the list of tasks that will be submitted.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a list of tasks for the given agent.
    AgentTask:
      title: AgentTask
      type: object
      properties:
        Id:
          type: integer
          description: Specifies the task id.
          format: int32
          x-nullable: false
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        GroupNames:
          type: array
          items:
            type: string
          description: A list of names the agent device was a member of when the task was defined.
        AgentTaskType:
          type: string
          description: Specifies the agent task type.
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name. Only relevant for certain types of report execution tasks for which it preserves a trace of the source policy name the report is based on.
        PolicyTemplateSignature:
          type: string
          description: Specifies the policy template signature. In combination with the 'PolicyTemplateName' this is used by agents that hold a local cache of report definitions to determine whether the cached version is up to date..
        Text:
          type: string
          description: Specifies the text of the task command.
        Command:
          type: string
          description: Specifies the agent task command - this is an abbreviated form of the Text above with just the command and parameters but no XML
        PolicyRunId:
          type: integer
          description: Specifies run id (a collection of related tasks ids across multiple agent/devices) if party of a scheduled polocy run
          format: int32
          x-nullable: false
        SendProgressEveryNSeconds:
          type: integer
          description: Specifies whether task progress updates are sent every N seconds. A value of zero indicates no percentage progress values are sent.
          format: int32
          x-nullable: false
        Status:
          type: string
          description: 'Specifies the status, ''in progress'', ''complete'' etc. See ''AgentTaskStatus''.'
        StatusMessage:
          type: string
          description: 'Specifies the additional status message, if any.'
        StatusUpdatedUtc:
          type: string
          description: Specifies the utc time the status of the task was updated.
          format: date-time
          x-nullable: false
        AgentTaskCreationDateUtc:
          type: string
          description: Specifies the utc time the task was created.
          format: date-time
          x-nullable: false
        ResultData:
          type: string
          description: Specifies the result data.
        StartDate:
          type: string
          description: Specifies the start date after which this task is active. If null the task will be picked up by the agent immediately.
          format: date-time
        EndDate:
          type: string
          description: Specifies the end date after which this task is no longer active. If null the task will be picked up by the agent whenever it calls in for new tasks.
          format: date-time
        ResultDataItems:
          type: array
          items:
            $ref: '#/components/schemas/AgentDataItem'
          description: Specifies the result data items.
        ExternalResultDataItemsFileId:
          type: string
          description: Specifies the external file id (used if the ResultDataItems above exceeds 16mb)
        ReplyByUtc:
          type: string
          description: Specifies the Utc time by which a reply must be received. Mainly used for report tasks which will be expired when the next run is started. Null if no specific reply-by time
          format: date-time
        ReportItemId:
          type: string
          description: Specifies the scheduled report item Id that this task is associated with. Only applicable to report execution tasks.
        ReportInstanceId:
          type: string
          description: Specifies the scheduled report instance Id that this task is associated with. Only applicable to report execution tasks.
      description: An agent task.
    DownloadFileHashBinary:
      title: DownloadFileHashBinary
      type: object
      properties:
        ReturnUrl:
          type: boolean
          description: Specifies a flag that indicates wether or not to return a URL or the file directly
          x-nullable: false
        HostType:
          type: string
          description: 'Specifies the host type the file hash binary is required for (e.g Unix, Windows etc)'
        OperatingSystem:
          type: string
          description: Specifies the operating system naame (as defined in KnownOsNames).  Optional
        Variant:
          type: string
          description: 'Specifies the operating system / host variant.  e.g x64, 10 SPARC etc'
        FileId:
          type: string
          description: Specifies the specific file id
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Download the filehasing utility app for remote monitoring.
    GetFileHashBinaries:
      title: GetFileHashBinaries
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves the list of file hash binaries available to download from the hub.
    GetPlannedChangeInstanceMembers:
      title: GetPlannedChangeInstanceMembers
      required:
        - InstanceId
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the group and device  members of the specified planned change instance.
    DeletePlannedChangeInstance:
      title: DeletePlannedChangeInstance
      required:
        - InstanceId
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        DeletePlannedChange:
          type: boolean
          description: Delete the 'parent' planned change also?
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes an instance of a planned change from the system.
    DeletePlannedChangeInstanceMember:
      title: DeletePlannedChangeInstanceMember
      required:
        - InstanceId
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group to remove from the planned change.
        AgentDeviceId:
          type: string
          description: Specifies individual device remove from the planned change.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Removes a group or device from a planned change
    AddPlannedChangeInstance:
      title: AddPlannedChangeInstance
      type: object
      properties:
        PlannedChangeName:
          type: string
          description: 'Specifies the planned change definition name. Optional, if not supplied a new empty planned change ruleset is created and returned in the response.'
        DisplayName:
          type: string
          description: Specifies the DisplayName. Required.
        Description:
          type: string
          description: Specifies the description. Required.
        AssignedTo:
          type: string
          description: Specifies the Assigned To Name.
        Origin:
          type: string
          description: 'Specifies the origin of the planned change. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when created by sync service.'
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the groups that are members of the planned change. Optional.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the devices that are explicit members of the planned change. Optional.
        StartTimeUtc:
          type: string
          description: Specifies the UTC start time of the instance. Optional.
          format: date-time
        EndTimeUtc:
          type: string
          description: Specifies the UTC end time of the instance. Optional.
          format: date-time
        PeriodicityCount:
          type: integer
          description: Specifies a value indicating the periodicity of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          format: int32
          x-nullable: false
        PeriodicityUnit:
          type: string
          description: Specifies a value indicating the periodicity unit.
        PeriodDurationCount:
          type: integer
          description: Specifies a value indicating the period duration of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          format: int32
          x-nullable: false
        PeriodDurationUnit:
          type: string
          description: Specifies a value indicating the period duration unit.
        Disabled:
          type: boolean
          description: Specifies a value indicating whether to create the planned change instance in a disabled state.
          x-nullable: false
        DisallowRules:
          type: boolean
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
          x-nullable: false
        UseAttributeRules:
          type: boolean
          description: 'TODO: How do we deal with this? TEMP used to trigger the new file hash based attribute rule generation. Eventually this will be the norm and this property can be removed.'
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a planned change instance.
    UpdatePlannedChangeInstance:
      title: UpdatePlannedChangeInstance
      required:
        - InstanceId
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Description:
          type: string
          description: Specifies the description. Optional.
        PlannedChangeName:
          type: string
          description: Specifies the id (Name) of the ruleset used by this planned change. Optional.
        AssignedTo:
          type: string
          description: Specifies the Assigned To Name.
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the groups that are members of the planned change. Optional.
        StartTimeUtc:
          type: string
          description: Specifies the UTC start time of the instance. Optional.
          format: date-time
        EndTimeUtc:
          type: string
          description: Specifies the UTC end time of the instance. Optional.
          format: date-time
        Started:
          type: boolean
          description: Specifies a value indicating whether the planned change has been started. Optional.
        Ended:
          type: boolean
          description: Specifies a value indicating whether the planned change has been ended. Optional.
        Disabled:
          type: boolean
          description: Specifies a value indicating whether the planned change instance is disabled. Optional.
        DisallowRules:
          type: boolean
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events. Optional.'
        PeriodicityCount:
          type: integer
          description: Specifies a value indicating the periodicity of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          format: int32
        PeriodicityUnit:
          type: string
          description: Specifies a value indicating the periodicity unit.
        PeriodDurationCount:
          type: integer
          description: Specifies a value indicating the period duration of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          format: int32
        PeriodDurationUnit:
          type: string
          description: Specifies a value indicating the period duration unit.
        DisplayName:
          type: string
          description: Specifies the Display Name.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the devices that are explicit members of the planned change. Optional.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update a planned change instance
    ClonePlannedChangeInstance:
      title: ClonePlannedChangeInstance
      required:
        - InstanceId
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        CloneDefinition:
          type: boolean
          description: Specifies the whether to clone the associated PlannedChangeDefinition
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Clone a planned change instance.
    GetPlannedChangeInstancesNameValue:
      title: GetPlannedChangeInstancesNameValue
      type: object
      properties:
        InstanceIds:
          type: array
          items:
            type: string
          description: Specifies the instance id. Optional.
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the member groups to filter by. This is a list of groups that are members of the planned changes instances returned. Optional.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the ids of member devices.
        Description:
          type: string
          description: Specifies the planned change instance description to find. Optional.
        PlannedChangeName:
          type: string
          description: Specifies the planned change definition name to find instances of. Optional.
        DisplayName:
          type: string
          description: Specifies the planned change display name to find instances of. Optional.
        DisplayNameContains:
          type: string
          description: Specifies the planned change instance name fragment to find. Optional.
        ExcludeDisabled:
          type: boolean
          description: 'Specifies a value indicating whether to exclude disabled instances from the list. Optional, defaults to false.'
          x-nullable: false
        ExcludeOutOfSchedule:
          type: boolean
          description: 'Specifies a value indicating whether to exclude instances whose schedule is not currently active from the list. Optional, defaults to false.'
          x-nullable: false
        DisallowRules:
          type: boolean
          description: Specifies an optional value indicating whether the planned change instances returned are allowed to have rules.
        StartDateUtc:
          type: string
          description: Gets or sets the Date/Time of the start date UTC of the Planned Changes to be returned.
          format: date-time
        EndDateUtc:
          type: string
          description: Gets or sets the Date/Time of the end date UTC of the Planned Changes to be returned.
          format: date-time
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets planned change instances name and id, filtering by name, id or groups that are members.'
    AddPlannedChangeInstanceMember:
      title: AddPlannedChangeInstanceMember
      required:
        - InstanceId
      type: object
      properties:
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies names of groups of devices to add to the planned change.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies individual device ids to add to the planned change.
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a list of groups to a planned change
    AddOrUpdatePlannedChangeInstanceFromEvents:
      title: AddOrUpdatePlannedChangeInstanceFromEvents
      required:
        - InstanceId
      type: object
      properties:
        AllEventsSelected:
          type: boolean
          description: Indicates that the All Events option has been selected.
          x-nullable: false
        EventsQuery:
          $ref: '#/components/schemas/GetEvents'
        Name:
          type: string
          description: Specifies the name of the 'PlannedChangeDefinition' to create.
        UpdateExisting:
          type: boolean
          description: Specifies the flag indicating whether or not we're updating an existing planned change
          x-nullable: false
        UseMinimumRules:
          type: boolean
          description: Specifies a value indicating whether to use the minimum possible number rules to match the items.
          x-nullable: false
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the groups that are members of the planned change. Optional.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the devices that are explicit members of the planned change. Optional.
        ReconsiderEventsFromUtc:
          type: string
          description: Specifies the UTC time to reconsider matching events from. If null no events are reprocessed.
          format: date-time
        RuleBuilderItems:
          type: array
          items:
            $ref: '#/components/schemas/RuleBuilderItem'
          description: Specifies the events that make up the initial filter rules of the new 'PlannedChangeInstance'. The matching 'PlannedChangeFilterRuleInferenceOptions' provide details about how the event filter rule is to be constructed.
        PreviewOnly:
          type: boolean
          description: Specifies a value indicating whether to preview the settings for the resulting 'PlannedChangeInstance' or to really created it
          x-nullable: false
        EndDateUtc:
          type: string
          description: Specifies the UTC end date for the new PlannedChangeInstance. If this is null the PlannedChangeInstance is open-ended.
          format: date-time
        Origin:
          type: string
          description: 'Specifies the origin of the planned change. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when creates by sync service.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to add a new planned change and planned change instance based on the given events.
    RuleBuilderItem:
      title: RuleBuilderItem
      type: object
      properties:
        EventType:
          type: string
          description: Specifies the event type of the events in 'EventIds'. Default if not specified is 'DeviceEvent'.
        EventIds:
          type: array
          items:
            type: string
          description: Specifies the event ids.
        PlannedChangeFilterRuleInferenceOptions:
          $ref: '#/components/schemas/PlannedChangeFilterRuleInferenceOptions'
      description: Rule Builder containing Events and Planned Change Filter Rule Options
    PlannedChangeFilterRuleInferenceOptions:
      title: PlannedChangeFilterRuleInferenceOptions
      type: object
      properties:
        FilterByTracker:
          type: boolean
          description: Specifies a value indicating whether to filter by tracker.
          x-nullable: false
        FilterByItemType:
          type: boolean
          description: Specifies a value indicating whether to filter by item type.
          x-nullable: false
        FilterByItemValue:
          type: boolean
          description: Specifies a value indicating whether to filter by item value.
          x-nullable: false
        FilterByAttribute:
          type: boolean
          description: Specifies a value indicating whether to filter by item attribute.
          x-nullable: false
        ItemValueTextMatchOperator:
          type: string
          description: Specifies the item value text match operator.
        ItemValueCaseSensitive:
          type: boolean
          description: Specifies a value indicating whether item value matches are case sensitive.
          x-nullable: false
        ItemValueToMatch:
          type: string
          description: Specifies the item value to match.
      description: The filter rule inference options specify how to create a planned change filter rule from a Device Event
    AddReEvaluationOfPlannedChangeInstanceEvents:
      title: AddReEvaluationOfPlannedChangeInstanceEvents
      required:
        - InstanceId
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        EarliestEventTimeUtc:
          type: string
          description: Specifies the earliest UTC event time. This is the time of earliest events to re-consider for retrospective inclusion in the planned change.
          format: date-time
        LastEventTimeUtc:
          type: string
          description: Specifies the latest UTC event time. This is the time of the last events to re-consider for retrospective inclusion in the planned change.
          format: date-time
        PlannedChangeManual:
          type: boolean
          description: Indicates whether to further restrict the event query to events that were either added to the planned change manually or not (i.e. were added by a rule)
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to re-evaluate the events associated with the specified planned change.
    GetPlannedChangeInstances:
      title: GetPlannedChangeInstances
      type: object
      properties:
        InstanceIds:
          type: array
          items:
            type: string
          description: Specifies the instance id. Optional.
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the member groups to filter by. This is a list of groups that are members of the planned changes instances returned. Optional.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the ids of member devices.
        Description:
          type: string
          description: Specifies the planned change instance description to find. Optional.
        PlannedChangeName:
          type: string
          description: Specifies the planned change definition name to find instances of. Optional.
        DisplayName:
          type: string
          description: Specifies the planned change display name to find instances of. Optional.
        DisplayNameContains:
          type: string
          description: Specifies the planned change instance name fragment to find. Optional.
        ExcludeDisabled:
          type: boolean
          description: 'Specifies a value indicating whether to exclude disabled instances from the list. Optional, defaults to false.'
          x-nullable: false
        ExcludeOutOfSchedule:
          type: boolean
          description: 'Specifies a value indicating whether to exclude instances whose schedule is not currently active from the list. Optional, defaults to false.'
          x-nullable: false
        DisallowRules:
          type: boolean
          description: Specifies an optional value indicating whether the planned change instances returned are allowed to have rules.
        OmitPlannedChangeDefinitions:
          type: boolean
          description: 'Specifies an optional value indicating whether to omit returning the PlannedChangeDefinition on the returned PlannedChangeInstance, useful if you only want a list of instances without the potentially large definitions embedded.'
          x-nullable: false
        OmitExceptKeyValue:
          type: boolean
          x-nullable: false
        StartDateUtc:
          type: string
          description: Gets or sets the Date/Time of the start date UTC of the Planned Changes to be returned.
          format: date-time
        EndDateUtc:
          type: string
          description: Gets or sets the Date/Time of the end date UTC of the Planned Changes to be returned.
          format: date-time
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets planned change instances, filtering by name, id or groups that are members.'
    AddPlannedChange:
      title: AddPlannedChange
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
        Name:
          type: string
          description: Specifies the internally identifying name.
        DisplayName:
          type: string
          description: Specifies the display name.
        Description:
          type: string
          description: Specifies the description text.
        Origin:
          type: string
          description: 'Specifies the origin of the planned change ruleset. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when creates by sync service.'
        CreationDateUtc:
          type: string
          description: Specifies the UTC creation date of the planned change.
          format: date-time
          x-nullable: false
        LastModifiedDateUtc:
          type: string
          description: Specifies the UTC last modified date of the planned change.
          format: date-time
          x-nullable: false
        DisallowRules:
          type: boolean
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
          x-nullable: false
        Rules:
          $ref: '#/components/schemas/Dictionary_String_PlannedChangeRule_'
        RuleCombinationOperator:
          type: string
          description: Specifies the rule combination operator. If this is And it means an event must satisfy all the'Rules'.
      description: Add a planned change definition.
    PlannedChangeRule:
      title: PlannedChangeRule
      type: object
      properties:
        RuleType:
          type: string
          description: Specifies the rule type.
        Id:
          type: string
          description: Specifies the rule id. Unique within the context of the 'PlannedChange'.
        Name:
          type: string
          description: Specifies the name. Optional.
        Order:
          type: integer
          description: Specifies the order id governing order of evaluation of the rules.
          format: int32
          x-nullable: false
        TrackerTypeName:
          type: string
          description: Specifies the tracker type name.
        ItemTypeName:
          type: string
          description: Specifies the item type name.
        NameMatchText:
          type: string
          description: Specifies the name match text.
        NameMatchOperator:
          type: string
          description: Specifies the name match operator.
        NameMatchCaseSensitive:
          type: boolean
          description: Specifies a value indicating whether the name match is case sensitive.
          x-nullable: false
        NameMatchTextLowered:
          type: string
          description: Specifies the 'NameMatchText' in lowered case.
        NameMatchTextUsingCaseSensitivity:
          type: string
          description: Gets the name match text using case sensitivity.
        Description:
          type: string
          description: Gets the description.
        ListFilterAttribute:
          type: string
          description: 'When the RuleType is ListFilter, specifies the name of the attribute used as the source for comparison with the List'
        ListFilterSeparator:
          type: string
          description: Gets or sets the list filter separators.
        List:
          type: array
          items:
            type: string
          description: 'When the RuleType is a ListFilter, specifies the list of List Filter Attribute values used as the source for comparison when the rule is evaluated.'
      description: Represents a rule specifying a requirement that an event be of a particular type.
    Dictionary_String_PlannedChangeRule_:
      title: 'Dictionary<String,PlannedChangeRule>'
      type: object
      additionalProperties:
        $ref: '#/components/schemas/PlannedChangeRule'
      description: 'Dictionary<String,PlannedChangeRule>'
    UploadPlannedChange:
      title: UploadPlannedChange
      type: object
      properties:
        OverwriteIfExists:
          type: boolean
          description: Specifies a flag to indicate wether or not to overwrite the planned change ruleset if it already exists
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Upload a planned change ruleset json file
    DownloadPlannedChange:
      title: DownloadPlannedChange
      type: object
      properties:
        Id:
          type: string
          description: Specifies the planned change rule set id
        IncludeAttributeRuleList:
          type: boolean
          description: Specifies whether to return the List property for attribute list rules. Defaults to false.
          x-nullable: false
        IncludeAttributeRuleText:
          type: boolean
          description: Specifies whether to return the list in the MatchText property for attribute list rules. Defaults to true.
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Download a planned change ruleset json file
    UpdatePlannedChange:
      title: UpdatePlannedChange
      type: object
      properties:
        Name:
          type: string
          description: Specifies the internal Name identifying the planned change. This cannot be updated.
        DisplayName:
          type: string
          description: Specifies the display name.
        Description:
          type: string
          description: Specifies the description text.
        RuleCombinationOperator:
          type: string
          description: Specifies the rule combination operator. If this is And it means an event must satisfy all the 'PlannedChangeDefinition.Rules'.
        DisallowRules:
          type: boolean
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
        Rules:
          $ref: '#/components/schemas/Dictionary_String_PlannedChangeRule_'
        Origin:
          type: string
          description: 'Specifies the origin of the planned change update. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when updated by sync service.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update a planned change definition
    ClonePlannedChange:
      title: ClonePlannedChange
      type: object
      properties:
        Name:
          type: string
          description: Specifies the internal Name identifying the planned change to clone. This cannot be updated.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Clone a planned change definition.
    AnalyzePlannedChange:
      title: AnalyzePlannedChange
      type: object
      properties:
        Name:
          type: string
          description: Specifies the planned change Name. This cannot be updated.
        ReduceRuleIds:
          type: array
          items:
            type: string
          description: Specifies the list of rule ids to be automatically reduced to the minimum set to catch at least the same events. For example two exact name matches of files in the same directory will be reduced to one rule that matches any file in the directory.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Create rule reduction plans, which can be used to simplify rulesets associated with the specified planned change.'
    ApplyPlannedChangePlan:
      title: ApplyPlannedChangePlan
      type: object
      properties:
        Name:
          type: string
          description: Specifies the planned change Name. This cannot be updated.
        RuleIdsToRemove:
          type: array
          items:
            type: string
          description: Specifies the rule ids to remove.
        RuleReductionPlan:
          $ref: '#/components/schemas/RuleReductionPlan2'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Apply rule reduction plans to the specified planned change, simplifying the associated rulesets.'
    RuleReductionPlan2:
      title: RuleReductionPlan2
      type: object
      properties:
        Count:
          type: integer
          description: Gets or sets the count.
          format: int32
          x-nullable: false
        Rules:
          type: array
          items:
            $ref: '#/components/schemas/PlannedChangeRule'
          description: Gets or sets the Planned Change rules.
      description: Rule Reduction Plan containing Planned Change Rules
    UpdatePlannedChangeRule:
      title: UpdatePlannedChangeRule
      type: object
      properties:
        PlannedChangeName:
          type: string
        Rule:
          $ref: '#/components/schemas/PlannedChangeRule'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Updates a rule in a planned change
    UpdatePlannedChangeRules:
      title: UpdatePlannedChangeRules
      type: object
      properties:
        PlannedChangeName:
          type: string
          description: Specifies the planned change definition name.
        Rules:
          $ref: '#/components/schemas/Dictionary_String_PlannedChangeRule_'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Updates the entire rule set in a planned change
    DeletePlannedChangeRule:
      title: DeletePlannedChangeRule
      type: object
      properties:
        PlannedChangeName:
          type: string
          description: Specifies the planned change definition name.
        Id:
          type: string
          description: Specifies the rule id.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Removes a rule from a planned change
    DeletePlannedChange:
      title: DeletePlannedChange
      type: object
      properties:
        Name:
          type: string
          description: Specifies the planned change ruleset definition name to remove.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Delete a planned change ruleset definition from the system.
    AddPlannedChangeRule:
      title: AddPlannedChangeRule
      type: object
      properties:
        PlannedChangeName:
          type: string
          description: Specifies the name of the planned change to which the new rule will be added.
        Rule:
          $ref: '#/components/schemas/PlannedChangeRule'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a rule to a planned change
    GetPlannedChanges:
      title: GetPlannedChanges
      type: object
      properties:
        Name:
          type: string
          description: Specifies the planned change definition name to find.
        DisplayName:
          type: string
          description: Specifies the planned change display name to find.
        DisplayNameContains:
          type: string
          description: Specifies the partial planned change display name to find.
        DisallowRules:
          type: boolean
          description: Specifies an optional value indicating whether the planned changes returned are allowed to have rules.
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets a list of planned change ruleset definitions, filtered by name or id.'
    ParseCommands:
      title: ParseCommands
      type: object
      properties:
        CommandLines:
          type: array
          items:
            type: string
          description: Specifies the command line
        CheckGlobalWhiteList:
          type: boolean
          x-nullable: false
        ParserNames:
          type: array
          items:
            type: string
        ReportTemplateName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Attempts to parse the supplied commandline, returning a list of disallowed command fragments on failure.'
    CreateWhitelistedCommandComponent:
      title: CreateWhitelistedCommandComponent
      type: object
      properties:
        ComponentType:
          type: string
        Value:
          type: string
        Language:
          type: string
        Comment:
          type: string
        IsTrusted:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Attempts to whitelist the supplied command component.
    GetWhitelistedCommandComponent:
      title: GetWhitelistedCommandComponent
      type: object
      properties:
        Value:
          type: string
        ComponentType:
          type: string
        Language:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the whitelisted command component.
    GetAllWhitelistedCommandComponents:
      title: GetAllWhitelistedCommandComponents
      type: object
      properties:
        ValueSearchText:
          type: string
        ComponentTypes:
          type: array
          items:
            type: string
            x-nullable: false
        LanguageNames:
          type: array
          items:
            type: string
        TemplateNames:
          type: array
          items:
            type: string
        IncludeUntrustedOnly:
          type: boolean
          x-nullable: false
        ExcludeUntrusted:
          type: boolean
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Attempts to get all the whitelisted command components.
    UpdateWhitelistedCommandComponent:
      title: UpdateWhitelistedCommandComponent
      type: object
      properties:
        Id:
          type: string
        Value:
          type: string
        Language:
          type: string
        Comment:
          type: string
        IsTrusted:
          type: boolean
        TrustChangeReason:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Attempts to update the supplied command component by id.
    UpdateWhitelistedCommandComponents:
      title: UpdateWhitelistedCommandComponents
      type: object
      properties:
        Ids:
          $ref: '#/components/schemas/IReadOnlyCollection_String_'
        IsTrusted:
          type: boolean
          x-nullable: false
        TrustChangeReason:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Attempts to bulk update the whitelisted command component with the supplied ids.
    IReadOnlyCollection_String_:
      title: IReadOnlyCollection`1
      type: object
      description: IReadOnlyCollection<String>
    AddTemplatesToCommandComponent:
      title: AddTemplatesToCommandComponent
      type: object
      properties:
        TemplateNames:
          type: array
          items:
            type: string
        CommandComponentId:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds the given template(s) to a command component.
    RemoveTemplatesFromCommandComponent:
      title: RemoveTemplatesFromCommandComponent
      type: object
      properties:
        TemplateNames:
          type: array
          items:
            type: string
        CommandComponentId:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Attempts to remove the given template(s) from a command component.
    GetAllCommandComponentTemplates:
      title: GetAllCommandComponentTemplates
      type: object
      properties:
        CommandComponentId:
          type: string
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets all templates of a command component.
    GetAllCommandComponentsTemplates:
      title: GetAllCommandComponentsTemplates
      type: object
      properties:
        CommandComponentIds:
          $ref: '#/components/schemas/IReadOnlyCollection_String_'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets all templates of multiple command components.
    SetAllTemplatesOfCommandComponent:
      title: SetAllTemplatesOfCommandComponent
      type: object
      properties:
        TemplateNames:
          type: array
          items:
            type: string
        CommandComponentId:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Attempts to set the given template(s) to a command component, clearing old templates if they exist.'
    GetCloudTemplateCreationStatus:
      title: GetCloudTemplateCreationStatus
      type: object
      properties:
        ProspectiveName:
          type: string
          description: Specifies the prospective name of a Cloud System so that a check can be made to determine if any of the components already exist
        ReportSpecId:
          type: string
          description: Specifies the id of the ReportSpecification representing this scheduled cloud report
        IncludeIfHidden:
          type: boolean
          description: Whether or not the report associated with the ReportSpecification id will get found if it's in a hidden state
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Provide a ProspectiveName for the Cloud System or a ReportSpecId to identify the associated cloud report but never both. Gets the state of progress in the creation of a new cloud report policy. For example it may be only partially configured and require the addition of credentials before it can be run.
    SetupPolicyTemplate:
      title: SetupPolicyTemplate
      type: object
      properties:
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Ensures that the specified baseline template has the required source and members groups and related scheduled compliance report configured.
    GetPolicyTemplateCreationStatus:
      title: GetPolicyTemplateCreationStatus
      type: object
      properties:
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name to query
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the state of progress in the creation of a new policy. For example it may be only partially configured and require the addition of rules before it can be applied to devices.
    AddPolicyTemplate:
      title: AddPolicyTemplate
      type: object
      properties:
        Template:
          $ref: '#/components/schemas/PolicyTemplateRuleSet'
        UsageTags:
          type: array
          items:
            type: string
          description: 'Specifies the  policy usages type to store on the Template e.g. Baseline, Tracking etc...'
        ChangeComment:
          type: string
          description: Specifies a short description of the change for auditing purposes.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a device config template.
    PolicyTemplateRuleSet:
      title: PolicyTemplateRuleSet
      type: object
      properties:
        RuleSetName:
          type: string
        RuleSetVersion:
          type: string
        RuleSetEdited:
          type: string
        Summary:
          type: string
        Variables:
          type: array
          items:
            $ref: '#/components/schemas/InputVariableType'
        Section:
          type: array
          items:
            $ref: '#/components/schemas/SectionType'
        AutoNumber:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: Gets the version.
          format: int32
          x-nullable: false
        Config:
          $ref: '#/components/schemas/DeviceConfiguration'
        Name:
          type: string
          description: Specifies the name.
        DisplayName:
          type: string
          description: Specifies the display name.
        UpdatedDateUtc:
          type: string
          description: Specifies the UTC date the template was updated.
          format: date-time
          x-nullable: false
        UsageTags:
          $ref: '#/components/schemas/UsageTagsType'
        Audit:
          $ref: '#/components/schemas/AuditType'
      description: Represents a named policy tracking configuration and rule-set template.
    InputVariableType:
      title: InputVariableType
      type: object
      properties:
        Item:
          $ref: '#/components/schemas/BaseValueType'
        DataExtraction:
          $ref: '#/components/schemas/DataExtractionType'
        PostProcessing:
          $ref: '#/components/schemas/PostProcessingType'
        Name:
          type: string
        Description:
          type: string
        DataType:
          type: string
        DataItemsUsed:
          type: string
      description: InputVariableType
    BaseValueType:
      title: BaseValueType
      type: object
      description: BaseValueType
    DataExtractionType:
      title: DataExtractionType
      type: object
      properties:
        Regex:
          $ref: '#/components/schemas/RegexType'
      description: DataExtractionType
    RegexType:
      title: RegexType
      type: object
      properties:
        IgnoreCase:
          type: boolean
          x-nullable: false
        Value:
          type: string
      description: RegexType
    PostProcessingType:
      title: PostProcessingType
      type: object
      properties:
        RegexReplace:
          $ref: '#/components/schemas/RegexType'
        RegexReplacements:
          $ref: '#/components/schemas/PostProcessingTypeRegexReplacements'
        TokenReplacements:
          $ref: '#/components/schemas/PostProcessingTypeTokenReplacements'
        MissingValueReplacement:
          $ref: '#/components/schemas/PostProcessingTypeMissingValueReplacement'
        ConvertSDDLToReadable:
          type: boolean
          x-nullable: false
        TrimValue:
          type: boolean
          x-nullable: false
        RemoveEmptyValues:
          type: boolean
          x-nullable: false
        RemoveChars:
          type: string
        ListSeparator:
          type: string
        ChangeCase:
          type: string
        ChangeCaseSpecified:
          type: boolean
          x-nullable: false
      description: PostProcessingType
    PostProcessingTypeRegexReplacements:
      title: PostProcessingTypeRegexReplacements
      type: object
      properties:
        Replace:
          type: array
          items:
            $ref: '#/components/schemas/PostProcessingTypeRegexReplacementsReplace'
      description: PostProcessingTypeRegexReplacements
    PostProcessingTypeRegexReplacementsReplace:
      title: PostProcessingTypeRegexReplacementsReplace
      type: object
      properties:
        From:
          type: string
        To:
          type: string
      description: PostProcessingTypeRegexReplacementsReplace
    PostProcessingTypeTokenReplacements:
      title: PostProcessingTypeTokenReplacements
      type: object
      properties:
        TokenNames:
          type: string
      description: PostProcessingTypeTokenReplacements
    PostProcessingTypeMissingValueReplacement:
      title: PostProcessingTypeMissingValueReplacement
      type: object
      properties:
        Substitute:
          type: string
      description: PostProcessingTypeMissingValueReplacement
    SectionType:
      title: SectionType
      type: object
      properties:
        TextPara:
          type: array
          items:
            $ref: '#/components/schemas/TextParaType'
        Category:
          type: array
          items:
            $ref: '#/components/schemas/SectionTypeCategory'
        Name:
          type: string
        Number:
          type: string
      description: SectionType
    TextParaType:
      title: TextParaType
      type: object
      properties:
        Icon:
          type: string
        Title:
          type: string
        Value:
          type: string
      description: TextParaType
    SectionTypeCategory:
      title: SectionTypeCategory
      type: object
      properties:
        TextPara:
          type: array
          items:
            $ref: '#/components/schemas/TextParaType'
        SubCategory:
          type: array
          items:
            $ref: '#/components/schemas/SectionTypeCategorySubCategory'
        Name:
          type: string
        Number:
          type: string
      description: SectionTypeCategory
    SectionTypeCategorySubCategory:
      title: SectionTypeCategorySubCategory
      type: object
      properties:
        TextPara:
          type: array
          items:
            $ref: '#/components/schemas/TextParaType'
        Rule:
          type: array
          items:
            $ref: '#/components/schemas/RuleType'
        Name:
          type: string
        Number:
          type: string
      description: SectionTypeCategorySubCategory
    RuleType:
      title: RuleType
      type: object
      properties:
        Description:
          type: string
        InputVariableRef:
          type: array
          items:
            type: string
        InputVariableSource:
          type: array
          items:
            $ref: '#/components/schemas/RuleTypeInputVariableSource'
        InputVariable:
          type: array
          items:
            $ref: '#/components/schemas/InputVariableType'
        RuleExpression:
          type: array
          items:
            $ref: '#/components/schemas/RuleExpressionType'
        ResultText:
          $ref: '#/components/schemas/RuleTypeResultText'
        Number:
          type: string
        Name:
          type: string
        NoExpansionOfEnvironmentVariables:
          type: boolean
          x-nullable: false
        RuleExpressionPassesRequired:
          type: string
        ScoreType:
          type: integer
          format: int32
          x-nullable: false
        Severity:
          type: string
      description: RuleType
    RuleTypeInputVariableSource:
      title: RuleTypeInputVariableSource
      type: object
      properties:
        Name:
          type: string
        Value:
          type: string
      description: RuleTypeInputVariableSource
    RuleExpressionType:
      title: RuleExpressionType
      type: object
      properties:
        UsageTags:
          $ref: '#/components/schemas/UsageTagsType'
        Rule:
          type: string
        ShowFailuresExpression:
          type: string
        FailuresExpression:
          type: string
        FailuresExpressionMaxChars:
          type: integer
          format: int32
          x-nullable: false
        ShowPassesExpression:
          type: string
        PassesExpression:
          type: string
        PassesExpressionMaxChars:
          type: integer
          format: int32
          x-nullable: false
        AllowMissingDataInNamedVariables:
          type: string
      description: RuleExpressionType
    UsageTagsType:
      title: UsageTagsType
      type: object
      properties:
        UsageTag:
          type: array
          items:
            type: string
            x-nullable: false
      description: UsageTagsType
    RuleTypeResultText:
      title: RuleTypeResultText
      type: object
      properties:
        GeneralPreamble:
          type: string
        ShowGeneralPreamble:
          type: string
        FailuresSeparator:
          type: string
        FailuresPreamble:
          type: string
        ShowFailuresPreamble:
          type: string
        PassesSeparator:
          type: string
        NewlineToken:
          type: string
        PassesPreamble:
          type: string
        ShowPassesPreamble:
          type: string
        EndSummary:
          type: string
        ShowEndSummary:
          type: string
        GeneralPreambleExpanded:
          type: string
        PassesPreambleExpanded:
          type: string
        FailuresPreambleExpanded:
          type: string
      description: RuleTypeResultText
    DeviceConfiguration:
      title: DeviceConfiguration
      type: object
      properties:
        Version:
          type: integer
          description: Gets the version.
          format: int32
          x-nullable: false
        FilePathMatches:
          type: array
          items:
            $ref: '#/components/schemas/FilePathMatch'
          description: Specifies the file path matches.
        RegistryPathMatches:
          type: array
          items:
            $ref: '#/components/schemas/RegistryPathMatch'
          description: Specifies the registry path matches.
        Name:
          type: string
          description: Specifies the name. This is usually set to the same name as its parent 'DeviceTemplate'.
        RegistryTrackerChangesFilters:
          type: array
          items:
            $ref: '#/components/schemas/RegistryTrackerChangesFilter'
          description: Gets or sets the registry tracker changes filters
        FileTrackerChangesFilters:
          type: array
          items:
            $ref: '#/components/schemas/FileTrackerChangesFilter'
          description: Gets or sets the file tracker changes filters.
        FileSystemTracker:
          $ref: '#/components/schemas/FileSystemTracker'
        DatabaseTracker:
          $ref: '#/components/schemas/DatabaseTracker'
        RegistryTracker:
          $ref: '#/components/schemas/RegistryTracker'
        ProcessTracker:
          $ref: '#/components/schemas/ProcessTracker'
        InstalledSoftwareTracker:
          $ref: '#/components/schemas/InstalledSoftwareTracker'
        SecurityPolicyTracker:
          $ref: '#/components/schemas/SecurityPolicyTracker'
        ProcessOutputTracker:
          $ref: '#/components/schemas/ProcessOutputTracker'
        FileContentTracker:
          $ref: '#/components/schemas/FileContentTracker'
        WindowsAccountTracker:
          $ref: '#/components/schemas/WindowsAccountTracker'
        NetworkPortTracker:
          $ref: '#/components/schemas/NetworkPortTracker'
        SplunkTracker:
          $ref: '#/components/schemas/SplunkTracker'
        AgentTracker:
          $ref: '#/components/schemas/AgentTracker'
        NotificationRefId:
          type: string
          description: 'Specifies a value indicating the default NotificationRefId for the template, used for future trackers'
      description: The device tracker configuration applied to a device via a Device Template
    FilePathMatch:
      title: FilePathMatch
      type: object
      properties:
        Name:
          type: string
          description: Gets or sets the name.
        Description:
          type: string
          description: Gets or sets the description.
        FolderMatchType:
          type: string
          description: Gets or sets the type of the folder match.
        FolderMatchExpression:
          type: string
          description: Gets or sets the folder match expression.
        FileMatchType:
          type: string
          description: Gets or sets the type of the file match.
        FileMatchExpression:
          type: string
          description: Gets or sets the file match expression.
        RecursionLevel:
          type: integer
          description: 'Specifies the level of recursion into subfolders. Zero means none, ie tracking this folder only, one means one level down etc.'
          format: int32
          x-nullable: false
        SkipRootFolder:
          type: boolean
          description: Gets or sets a value indicating whether the skip root folder.
          x-nullable: false
        IsSystem:
          type: boolean
          description: 'Specifies a value indicating whether this is a system item, or local to the template.'
          x-nullable: false
      description: The file path match represents the path match specifications for a file.
    RegistryPathMatch:
      title: RegistryPathMatch
      type: object
      properties:
        Name:
          type: string
          description: Gets or sets the name of the Registry Path Match.
        Description:
          type: string
          description: Gets or sets the description of the Registry Path Match.
        KeyMatchType:
          type: string
          description: Gets or sets the type of the key match.
        KeyMatchExpression:
          type: string
          description: Gets or sets the key match expression.
        ValueMatchType:
          type: string
          description: Gets or sets the type of the value match.
        ValueMatchExpression:
          type: string
          description: Gets or sets the value match expression.
        RecursionLevel:
          type: integer
          description: Gets or sets the recursion level.
          format: int32
          x-nullable: false
        SkipRootKey:
          type: boolean
          description: Gets or sets a value indicating whether to skip the root key.
          x-nullable: false
        IsSystem:
          type: boolean
          description: 'Specifies a value indicating whether this is a system item, or local to the template.'
          x-nullable: false
      description: The registry path match represents the path match specifications for a registry key and values.
    RegistryTrackerChangesFilter:
      title: RegistryTrackerChangesFilter
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name of the group of filter settings.
        Description:
          type: string
          description: Specifies the description of the group of filter settings.
        WatchRegKey:
          type: boolean
          description: Specifies a value indicating whether to report changes to registry keys.
          x-nullable: false
        DataValue:
          type: boolean
          description: Specifies a value indicating whether to report changes to registry key values.
          x-nullable: false
        DataType:
          type: boolean
          description: Specifies a value indicating whether to report changes to registry key data types.
          x-nullable: false
        Security:
          type: boolean
          description: Specifies a value indicating whether to report changes to security descriptor.
          x-nullable: false
        IsSystem:
          type: boolean
          description: 'Specifies a value indicating whether this is a system item, or local to the template.'
          x-nullable: false
      description: The registry tracker changes filter represents the types of changes to registry keys and values to be monitored.
    FileTrackerChangesFilter:
      title: FileTrackerChangesFilter
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name of the group of filter settings.
        Description:
          type: string
          description: Specifies the description of the group of filter settings.
        WatchDirectories:
          type: boolean
          description: Specifies a value indicating whether to report changes to directories.
          x-nullable: false
        WatchFiles:
          type: boolean
          description: Specifies a value indicating whether to report changes to files.
          x-nullable: false
        Created:
          type: boolean
          description: Specifies a value indicating whether to report changes to created date and time.
          x-nullable: false
        Length:
          type: boolean
          description: Specifies a value indicating whether to report changes to file length (ignored for directories).
          x-nullable: false
        DataStreams:
          type: boolean
          description: Specifies a value indicating whether to report changes to datastreams.
          x-nullable: false
        LastAccess:
          type: boolean
          description: Specifies a value indicating whether to report changes to last access date and time.
          x-nullable: false
        LastWrite:
          type: boolean
          description: Specifies a value indicating whether to report changes to last write date and time.
          x-nullable: false
        FileName:
          type: boolean
          description: Specifies a value indicating whether to report changes to file names.
          x-nullable: false
        DirectoryName:
          type: boolean
          description: Specifies a value indicating whether to report changes to directory names.
          x-nullable: false
        Attributes:
          type: boolean
          description: 'Specifies a value indicating whether to report changes to file attributes (readonly, archive, hidden etc).'
          x-nullable: false
        Security:
          type: boolean
          description: Specifies a value indicating whether to report changes to security descriptor.
          x-nullable: false
        Content:
          type: boolean
          description: Specifies a value indicating whether to report changes to file content.
          x-nullable: false
        IsSystem:
          type: boolean
          description: 'Specifies a value indicating whether this is a system item, or local to the template.'
          x-nullable: false
        All:
          type: boolean
          description: Gets or sets a value indicating whether to use all filters
          x-nullable: false
      description: The file tracker changes filter represents the types of changes to files and folders to be monitored.
    FileSystemTracker:
      title: FileSystemTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        Name:
          type: string
          description: Gets or sets the name of the File System Tracker.
        Description:
          type: string
          description: ' Gets or sets the description of the File System Tracker.'
        FolderDetails:
          type: array
          items:
            $ref: '#/components/schemas/FolderDetail'
          description: Gets or sets the folder details.
        FolderExcludes:
          type: array
          items:
            $ref: '#/components/schemas/FolderExclude'
          description: Specifies the folder excludes.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether the send baseline data.
          x-nullable: false
      description: The file system tracker specifies file tracker settings in a Device Configuration
    TrackerSchedule:
      title: TrackerSchedule
      type: object
      properties:
        StartDateUtc:
          type: string
          description: Gets or sets the start date UTC.
          format: date-time
        PeriodMinutes:
          type: integer
          description: Gets or sets the period minutes.
          format: int32
          x-nullable: false
        Description:
          type: string
          description: Gets the Tracker Schedule description.
      description: The tracker schedule specifies tracker schedule in a Device Configuration
    FolderDetail:
      title: FolderDetail
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_FolderDetail_'
        FilterName:
          type: string
          description: 'Specifies the filter name. If this is set and ''FileTrackerChangesFilter'' is not set, the FilterName is assumed to be a reference to a system defined match. If FileTrackerChangesFilter is set and FilterName not set, the FileTrackerChangesFilter is assumed to be specific to this FolderDetail and will be stored with a system created unique name.'
        Hashing:
          type: string
          description: Gets or sets the hashing.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        Path:
          type: string
          description: ' Gets or sets the full pathname of the file.'
        PathMatchName:
          type: string
          description: 'Specifies the path match name. If this is set and ''FilePathMatch'' is not set, the PathMatchName is assumed to be a reference to a system defined match. If FilePathMatch is set and PathMatchName not set, the FilePathMatch is assumed to be specific to this FolderDetail and will be stored with a system created unique name.'
        FilePathMatch:
          $ref: '#/components/schemas/FilePathMatch'
        IsSystemDefinedPathMatch:
          type: boolean
          description: Specifies a value indicating whether the 'FilePathMatch' is system defined.
          x-nullable: false
        FileTrackerChangesFilter:
          $ref: '#/components/schemas/FileTrackerChangesFilter'
        IsSystemDefinedChangesFilter:
          type: boolean
          description: Specifies a value indicating whether is system defined changes filter.
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: The folder detail specifies details of a folder to track in a Device Configuration
    IEqualityComparer_FolderDetail_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<FolderDetail>
    FolderExclude:
      title: FolderExclude
      type: object
      properties:
        Path:
          type: string
          description: 'Gets or sets the full pathname of the file. '
        PathMatchName:
          type: string
          description: 'Specifiesthe path match name. If this is set and ''FilePathMatch'' is not set, the PathMatchName is assumed to be a reference to a system defined match. If FilePathMatch is set and PathMatchName not set, the FilePathMatch is assumed to be specific to this FolderDetail and will be stored with a system created unique name.'
        FilePathMatch:
          $ref: '#/components/schemas/FilePathMatch'
        IsSystemDefinedPathMatch:
          type: boolean
          description: Specifies a value indicating whether the 'FilePathMatch' is system defined.
          x-nullable: false
      description: A folder exclude.
    DatabaseTracker:
      title: DatabaseTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        Name:
          type: string
          description: Gets or sets the Database Tracker name.
        Description:
          type: string
          description: Gets or sets the description.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
        TrackUserAccounts:
          type: boolean
          description: Gets or sets a value indicating whether to track user accounts.
          x-nullable: false
        TrackUserRoles:
          type: boolean
          description: Gets or sets a value indicating whether to track user roles.
          x-nullable: false
        TrackSchemas:
          type: boolean
          description: Gets or sets a value indicating whether to track schemas.
          x-nullable: false
        DatabasePlatform:
          type: string
          description: Gets or sets the database platform.
        Instances:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseInstanceTracked'
          description: Gets or sets the database instances to be tracked.
      description: The database tracker specifies database settings in a Device Configuration
    DatabaseInstanceTracked:
      title: DatabaseInstanceTracked
      type: object
      properties:
        DatabasePlatform:
          type: string
          description: Specifies the database platform.
        CredentialsKey:
          type: string
          description: Specifies the credentials key.
        VersionNumber:
          type: number
          description: Specifies the database platform version number.
          format: float
          x-nullable: false
        IgnoreCase:
          type: boolean
          description: Specifies a value indicating whether to ignore case in object names etc.
          x-nullable: false
        Databases:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseTracked'
          description: Gets the databases.
        Name:
          type: string
          description: Specifies the Name. This is a name to use in the user interface and doesn't necessarily need to match the server or instance name as these are typically held in the data provided via the 'CredentialsKey' lookup.
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Describes the tracking options on a specific database instance on a single server.
    DatabaseTracked:
      title: DatabaseTracked
      type: object
      properties:
        Name:
          type: string
          description: Gets or sets the database tracker name.
        Instance:
          $ref: '#/components/schemas/DatabaseInstanceTracked'
        TableMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: '>Gets or sets the table matches.'
        UserMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: Gets or sets the user matches.
        ConfigItemMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: Gets or sets the configuration item matches.
        ViewMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: Gets or sets the view matches.
        TriggerMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: Gets or sets the trigger matches.
        ProcedureMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: Gets or sets the procedure matches.
        AuditOptionMatches:
          type: array
          items:
            $ref: '#/components/schemas/InclusionItemMatch'
          description: Gets or sets the audit option matches.
      description: Specifies the database tracker settings.
    InclusionItemMatch:
      title: InclusionItemMatch
      type: object
      properties:
        IncludedIfMatches:
          type: boolean
          description: summary
          x-nullable: false
        ItemMatchPattern:
          type: string
          description: Gets or sets the item match pattern.
        ItemMatchType:
          type: string
          description: Gets or sets the type of the item match.
        CaseSensitive:
          type: boolean
          description: Gets or sets a value indicating whether the match is case sensitive.
          x-nullable: false
      description: summary
    RegistryTracker:
      title: RegistryTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        Name:
          type: string
          description: Gets or sets the Registry Tracker name.
        Description:
          type: string
          description: Gets or sets the Registry Tracker description.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        RegKeyDetails:
          type: array
          items:
            $ref: '#/components/schemas/RegKeyDetail'
          description: Gets or sets the reg key details.
        RegKeyExcludes:
          type: array
          items:
            $ref: '#/components/schemas/RegKeyExclude'
          description: Specifies the folder excludes.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
      description: The registry tracker specifies registry tracker settings in a DeviceConfiguration.
    RegKeyDetail:
      title: RegKeyDetail
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_RegKeyDetail_'
        FilterName:
          type: string
          description: 'Specifies the filter name. If this is set and ''FileTrackerChangesFilter'' is not set, the FilterName is assumed to be a reference to a system defined match. If FileTrackerChangesFilter is set and FilterName not set, the FileTrackerChangesFilter is assumed to be specific to this FolderDetail and will be stored with a system created unique name.'
        Path:
          type: string
          description: Gets or sets the path.
        PathMatchName:
          type: string
          description: 'Specifies the path match name. If this is set and ''RegistryPathMatch'' is not set, the PathMatchName is assumed to be a reference to a system defined match. If RegistryPathMatch is set and PathMatchName not set, the RegistryPathMatch is assumed to be specific to this RegKeyDetail and will be stored with a system created unique name.'
        RegistryPathMatch:
          $ref: '#/components/schemas/RegistryPathMatch'
        IsSystemDefinedPathMatch:
          type: boolean
          description: Specifies a value indicating whether the 'RegistryPathMatch' is system defined.
          x-nullable: false
        RegistryTrackerChangesFilter:
          $ref: '#/components/schemas/RegistryTrackerChangesFilter'
        IsSystemDefinedChangesFilter:
          type: boolean
          description: Specifies a value indicating whether is system defined changes filter.
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: The Reg Key detail specfies details of a Reg Key to track in a Device Configuration
    IEqualityComparer_RegKeyDetail_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<RegKeyDetail>
    RegKeyExclude:
      title: RegKeyExclude
      type: object
      properties:
        Path:
          type: string
          description: Gets or sets the path.
        PathMatchName:
          type: string
          description: 'Specifies the path match name. If this is set and ''RegistryPathMatch'' is not set, the PathMatchName is assumed to be a reference to a system defined match. If RegistryPathMatch is set and PathMatchName not set, the RegistryPathMatch is assumed to be specific to this RegKeyExclude and will be stored with a system created unique name.'
        RegistryPathMatch:
          $ref: '#/components/schemas/RegistryPathMatch'
        IsSystemDefinedPathMatch:
          type: boolean
          description: Specifies a value indicating whether the 'RegistryPathMatch' is system defined.
          x-nullable: false
      description: summary
    ProcessTracker:
      title: ProcessTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        LogWhiteListedActivity:
          type: boolean
          description: Gets or sets a value indicating whether to log white listed activity.
          x-nullable: false
        ReportUnCategorised:
          type: boolean
          description: Gets or sets a value indicating whether to report uncategorised Processes
          x-nullable: false
        ReportChanges:
          type: boolean
          description: Specifies a value indicating whether to report process and service start-stop change events. Setting this true means the tracker will alert on every process and service start and stop event.
          x-nullable: false
        Processes:
          type: array
          items:
            $ref: '#/components/schemas/Process'
          description: Gets or sets a list of processes.
        Services:
          type: array
          items:
            $ref: '#/components/schemas/Service'
          description: Gets or sets a list of services.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Tracker for Processes
    Process:
      title: Process
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_Process_'
        Name:
          type: string
          description: Gets or sets the Process name.
        Category:
          type: string
          description: Gets or sets the category.
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: ' Represents an expected process state as tracked by the Process Tracker'
    IEqualityComparer_Process_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<Process>
    Service:
      title: Service
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_Service_'
        Name:
          type: string
          description: Gets or sets the Service name.
        State:
          type: string
          description: Gets or sets the Service's state.
        StartMode:
          type: string
          description: Gets or sets the start mode.
        Caption:
          type: string
          description: Gets or sets the caption.
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Represents an expected service state as tracked by the Process Tracker
    IEqualityComparer_Service_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<Service>
    InstalledSoftwareTracker:
      title: InstalledSoftwareTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: '>Gets or sets a value indicating whether to send baseline data.'
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Tracker for Installed Software
    SecurityPolicyTracker:
      title: SecurityPolicyTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Tracker for Security Policies
    ProcessOutputTracker:
      title: ProcessOutputTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        ProcessOutput:
          type: array
          items:
            $ref: '#/components/schemas/ProcessOutput'
          description: Gets or sets the process output.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data
          x-nullable: false
      description: Tracker for Process Output
    ProcessOutput:
      title: ProcessOutput
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_ProcessOutput_'
        Name:
          type: string
          description: Gets or sets the Process Output name.
        CommandLine:
          type: string
          description: Gets or sets the command line.
        CommandLineScript:
          type: string
          description: 'Gets or sets the multi-line command script, when CommandType is PowerShellScript.'
        CommandType:
          type: string
          description: Gets or sets the type of the command.
        RegularExpression:
          type: string
          description: Gets or sets the regular expression.
        RegularExpressionIgnoreCase:
          type: boolean
          description: Gets or sets a value indicating whether a regular expression will ignore case
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Represents a process output as tracked by the Process Output Tracker
    IEqualityComparer_ProcessOutput_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<ProcessOutput>
    FileContentTracker:
      title: FileContentTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        Name:
          type: string
          description: Gets or sets the name
        Description:
          type: string
          description: Gets or sets the description.
        Files:
          type: array
          items:
            $ref: '#/components/schemas/File'
          description: Gets or sets the files.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: 'Gets or sets a value indicating whether the send baseline data. '
          x-nullable: false
      description: he file content tracker specifies file content settings in a Device Configuration
    File:
      title: File
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_File_'
        RegularExpressionIgnoreCase:
          type: boolean
          description: Specifies a value indicating whether the regular expression should ignore case.
          x-nullable: false
        RegularExpression:
          type: string
          description: Specifies the regular expression. Optional.
        Path:
          type: string
          description: Specifies the path to the file to be tracked.
        Name:
          type: string
          description: 'Specifies the name. Identifies the meaning of the file, e.g. ''web application configuration file'', or where a ''RegularExpression'' is specified this name can be used to identify the part of the file that is being extracted. E.g. ''Apache release version''.'
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: ' Represents a file tracked by the File Content Tracker'
    IEqualityComparer_File_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<File>
    WindowsAccountTracker:
      title: WindowsAccountTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        TrackDomainControllerAccounts:
          type: boolean
          description: Gets or sets a value indicating whether to track domain controller accounts.
          x-nullable: false
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: Tracker for Windows Accounts
    NetworkPortTracker:
      title: NetworkPortTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        Description:
          type: string
          description: Gets or sets the description for the network port tracker.
        PortIncludes:
          type: array
          items:
            $ref: '#/components/schemas/PortRangeDetail'
          description: Specifies the port include ranges.
        PortExcludes:
          type: array
          items:
            $ref: '#/components/schemas/PortRangeDetail'
          description: Specifies the port exclude ranges.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
      description: The network ports tracker specifies port tracker settings in a Device Configuration
    PortRangeDetail:
      title: PortRangeDetail
      type: object
      properties:
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_PortRangeDetail_'
        Start:
          type: integer
          description: Specifies the port range start.
          format: int32
          x-nullable: false
        End:
          type: integer
          description: Specifies the port range end.
          format: int32
          x-nullable: false
        Description:
          type: string
          description: Specifies the description.
        Protocols:
          type: string
          description: Specifies the protocols.
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
      description: The port range detail specfies details of a port range to track or exclude in a Device Configuration
    IEqualityComparer_PortRangeDetail_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<PortRangeDetail>
    SplunkTracker:
      title: SplunkTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        SplunkQuery:
          type: array
          items:
            $ref: '#/components/schemas/SplunkQuery'
          description: Gets or sets the search queries.
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data
          x-nullable: false
      description: Tracker for Splunk integration
    SplunkQuery:
      title: SplunkQuery
      type: object
      properties:
        Name:
          type: string
          description: Gets or sets the Splunk name.
        SearchQuery:
          type: string
          description: Gets or sets the Splunk Search Query.
        NotificationRefId:
          type: array
          items:
            type: string
          description: Specifies a value indicating the template(s) the tracked entity was present in
        CompareExcludingNotificationRefId:
          $ref: '#/components/schemas/IEqualityComparer_SplunkQuery_'
      description: Represents a Splunk Query as tracked by the Splunk Tracker
    IEqualityComparer_SplunkQuery_:
      title: IEqualityComparer`1
      type: object
      description: IEqualityComparer<SplunkQuery>
    AgentTracker:
      title: AgentTracker
      type: object
      properties:
        Schedule:
          $ref: '#/components/schemas/TrackerSchedule'
        TrackingStyle:
          type: string
          description: Gets or sets the tracking style.
        SendBaselineData:
          type: boolean
          description: Gets or sets a value indicating whether to send baseline data.
          x-nullable: false
      description: The agent tracker returns the current state of the agent.
    AuditType:
      title: AuditType
      type: object
      properties:
        Edit:
          type: array
          items:
            $ref: '#/components/schemas/EditType'
      description: AuditType
    EditType:
      title: EditType
      type: object
      properties:
        Change:
          type: array
          items:
            $ref: '#/components/schemas/ChangeType'
        UserName:
          type: string
        Date:
          type: string
          format: date-time
          x-nullable: false
        NewVersion:
          type: string
        Comment:
          type: string
      description: EditType
    ChangeType:
      title: ChangeType
      type: object
      properties:
        Type:
          type: string
        Item:
          type: string
        Detail:
          type: string
        Value:
          type: string
      description: ChangeType
    GetMostRecentPolicyResults:
      title: GetMostRecentPolicyResults
      type: object
      properties:
        UsageTag:
          type: string
          description: Restricts the results returned to compliance policies marked with the specified UsageTagsApplicable.
        GroupName:
          type: string
          description: Specifies the group name.
        ExcludePoliciesWithNoDevices:
          type: boolean
          description: Restricts the results returned to policies run on groups containing at least one device.
          x-nullable: false
        ExcludePoliciesNotSetup:
          type: boolean
          description: Baselines only - excludes policies not yet fully setup from the results.
          x-nullable: false
        ExcludePoliciesWithNoResults:
          type: boolean
          description: Baselines only - excludes policies with no results in the time period from the results.
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the most recent policy run results for each matching policy in the time range.
    AddPolicyTemplateRules:
      title: AddPolicyTemplateRules
      type: object
      properties:
        Name:
          type: string
          description: Specifies the policy template name to add rules to
        AddDeviceInformationRule:
          type: boolean
          description: Specifies whether to add the device information section at the start of the report
          x-nullable: false
        ChangeComment:
          type: string
          description: Specifies a short description of the change for auditing purposes.
        PreviewChanges:
          type: boolean
          description: Specifies if the rule changes should only be previewed and not saved to the template.
          x-nullable: false
        ProposedChanges:
          type: array
          items:
            $ref: '#/components/schemas/ProposedPolicyChange'
        StartUtc:
          type: string
          description: 'Gets or sets the start of the period to return events for, null implies all.'
          format: date-time
        ApplyProcessPortRange:
          type: boolean
          x-nullable: false
        RuleOptions:
          type: array
          items:
            $ref: '#/components/schemas/RuleBuilderOptions'
          description: Specifies any Rule Builder Options.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a rules to a baseline policy based on events
    ProposedPolicyChange:
      title: ProposedPolicyChange
      type: object
      properties:
        ChangeType:
          type: string
        EventFilter:
          $ref: '#/components/schemas/EventFilter'
        Id:
          type: string
          description: Specifies the rule result id to base the new rule on.
        MissingValuePasses:
          type: boolean
          description: Specifies if the generated rule will pass if the associated data item is empty e.g. software not installed or file missing.
          x-nullable: false
        ExtendExistingRule:
          type: boolean
          description: Specifies if the rule should be extended or replaced.
          x-nullable: false
        AddNoOthersRule:
          type: boolean
          description: Specifies if a No Others rule is added
          x-nullable: false
        PortProcEphemeralRange:
          type: boolean
          description: 'Specifies if true, that only ports in the ephemeral range opened by known processes are allowed'
          x-nullable: false
        NoOthersRuleTrackerName:
          type: string
          description: Specifies the tracker name associated with a No Others Rule
        NoOthersRuleTrackerItemType:
          type: string
          description: Specifies the tracker type associated with a No Others Rule
      description: ProposedPolicyChange
    RuleBuilderOptions:
      title: RuleBuilderOptions
      type: object
      properties:
        TrackerTypeName:
          type: string
        ItemTypeName:
          type: string
        AttributeTypeNames:
          type: array
          items:
            type: string
        OneAttributePerRule:
          type: boolean
          x-nullable: false
        OneValuePerRule:
          type: boolean
          x-nullable: false
        ExtendExistingRule:
          type: boolean
          x-nullable: false
        RulePassExpression:
          type: string
        RuleFailureExpression:
          type: string
        AllowMissingDataInVariable:
          type: boolean
          x-nullable: false
        RuleName:
          type: string
        MissingValuePasses:
          type: boolean
          x-nullable: false
        DataExtractionRegex:
          type: string
        CaseInsensitiveRule:
          type: boolean
          x-nullable: false
        ScoreType:
          type: integer
          format: int32
          x-nullable: false
        Severity:
          type: string
        NetworkPortRangeStart:
          type: integer
          format: int32
          x-nullable: false
        NetworkPortRangeEnd:
          type: integer
          format: int32
          x-nullable: false
        UseProcessPortRange:
          type: boolean
          x-nullable: false
        Name:
          type: string
        IgnoreMissingValuePassesForIsApplicable:
          type: boolean
          x-nullable: false
      description: RuleBuilderOptions
    AddPolicyTemplateXml:
      title: AddPolicyTemplateXml
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name.
        Xml:
          type: string
          description: Specifies the xml.
        PassMark:
          type: number
          description: Specifies the pass mark. Only relevant for 'TemplateType' of 'PolicyTemplateType.ComplianceReport'.
          format: double
          x-nullable: false
        AsCopyOf:
          type: string
          description: Specifies as a copy of an existing template named this
        CopyTemplateValues:
          type: boolean
          description: 'Specifies a copy of an existing template should only copy the tracking information, not the values'
          x-nullable: false
        AsCopyOfVersion:
          type: string
          description: Specifies version to copy when using AsCopyOf
        AdditionalUsageTags:
          type: array
          items:
            type: string
            x-nullable: false
          description: 'Specifies extra UsageTagsApplicable to record against the template, in addition to those specified in the Xml'
        OverwriteIfExists:
          type: boolean
          description: Specifies a flag to indicate whether or not not overwrite the report / config if it already exists
          x-nullable: false
        ExternalDataFileId:
          type: string
          description: Specifies an external file id if the XML is not provided 'in line'
        IsSystem:
          type: boolean
          description: Specifies a flag to indicate whether or not the template is part of the standard system set or a customized version
          x-nullable: false
        IsUiUpload:
          type: boolean
          description: Specifies a flag to indicate whether or not the template is has been uploaded from the UI
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a device policy template to the system. The specified template should be supplied as Xml.
    DeletePolicyTemplate:
      title: DeletePolicyTemplate
      type: object
      properties:
        Name:
          type: string
          description: Specifies the policy template name to delete
        TemplateVersion:
          type: string
          description: 'Specifies the policy template version to delete. Optional, if not supplied all versions of the template are removed.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes a device policy template from the system.  The specified template can be either config or a compliance report template.
    UploadPolicyTemplate:
      title: UploadPolicyTemplate
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name.
        PassMark:
          type: number
          description: Specifies the pass mark. Only relevant for 'TemplateType' of 'PolicyTemplateType.ComplianceReport'.
          format: double
          x-nullable: false
        OverwriteIfExists:
          type: boolean
          description: Specifies a flag to indicate whether or not to overwrite the report / config if it already exists
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Upload a policy template file
    GetPolicyTemplateAsFile:
      title: GetPolicyTemplateAsFile
      type: object
      properties:
        Name:
          type: string
          description: Specifies the templatem name to retrieve.
        AgentDeviceId:
          type: string
          description: Specifies the agent device id to get the current combined template for. Note either this or the 'Name' should be specified.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Returns a policy template as an xml file in the Http Response stream.
    GetAgentProcesses:
      title: GetAgentProcesses
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the list of running processes from a specified agent / device.Used to enable 'white-listing' if existing processes from a running agent when building device config.
    StartAgentTracker:
      title: StartAgentTracker
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentDeviceId:
          type: string
          description: Specifies the agent id the tracker will be started on. Alternative to AgentDevice.
        TrackerName:
          type: string
          description: Specifies the tracker to be started
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Ask an agent to start a specified tracker.
    GetAgentServices:
      title: GetAgentServices
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the list of running Services from a specified agent/device.  Used to enable 'white - listing' if existing Service  from a running agent when building device config.
    SetActivePolicyTemplate:
      title: SetActivePolicyTemplate
      type: object
      properties:
        TemplateName:
          type: string
          description: Specifies the template name.
        ActiveVersion:
          type: string
          description: Specifies the version of the template to make active.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Sets a specific version of a named policy template as the active one.
    UpdatePolicyTemplates:
      title: UpdatePolicyTemplates
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name (id) to search for.
        NameContains:
          type: string
          description: Specifies the text the name contains. Used to search for partial match if 'Name' not specified.
        ReturnXml:
          type: boolean
          description: Specifies a value indicating whether to return the template xml in the response. Defaults to false.
          x-nullable: false
        ReturnSignatures:
          type: boolean
          description: Specifies a value indicating whether to calculate and return the template signatures in the response. Defaults to false.
          x-nullable: false
        IsActive:
          type: boolean
          description: Get the Active version of a template
        IsLatest:
          type: boolean
          description: Get the Latest version of a template
        HasRules:
          type: boolean
          description: Get templates with Rules
        HasTrackers:
          type: boolean
          description: Get templates with Trackers
        TemplateTrackerTypes:
          type: array
          items:
            type: string
          description: Specifies the template's tracker types.
        TemplateVersion:
          type: string
          description: Specifies the template version to get.
        UsageTags:
          type: array
          items:
            type: string
          description: Specifies the policy usage types to get.
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update matching config templates.
    GetDeviceConfigTemplate:
      title: GetDeviceConfigTemplate
      type: object
      properties:
        Name:
          type: string
          description: Specifies the template name.
        IncludeSystemFilters:
          type: boolean
          description: Specifies a value indicating whether to include system defined filters and path match definitions.
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a named device config template.
    GetDeviceConfigTemplateNames:
      title: GetDeviceConfigTemplateNames
      type: object
      properties:
        TrackersContained:
          type: array
          items:
            type: string
          description: Specifies the trackers contained. Optional. If specified this filters the returned list of template names to include only those containing the named trackers (eg 'processtracker').
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: 'Specifies the agent devices. Optional. If specified this filters the returned list of template names to include only those currently applied to ALL the listed devices due to their group memberships, i.e. an intersection of group membership sets.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets a list of device tracking template names, optionally filtering by trackers contained (e.g. find templates with a process tracker).'
    AddDeviceConfigProcessRules:
      title: AddDeviceConfigProcessRules
      type: object
      properties:
        DeviceTemplateName:
          type: string
          description: The name of the device tracking configuration template
        Rules:
          type: array
          items:
            $ref: '#/components/schemas/Process'
          description: A list of all the Rules
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds white/grey/black listing to process rules in the specified device tracking configuration template.
    GetGroupPolicy:
      title: GetGroupPolicy
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name. Optional.
        GroupNames:
          type: array
          items:
            type: string
          description: Specifies the group names. Optional.
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name. Optional.
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the configured config policy template for the specified group or by individual template name.
    GetGroupPolicyConfigNames:
      title: GetGroupPolicyConfigNames
      type: object
      properties:
        GroupNames:
          type: array
          items:
            type: string
          description: Specifies the list of group names to get the config for
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the configured config policy template names for the specified groups.
    AddGroupPolicy:
      title: AddGroupPolicy
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
        VersionString:
          type: string
        GroupName:
          type: string
          description: Specifies the group name.
        GroupDisplayName:
          type: string
          description: Specifies the group display name.
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name.
        PolicyTemplateDisplayName:
          type: string
          description: Specifies the policy template display name.
        IsTrusted:
          type: boolean
          description: Specifies if policy template contains trusted commands.
      description: Adds a config template to a group.
    DeleteGroupPolicy:
      title: DeleteGroupPolicy
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name to delete the policy from.
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name to remove from the group.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Removes a config template from a group.
    ReParentDevices:
      title: ReParentDevices
      type: object
      properties:
        Devices:
          type: array
          items:
            type: string
          description: A list of agent device IDs to be re-parented.
        AgentDeviceId:
          type: string
          description: The agent device id to re-parent the devices to.
        MigrateEvents:
          type: boolean
          description: A boolean that controls wether to migrate any 'old' events to the new agent device id combination.
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Re-parents the given devices to the specified Agent.
    ExportAgents:
      title: ExportAgents
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        ExportFormat:
          type: string
          description: Specifies the export format
        ReportTitle:
          type: string
          description: Specifies the title for the report
        TimeZoneId:
          type: string
          description: Specifies the timezone id to do the export in
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Export a list of agent details.
    GetAgentsRanked:
      title: GetAgentsRanked
      type: object
      properties:
        EventCountsDateUtc:
          type: string
          format: date-time
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        GetAgentGroupDetails:
          type: boolean
          description: Specifies a value indicating whether to get agent group details.
          x-nullable: false
        GetRelatedCredentials:
          type: boolean
          description: Specifies a value indicating whether to get related credentials.
          x-nullable: false
        GetRelatedPlannedChanges:
          type: boolean
          description: Specifies a value indicating whether to get related planned changes.
          x-nullable: false
        GetRelatedTemplates:
          type: boolean
          description: Specifies a value indicating whether to get templates applied to the returned agents.
          x-nullable: false
        IncludeMasterInFilter:
          type: boolean
          description: Specifies a value indicating whether to include proxy master devices in filters that match a child proxied device but would not otherwise return the proxying master.
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return agents matching the device filter.
    GroupMembers:
      title: GroupMembers
      type: object
      properties:
        GroupName:
          type: string
          description: The name of the group to query.
        MemberType:
          type: string
          description: Specifies the member type to return (AgentDevice or Group).
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return group members matching the criteria.
    GetGroups:
      title: GetGroups
      type: object
      properties:
        Name:
          type: string
          description: The internal name of the group to find.
        DisplayName:
          type: string
          description: The display name of the group to find.
        DisplayNameContains:
          type: string
          description: A fragment of the display name in the groups to find.
        UserName:
          type: string
          description: The alternative user name to retrieve groups for. Note that the returned list will also be filtered by the visibility of groups the authenticated user has.
        MemberOf:
          type: array
          items:
            type: string
          description: 'The groups of which the returned groups must be a member. If null, members of any group can be returned, if an empty list only groups which are members of no groups (i.e. have no parent) are returned.'
        OnlyGroupsWithUpdate:
          type: boolean
          description: Gets or sets the a flag indicating whether to only return groups with an agent update scheduled.
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return groups matching the criteria.
    GetGroupsTree:
      title: GetGroupsTree
      type: object
      description: Gets a tree structure representing the groups hierarchy.
    DeleteGroup:
      title: DeleteGroup
      type: object
      properties:
        Name:
          type: string
          description: Gets or sets the Group Matching Name.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to delete a group matching the criteria.
    AddGroup:
      title: AddGroup
      required:
        - GroupType
      type: object
      properties:
        ParentGroupName:
          type: string
          description: Optionally specifies a parent group for the new group. If this is not supplied the group is automatically added as a child of the root 'All Devices' group unless NoParent is set
        DisplayName:
          type: string
          description: Specifies the display name of the new group
        GroupType:
          enum:
            - None
            - UserContainer
            - DeviceContainer
            - GroupContainer
          type: int
          description: Specifies the type of members allowed in the new group. Can be a combination of the allowed values
          format: int32
        IsSystem:
          type: boolean
          description: Specifies a flag indicating if this is a 'system' group or not
          x-nullable: false
        Members:
          type: array
          items:
            type: string
          description: Specifies the list of ids of 'child group' members of the new group
        RiskScore:
          type: string
          description: Specifies the risk score of the group.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a new Group definition.
    UpdateGroup:
      title: UpdateGroup
      required:
        - Name
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name of the group to update
        DisplayName:
          type: string
          description: Specifies the new display name of the group
        Members:
          type: array
          items:
            type: string
          description: Specifies the list of 'child group' members
        RiskScore:
          type: string
          description: Specifies the risk score of the group
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Updates a Group definition.
    DeleteDevices:
      title: DeleteDevices
      type: object
      properties:
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: 'The agent device ids to delete from their current groups, moving them to the Deleted group.'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to delete devices matching the criteria. Note that when a device is deleted it is moved to the Deleted group and is no longer included in the licensed device count.
    GetOverdueDevices:
      title: GetOverdueDevices
      required:
        - OfflineSeconds
      type: object
      properties:
        OfflineSeconds:
          type: integer
          description: Specifies the number of seconds the offline device must have been offline for.
          format: int32
          x-nullable: false
        MemberOfGroups:
          type: array
          items:
            type: string
          description: Specifies optional list of groups the devices must be a member of.
        NotMemberOfGroups:
          type: array
          items:
            type: string
          description: Specifies optional list of groups the devices must not be a member of.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets devices that have not polled in for the specified amount of time.
    DeleteDevicePermanently:
      title: DeleteDevicePermanently
      type: object
      properties:
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupName:
          type: string
          description: Specifies the group name.
        Response:
          type: string
          description: The response to a previously issued challenge for this request. Without this the call will return a challenge for which the response must be supplied on a subsequently call.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Delete the specified Agent from the system. On first call the system will issue a challenge which must be answered and the response supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
    ReRegisterDevice:
      title: ReRegisterDevice
      type: object
      properties:
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the list of combined agent and device ids.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to re-register a list of previously deleted devices matching the criteria.
    DeleteGroupMembersPermanently:
      title: DeleteGroupMembersPermanently
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name.
        Response:
          type: string
          description: The response to a previously issued challenge for this request. Without this the call will return a challenge for which the response must be supplied on a subsequently call.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Delete all the specified group members from the system. On first call the system will issue a challenge which must be answered and the response supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
    AddDeviceFilter:
      title: AddDeviceFilter
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to add a DeviceFilter.
    UpdateDeviceFilter:
      title: UpdateDeviceFilter
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name of the device filter to update.
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to update a DeviceFilter matching the given id.
    PromoteDeviceFilter:
      title: PromoteDeviceFilter
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Represents a request to bring the named filter to the head of the list, or to create it at the head of the list if it doesn''t exist.'
    DeleteDeviceFilter:
      title: DeleteDeviceFilter
      type: object
      properties:
        Name:
          type: string
          description: Specifies the name of the device filter to delete.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to delete a DeviceFilter matching the criteria.
    GetDeviceFilters:
      title: GetDeviceFilters
      type: object
      properties:
        NameContains:
          type: string
          description: Specifies text to search for in the filter Name
        Name:
          type: string
          description: Specifies an exact filter Name to search for
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Returns a paged list of DeviceFilter definitions matching the optional name criteria.
    AddGroupMembers:
      title: AddGroupMembers
      type: object
      properties:
        GroupName:
          type: string
          description: The internal name/id of the group to add to.
        Groups:
          type: array
          items:
            type: string
          description: The names of groups to add to the parent.
        Agents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: The Agents to add to the parent.
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: The AgentDeviceIds of agents to add to the parent. Used as an alternative to Agents property.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to add the specified Groups and Agents group members to the named group.
    DeleteGroupMembers:
      title: DeleteGroupMembers
      type: object
      properties:
        GroupName:
          type: string
          description: The name of the parent group to remove from.
        Groups:
          type: array
          items:
            type: string
          description: The names of groups to remove from the parent.
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: The agent device ids to remove from the parent.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to remove group or device members from the named group.
    GetDeviceOnlineStatus:
      title: GetDeviceOnlineStatus
      type: object
      properties:
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets an indication of the device's online/offline status
    UpdateDeviceSettings:
      title: UpdateDeviceSettings
      type: object
      properties:
        AgentId:
          type: string
          description: Specifies the id of the agent. Either AgentId and DeviceId or GroupName must be supplied.
        DeviceId:
          type: string
          description: Specifies the id of the device. Either AgentId and DeviceId or GroupName must be supplied.
        FileLiveTrackingRequiresBaselineCompletion:
          type: boolean
          description: Specifies whether a full baseline must be completed before live file tracking can be started. Optional
        GroupName:
          type: string
          description: Specifies the group name. Either AgentId and DeviceId or GroupName must be supplied.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets the device settings for the device, based on the global device settings and any device specific overrides.'
    AddCredentialsToAgentDevice:
      title: AddCredentialsToAgentDevice
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        CredentialsKey:
          type: string
          description: Specifies the credentials key.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to associate named credentials with an agent.
    RemoveCredentialsFromAgentDevice:
      title: RemoveCredentialsFromAgentDevice
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        CredentialKey:
          type: string
          description: Specifies the credential key.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to remove named credentials from an agent.
    SetAgentDeviceName:
      title: SetAgentDeviceName
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        DeviceName:
          type: string
          description: Specifies the device name.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to update the display name of an agent.
    SetAgentHostType:
      title: SetAgentHostType
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        HostType:
          type: string
          description: Specifies the device type.
      description: A request to update the host type of an agent.
    TestAgentCredentials:
      title: TestAgentCredentials
      type: object
      properties:
        AgentDeviceId:
          type: string
          description: Specifies the agent device id whose credentials are to be tested.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Ask an agent to test the credentials for a device it is proxying.
    GetIpBlocking:
      title: GetIpBlocking
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets details of ip addresses that have been blocked.
    AddIpBlocking:
      title: AddIpBlocking
      type: object
      properties:
        IpAddress:
          type: string
          description: Gets or sets the ip address.
        ExpiresUtc:
          type: string
          description: Gets or sets the expiry date time in UTC.
          format: date-time
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds manual blocking of a specified ip address until a specified time.
    DeleteIpBlocking:
      title: DeleteIpBlocking
      type: object
      properties:
        IpAddress:
          type: string
          description: Gets or sets the ip address to remove blocking from.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Removes blocking of a specified ip address.
    DiscoverDevices:
      title: DiscoverDevices
      type: object
      properties:
        DiscoveredDeviceType:
          type: string
        DiscoveryAgentId:
          type: string
        MasterAgentId:
          type: string
        CredentialsKey:
          type: string
        MergeBehaviour:
          type: integer
          format: int32
        GroupNameToAssignTo:
          type: string
        AllowedIpRange:
          type: string
        MatchAccuracy:
          type: integer
          format: int32
          x-nullable: false
        AssignToGroups:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Discovers devices to be added as proxied devices to a master device.
    SubmitDiscoveredDevices:
      title: SubmitDiscoveredDevices
      type: object
      properties:
        TaskId:
          type: integer
          format: int32
          x-nullable: false
        MasterAgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        DiscoveredDevices:
          type: array
          items:
            $ref: '#/components/schemas/DiscoveredDevice'
        MergeBehaviour:
          type: integer
          format: int32
        GroupNameToAssignTo:
          type: string
        CredentialsKey:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Submits discovered devices as a response to a DiscoverDevices request.
    DiscoveredDevice:
      title: DiscoveredDevice
      type: object
      properties:
        DiscoveredDeviceType:
          type: string
        Name:
          type: string
        IPv4:
          type: string
        Id:
          type: string
        MetaData:
          $ref: '#/components/schemas/Dictionary_String_String_'
        OsUserSpecified:
          type: string
        KnownOsName:
          type: string
        HostType:
          type: string
        GroupNames:
          type: array
          items:
            type: string
      description: DiscoveredDevice
    AcknowledgeEvents:
      title: AcknowledgeEvents
      type: object
      properties:
        EventIds:
          type: array
          items:
            type: string
          description: Specifies the event ids to update.
        PlannedChangeId:
          type: string
          description: Specifies the planned change instance id to acknowledge these events under.
        NewStatus:
          type: string
          description: Specifies the new status for the alert events.
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        EventFilter:
          $ref: '#/components/schemas/EventFilter'
        StartUtc:
          type: string
          description: 'Gets or sets the start of the period to return events for, null implies all.'
          format: date-time
        EndUtc:
          type: string
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          format: date-time
        TextSearch:
          type: string
          description: Gets or sets the text search value.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Acknowledge a list of events as 'planned'.
    ResubmitEvents:
      title: ResubmitEvents
      type: object
      properties:
        GetEvents:
          $ref: '#/components/schemas/GetEvents'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Re-submit the specified events (i.e for re-consideration by the pipeline re: planned changes).'
    GetEventHistory:
      title: GetEventHistory
      type: object
      properties:
        EventId:
          type: string
          description: Specifies the specific event id to retrieve history for.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the event history for one specific event.
    GetEventDeviceGroups:
      title: GetEventDeviceGroups
      type: object
      properties:
        EventIds:
          type: array
          items:
            type: string
          description: ' Gets or sets the event ids.'
        Intersection:
          type: boolean
          description: ' Gets or sets a value indicating whether the returned set of groups is the intersection of the event''s device memberships, if true, or the union. If intersection, only the groups of which all devices are a member are returned.'
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        EventFilter:
          $ref: '#/components/schemas/EventFilter'
        StartUtc:
          type: string
          description: 'Gets or sets the start of the period to return events for, null implies all.'
          format: date-time
        EndUtc:
          type: string
          description: 'Gets or sets the end of the period to return events for, null implies up to current time.'
          format: date-time
        TextSearch:
          type: string
          description: Gets or sets the text search value.
        GroupFindMode:
          type: string
          description: Gets or sets how the returned group list is built.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets the list of groups that the devices associated with the given events are members of. If Intersection is true, only the groups of which all devices are a member are returned. This function is used to determine the possible groups to associate a new planned change with, such that the events will be covered by it.'
    SetCommentForEvents:
      title: SetCommentForEvents
      type: object
      properties:
        GetEvents:
          $ref: '#/components/schemas/GetEvents'
        Comment:
          type: string
          description: The comment
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Set comments for events
    GetInventory:
      title: GetInventory
      type: object
      properties:
        Ids:
          type: array
          items:
            type: string
        CpeMatchStatuses:
          type: array
          items:
            type: string
            x-nullable: false
        CpeName:
          type: string
        CpeNames:
          type: array
          items:
            type: string
        OnlyReturnItemsWithGoodMatchCves:
          type: boolean
          x-nullable: false
        OnlyReturnItemsWithRelatedCves:
          type: boolean
          x-nullable: false
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of inventory items from the hub service.
    VulnerabilityFilter:
      title: VulnerabilityFilter
      type: object
      properties:
        CveIds:
          type: array
          items:
            type: string
        VulnerabilitySeveritiesV3:
          type: array
          items:
            type: string
          description: Specifies the V3 severity levels to search for.
        VulnerabilitySeveritiesV2:
          type: array
          items:
            type: string
          description: Specifies the V2 severity levels to search for.
        V2AccessVector:
          type: array
          items:
            type: string
        V3AttackVector:
          type: array
          items:
            type: string
        V2AccessComplexity:
          type: array
          items:
            type: string
        V3AttackComplexity:
          type: array
          items:
            type: string
        V2Authentication:
          type: array
          items:
            type: string
        V3PrivilegesRequired:
          type: array
          items:
            type: string
        V2AvailabilityImpact:
          type: array
          items:
            type: string
        V3AvailabilityImpact:
          type: array
          items:
            type: string
        ShowIgnored:
          type: boolean
          description: Specifies whether to include excluded/suppressed Cves in the response.
          x-nullable: false
        ShowOnlyIgnored:
          type: boolean
          description: Specifies whether to *only* include excluded/suppressed Cves in the response.
          x-nullable: false
        ShowAtHighestRiskLevel:
          type: boolean
          x-nullable: false
      description: VulnerabilityFilter
    GetAgentInventoryItemsGrouped:
      title: GetAgentInventoryItemsGrouped
      type: object
      properties:
        Ids:
          type: array
          items:
            type: string
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of agent inventory items grouped by their inventory item ids from the hub service.
    GetAgentInventoryAgentsDetail:
      title: GetAgentInventoryAgentsDetail
      type: object
      properties:
        InventoryItemId:
          type: string
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of agents with a specific inventory item id from the hub service.
    GetVulnerabilityOverview:
      title: GetVulnerabilityOverview
      type: object
      properties:
        CheckPipelineCounts:
          type: boolean
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        StartDateUtc:
          type: string
          description: Specifies the Utc start date from which the vulnerability changes are retrieved.
          format: date-time
          x-nullable: false
        ShowIgnored:
          type: boolean
          description: Specifies whether to include excluded/suppressed Cves in the overview statistics.
          x-nullable: false
        GetStatus:
          type: boolean
          description: Get the vulnerability scanner status as well
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the vulnerability overview matching the device filter.
    GetVulnerability:
      title: GetVulnerability
      type: object
      properties:
        CheckPipelineCounts:
          type: boolean
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the vulnerabilities in an estate matching the device and vulnerability filters.
    GetSoftwareVulnerability:
      title: GetSoftwareVulnerability
      type: object
      properties:
        CheckPipelineCounts:
          type: boolean
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        StartDateUtc:
          type: string
          description: Specifies the Utc start date from which the vulnerability changes are retrieved.
          format: date-time
          x-nullable: false
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
        IncludeAllSoftware:
          type: boolean
          x-nullable: false
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the software vulnerability matching the device filter.
    MarkInventoryItemsRequiringUpdate:
      title: MarkInventoryItemsRequiringUpdate
      type: object
      properties:
        CpeNames:
          type: array
          items:
            type: string
        InventoryItems:
          type: array
          items:
            $ref: '#/components/schemas/InventoryItem'
        InventoryItemIds:
          type: array
          items:
            type: string
        ClearExistingCpeCveData:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Marks an inventory item a requiring an update / refresh.
    InventoryItem:
      title: InventoryItem
      type: object
      properties:
        Id:
          type: string
        Version:
          type: integer
          format: int32
          x-nullable: false
        ItemVendor:
          type: string
        ItemName:
          type: string
        ItemVersion:
          type: string
        Comment:
          type: string
        ChangeHistory:
          type: array
          items:
            $ref: '#/components/schemas/InventoryHistory'
        IsDeleted:
          type: boolean
          x-nullable: false
        CpeMatchStatus:
          type: string
        GoodMatchCpeDetail:
          $ref: '#/components/schemas/CpeDetail'
        RelatedCpeList:
          type: array
          items:
            $ref: '#/components/schemas/CpeDetail'
        Cpe23DisplayName:
          type: string
        LastModifiedDateUtc:
          type: string
          format: date-time
          x-nullable: false
        CveNotificationStatus:
          type: string
        IsOperatingSystemItem:
          type: boolean
          x-nullable: false
        ExtraInfo:
          type: string
      description: InventoryItem
    InventoryHistory:
      title: InventoryHistory
      type: object
      properties:
        Code:
          type: string
        TimeUtc:
          type: string
          format: date-time
          x-nullable: false
        User:
          type: string
        Comment:
          type: string
      description: InventoryHistory
    CpeDetail:
      title: CpeDetail
      type: object
      properties:
        MatchStrength:
          type: number
          format: float
          x-nullable: false
        CpeName:
          type: string
        Vendor:
          type: string
        Product:
          type: string
        Title:
          type: string
        CveSummaries:
          type: array
          items:
            $ref: '#/components/schemas/CveSummary'
      description: CpeDetail
    CveSummary:
      title: CveSummary
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        ChangeHistory:
          type: array
          items:
            $ref: '#/components/schemas/CveHistory'
        IgnoredUntilDateUtc:
          type: string
          format: date-time
          x-nullable: false
        IsIgnored:
          type: boolean
          x-nullable: false
        CveId:
          type: string
        CpeName:
          type: string
        V3Severity:
          type: string
        V2Severity:
          type: string
        CveChangeDateUtc:
          type: string
          format: date-time
          x-nullable: false
        CveDescription:
          type: string
        NvdDetailsLink:
          type: string
        V2BaseScore:
          type: number
          format: float
          x-nullable: false
        V3BaseScore:
          type: number
          format: float
          x-nullable: false
      description: CveSummary
    CveHistory:
      title: CveHistory
      type: object
      properties:
        Code:
          type: string
        TimeUtc:
          type: string
          format: date-time
          x-nullable: false
        User:
          type: string
        Comment:
          type: string
      description: CveHistory
    GetSoftwareVulnerabilityDetail:
      title: GetSoftwareVulnerabilityDetail
      type: object
      properties:
        ReturnFullCveData:
          type: boolean
          x-nullable: false
        SoftwareId:
          type: string
          description: Specifies the software item to search for.
        CpeName:
          type: string
          description: Specifies the CPE Name to search for.
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the software vulnerability matching the device filter.
    GetDeviceVulnerability:
      title: GetDeviceVulnerability
      type: object
      properties:
        CheckPipelineCounts:
          type: boolean
          x-nullable: false
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        StartDateUtc:
          type: string
          description: Specifies the Utc start date from which the vulnerability changes are retrieved.
          format: date-time
          x-nullable: false
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the device vulnerability matching the device filter.
    GetDeviceVulnerabilityDetail:
      title: GetDeviceVulnerabilityDetail
      type: object
      properties:
        AgentDeviceId:
          type: string
          description: Specifies the agents to search for by id or group membership.
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the device vulnerability matching the device filter.
    GetCvesForRelatedCpes:
      title: GetCvesForRelatedCpes
      type: object
      properties:
        CpeName:
          type: string
        InventoryItemId:
          type: string
        MaxItemsToReturn:
          type: integer
          format: int32
          x-nullable: false
        ReturnFullCveData:
          type: boolean
          x-nullable: false
        VulnerabilityFilter:
          $ref: '#/components/schemas/VulnerabilityFilter'
      description: Get a list of CVEs that are related to the specified CPE but not directly (e.g previous versions etc)
    GetVulnerableDeviceDetail:
      title: GetVulnerableDeviceDetail
      type: object
      properties:
        CveId:
          type: string
          description: Specifies the cve to search for vulnerable devices.
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the vulnerable devices matching the CVE.
    IgnoreCveItem:
      title: IgnoreCveItem
      type: object
      properties:
        CveIds:
          type: array
          items:
            type: string
        IgnoreUntilUtc:
          type: string
          format: date-time
        CancelIgnore:
          type: boolean
          x-nullable: false
        Comment:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to ignore one or more Cves until a given data.
    GetVulnerabilityScanStatus:
      title: GetVulnerabilityScanStatus
      type: object
      properties:
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: A request to return the software vulnerability scan status.
    GetAllLog4NetConfigItems:
      title: GetAllLog4NetConfigItems
      type: object
      description: Retrieves a list of log4net logger configurations
    AddLog4NetConfigItem:
      title: AddLog4NetConfigItem
      type: object
      properties:
        LoggerName:
          type: string
        LogLevel:
          type: string
      description: AddLog4NetConfigItem
    UpdateLog4NetConfigItem:
      title: UpdateLog4NetConfigItem
      type: object
      properties:
        Id:
          type: string
        LoggerName:
          type: string
        LogLevel:
          type: string
      description: UpdateLog4NetConfigItem
    DeleteLog4NetConfigItem:
      title: DeleteLog4NetConfigItem
      type: object
      properties:
        Id:
          type: string
      description: DeleteLog4NetConfigItem
    GetLog4NetConfigItems:
      title: GetLog4NetConfigItems
      type: object
      properties:
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Retrieves a list of log4net logger configurations with pagination support.
    GetReportDescription:
      title: GetReportDescription
      type: object
      properties:
        ReportName:
          type: string
        ConvertToHtml:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Returns a description for the specified report.
    GetReportChangeDetails:
      title: GetReportChangeDetails
      type: object
      properties:
        ReportIdFrom:
          type: string
        ReportIdTo:
          type: string
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        RuleSetResultEventIdFrom:
          type: string
        RuleSetResultEventIdTo:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get a list of differences between two reports runs.
    GetReportData:
      title: GetReportData
      type: object
      properties:
        ReportId:
          type: string
        CountOnly:
          type: boolean
          description: A value indicating whether to return a count of results only.
          x-nullable: false
        Sort:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Skip:
          type: integer
          description: The offset into the result set to start at.
          format: int32
        Take:
          type: integer
          description: The limit number of rows to return.
          format: int32
        GenericFilters:
          type: array
          items:
            $ref: '#/components/schemas/PagingQueryFilter'
          description: The list of generic filtering options. These are typically sent from a UI control such as Kendo Grid.
        GenericFilterLogic:
          type: string
          description: The generic filter logic. This indicates how filters specified in GenericFilters are to be combined.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets report results for the specified agent, device or task id.'
    GetAvailableReports:
      title: GetAvailableReports
      type: object
      properties:
        DeviceFilter:
          $ref: '#/components/schemas/DeviceFilter'
        StartDateUtc:
          type: string
          description: Specifies a start date to search from.
          format: date-time
        EndDateUtc:
          type: string
          description: Specifies a start date to search up to.
          format: date-time
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: ' Gets a list of available reports for a specified group or agent.'
    GetUserDashboard:
      title: GetUserDashboard
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the dashboard to get.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the user dashboard widget layout.
    GetUserDashboardByName:
      title: GetUserDashboardByName
      type: object
      properties:
        Name:
          type: string
          description: The name of the dashboard to get.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the user dashboard widget layout by name.
    SaveUserDashboard:
      title: SaveUserDashboard
      type: object
      properties:
        Id:
          type: string
          description: 'The identifier of the dashboard to get. If not supplied a new record is created, else existing is updated.'
        Name:
          type: string
          description: The name of the dashboard.
        Widgets:
          type: array
          items:
            $ref: '#/components/schemas/DashboardWidgetSpec'
          description: The widgets.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Stores the user dashboard widget layout.
    DashboardWidgetSpec:
      title: DashboardWidgetSpec
      type: object
      properties:
        Title:
          type: string
          description: The widget title.
        Description:
          type: string
          description: The widget description.
        id:
          type: string
          description: The widget identifier.
        dashdata:
          $ref: '#/components/schemas/DashData'
        x:
          type: integer
          description: The x-coordinate of the widget.
          format: int32
          x-nullable: false
        y:
          type: integer
          description: The y-coordinate of the widget.
          format: int32
          x-nullable: false
        width:
          type: integer
          description: The width of the widget.
          format: int32
          x-nullable: false
        height:
          type: integer
          description: The height of the widget.
          format: int32
          x-nullable: false
      description: Details of a dashboard widget in the UI.
    DashData:
      title: DashData
      type: object
      properties:
        type:
          type: string
          description: The type of dashboard widget.
        groupId:
          type: string
          description: The group identifier of the widget data.
        groupName:
          type: string
          description: The group display name of the widget data.
        tmpl:
          type: string
          description: The templated title of the widget instance.
        timePeriods:
          type: integer
          description: The number of time periods of the widget data.
          format: int32
          x-nullable: false
        timePeriodSizeSeconds:
          type: integer
          description: 'The time period size of the widget data, in seconds.'
          format: int32
          x-nullable: false
        eventTypes:
          type: array
          items:
            type: string
          description: The event types of the widget data.
        trackerTypes:
          type: array
          items:
            type: string
          description: The tracker types of the widget data.
        vulnerabilityChartType:
          type: string
        vulnerabilityChartText:
          type: string
      description: Data associated with the specific type of dashboard widget in the UI.
    DeleteUserDashboard:
      title: DeleteUserDashboard
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the dashboard to delete.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Deletes the user dashboard widget layout.
    GetUserSettings:
      title: GetUserSettings
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the user settings and selections.
    SaveUserSettings:
      title: SaveUserSettings
      type: object
      properties:
        DashboardId:
          type: string
          description: The user's default dashboard identifier.
        ThemeId:
          type: string
          description: The user's default theme identifier.
        HideWelcomePopup:
          type: boolean
          description: Indicates whether the user has opted to skip the welcome wizard.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Stores the user settings and selections.
    GetDashboardWidgets:
      title: GetDashboardWidgets
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets the dashboard widgets.
    InvalidateEventCounts:
      title: InvalidateEventCounts
      type: object
      properties:
        GroupId:
          type: string
        PeriodIds:
          type: array
          items:
            type: integer
            format: int64
            x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to invalidate the eventcount stats for a group for a specific set of periods.
    TestSmtpConnection:
      title: TestSmtpConnection
      type: object
      properties:
        Host:
          type: string
        Port:
          type: integer
          format: int32
          x-nullable: false
        User:
          type: string
        Password:
          type: string
        NoPasswordSupplied:
          type: boolean
          x-nullable: false
        UseSsl:
          type: boolean
          x-nullable: false
        FromEmail:
          type: string
        RecipientEmail:
          type: string
        ToUser:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Tests the specified SMTP details.
    TestFastConnection:
      title: TestFastConnection
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Tests the configured Fast service can be contacted.
    TestFastCustomerConnection:
      title: TestFastCustomerConnection
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Tests the configured Fast service can be contacted using customer credentials.
    TestSyslogConnection:
      title: TestSyslogConnection
      type: object
      properties:
        Host:
          type: string
        Port:
          type: integer
          format: int32
          x-nullable: false
        Protocol:
          type: string
        SyslogVersion:
          type: string
        LogglyToken:
          type: string
        MessagePrefix:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Tests the specified SysLog details.
    TestServiceNowConnection:
      title: TestServiceNowConnection
      type: object
      properties:
        Host:
          type: string
        User:
          type: string
        Password:
          type: string
        NoPasswordSupplied:
          type: boolean
          x-nullable: false
        IncidentCaller:
          type: string
        IncidentChannel:
          type: string
        IncidentLocation:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Tests the specified ServiceNow details.
    TestAuditorConnection:
      title: TestAuditorConnection
      type: object
      properties:
        Host:
          type: string
        Port:
          type: integer
          format: int32
          x-nullable: false
        Protocol:
          type: string
        Route:
          type: string
        User:
          type: string
        Password:
          type: string
        NoPasswordSupplied:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Tests the specified Auditor details.
    GetPipelineNodeList:
      title: GetPipelineNodeList
      type: object
      properties:
        FromUtc:
          type: string
          format: date-time
        ToUtc:
          type: string
          format: date-time
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a list of pipeline node names.
    AddUser:
      title: AddUser
      type: object
      properties:
        UserDetails:
          $ref: '#/components/schemas/UserDetails'
        Password:
          type: string
        SkipCheck:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a user.
    UserDetails:
      title: UserDetails
      type: object
      properties:
        LastLogonAttemptUtc:
          type: string
          format: date-time
        ChangePasswordByUtc:
          type: string
          format: date-time
        Version:
          type: integer
          format: int32
          x-nullable: false
        Id:
          type: integer
          format: int32
          x-nullable: false
        UserName:
          type: string
        DateFormats:
          $ref: '#/components/schemas/UserDateFormats'
        Locked:
          type: boolean
          x-nullable: false
        FirstName:
          type: string
        SecondName:
          type: string
        Email:
          type: string
        Roles:
          type: array
          items:
            type: string
        Permissions:
          type: array
          items:
            type: string
        Groups:
          type: array
          items:
            type: string
        NotificationGroups:
          type: array
          items:
            $ref: '#/components/schemas/GroupAlert'
        TimeZoneId:
          type: string
        TwoFactorRequired:
          type: boolean
          x-nullable: false
        IsInternal:
          type: boolean
          x-nullable: false
        IsADUser:
          type: boolean
          x-nullable: false
        IsOAuthUser:
          type: boolean
          x-nullable: false
        IsSSOUser:
          type: boolean
          x-nullable: false
        GeneratedPassword:
          type: string
      description: UserDetails
    UserDateFormats:
      title: UserDateFormats
      required:
        - Name
        - LongDateTimeFormatNet
        - ShortDateTimeFormatNet
        - LongDateTimeFormatJs
        - ShortDateTimeFormatJs
      type: object
      properties:
        Name:
          type: string
          description: Gets or sets the name for the group of date settings.
        LongDateTimeFormatNet:
          type: string
          description: Gets or sets the long date time format for .net.
        ShortDateTimeFormatNet:
          type: string
          description: Gets or sets the short date time format for .net.
        LongDateTimeFormatJs:
          type: string
          description: Gets or sets the long date time format for js.
        ShortDateTimeFormatJs:
          type: string
          description: Gets or sets the short date time format for js.
      description: Specifies the user date format strings both for use in backend .NET code and front end Javascript kendo equivalents.
    GroupAlert:
      title: GroupAlert
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        Id:
          type: string
        GroupName:
          type: string
        GroupDisplayName:
          type: string
        NotificationTypes:
          type: array
          items:
            type: string
            x-nullable: false
        NotificationMethod:
          type: string
        UserName:
          type: string
      description: The details of how an alert is raised for a group.
    GetUserTwoFactorStatus:
      title: GetUserTwoFactorStatus
      type: object
      properties:
        UserName:
          type: string
        Password:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a pre-authentication request to query the user's Two-factor authentication status. Counts as a sign-in attempt.
    ElevateUserTwoFactorStatus:
      title: ElevateUserTwoFactorStatus
      type: object
      properties:
        OneTimePassword:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a post-authentication request to elevate the user's Two-factor authentication status. Counts as a sign-in attempt.
    ValidateUserPassword:
      title: ValidateUserPassword
      type: object
      properties:
        UserName:
          type: string
        CurrentPassword:
          type: string
        Password:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Validates a user password.
    DeleteUser:
      title: DeleteUser
      type: object
      properties:
        UserName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Delete a user.
    GetUser:
      title: GetUser
      type: object
      properties:
        UserName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get a user's details.
    UpdateUser:
      title: UpdateUser
      type: object
      properties:
        UserDetails:
          $ref: '#/components/schemas/UserDetails'
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Updates stored user details. Note that UserManage permissions are required to manage any user other than the caller.
    UpdateUserPassword:
      title: UpdateUserPassword
      type: object
      properties:
        UserName:
          type: string
        CurrentPassword:
          type: string
        Password:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Updates stored user password. CurrentPassword property should contain the password of the user attempting to make the change. Note that UserManage permissions are required to manage any user password other than caller's.
    ResetUser:
      title: ResetUser
      type: object
      properties:
        UserName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Resets a user. Note that UserManage permissions are required to manage any user other than the caller.
    ResetUserPassword:
      title: ResetUserPassword
      type: object
      properties:
        UserName:
          type: string
        NewPassword:
          type: string
        PreviewToken:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Resets a user password. Note that this operation is intended to manage any user other than the caller.
    PreviewResetUserPassword:
      title: PreviewResetUserPassword
      type: object
      properties:
        UserName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Generates a reset password for preview without applying it. Pass the returned PreviewToken to resetPassword to apply it.
    ResetUser2fa:
      title: ResetUser2fa
      type: object
      properties:
        UserName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Resets a user's 2FA . Note that UserManage permissions are required to manage any user other than the caller.
    ExportUserNotifications:
      title: ExportUserNotifications
      type: object
      properties:
        UserNames:
          type: array
          items:
            type: string
        ExportFormat:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Export users and the notifications they are configured to receive
    GetTimeZoneIds:
      title: GetTimeZoneIds
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a list of possible time zone names.
    UserHasChangedPassword:
      title: UserHasChangedPassword
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Has the current user changed their password from any system assigned one?
    AddGroupAlertToUser:
      title: AddGroupAlertToUser
      type: object
      properties:
        UserName:
          type: string
        GroupName:
          type: string
        NotificationTypes:
          type: array
          items:
            type: string
            x-nullable: false
        NotificationMethod:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Add a group alert to a user.
    DeleteGroupAlertFromUser:
      title: DeleteGroupAlertFromUser
      type: object
      properties:
        UserName:
          type: string
          description: Specifies the user name to delete group alerts / notifications for.
        Id:
          type: string
          description: Specifies the specific alert / notification to remove.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Remove a group notification from a user
    UpdateGroupAlertForUser:
      title: UpdateGroupAlertForUser
      type: object
      properties:
        UserName:
          type: string
        Id:
          type: string
        GroupName:
          type: string
        NotificationTypes:
          type: array
          items:
            type: string
            x-nullable: false
        NotificationMethod:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update a group notification from a user
    GetGroupAlertsForGroup:
      title: GetGroupAlertsForGroup
      type: object
      properties:
        GroupName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get the configured notifications for the specified group.
    GetUserList:
      title: GetUserList
      type: object
      properties:
        ExportFormat:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get a list of user names.
    ResetAdminPassword:
      title: ResetAdminPassword
      type: object
      properties:
        AdminName:
          type: string
        OrganizationId:
          type: integer
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Resets the admin (or named account) password, returning a new temporary password in the response. Can only be called from the local hub console.'
    GetUserRoles:
      title: GetUserRoles
      type: object
      properties:
        RoleName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Get a list of user roles defined in the system.
    GetPermissions:
      title: GetPermissions
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Gets a list of permissions names defined in the system.
    AddUserRole:
      title: AddUserRole
      required:
        - DisplayName
        - ReadOnly
      type: object
      properties:
        Name:
          type: string
          description: Specifies the unique internal name for the role. If this is not supplied the DisplayName is used.
        DisplayName:
          type: string
          description: Specifies the display name for the role.
        ExternalName:
          type: string
          description: Specifies the role name in an external identity provider that corresponds to this role.
        Permissions:
          type: array
          items:
            type: string
          description: Specifies the list of names of permissions associated with the role.
        ReadOnly:
          type: boolean
          description: 'Specifies whether the role is read only, or can be edited.'
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Adds a custom user role
    UpdateUserRole:
      title: UpdateUserRole
      required:
        - Name
        - DisplayName
        - Permissions
      type: object
      properties:
        Name:
          type: string
          description: Specifies the unique internal name for the role.
        DisplayName:
          type: string
          description: Specifies the display name for the role.
        ExternalName:
          type: string
          description: Specifies the role name in an external identity provider that corresponds to this role.
        Permissions:
          type: array
          items:
            type: string
          description: Specifies the list of names of permissions associated with the role.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Update a user role
    CloneUserRole:
      title: CloneUserRole
      type: object
      properties:
        NewRoleName:
          type: string
        ExistingRoleName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Clone an existing user role.
    DeleteUserRole:
      title: DeleteUserRole
      required:
        - Name
      type: object
      properties:
        Name:
          type: string
          description: Specifies the internal name of the role to delete.
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Delete a user role.
    GetLicenseInfo:
      title: GetLicenseInfo
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: Represents a request to get an Organization's license info.
    UpdateOrganization:
      title: UpdateOrganization
      type: object
      properties:
        License:
          type: string
          description: Specifies the license.
        AllowInvalidLicense:
          type: boolean
          description: Specifies a value indicating whether to allow an invalid license in the License.
          x-nullable: false
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Represents a request to update an Organization, used to set the license.'
    HasRoleOrPermission:
      title: HasRoleOrPermission
      type: object
      properties:
        UserName:
          type: string
        Roles:
          type: array
          items:
            type: string
        Permissions:
          type: array
          items:
            type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Checks whether the caller, or the named user if supplied, has the specified roles and permissions.'
    GetRolesAndPermissions:
      title: GetRolesAndPermissions
      type: object
      properties:
        UserName:
          type: string
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
      description: 'Gets roles and permissions for the caller, or the named user if supplied.'
    Authenticate:
      title: Authenticate
      type: object
      properties:
        provider:
          type: string
          description: 'AuthProvider, e.g. credentials'
        UserName:
          type: string
        Password:
          type: string
        RememberMe:
          type: boolean
        AccessToken:
          type: string
        AccessTokenSecret:
          type: string
        ReturnUrl:
          type: string
        ErrorView:
          type: string
        Meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: Sign In
    GetAccessToken:
      title: GetAccessToken
      type: object
      properties:
        RefreshToken:
          type: string
        Meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: GetAccessToken
    GetAgentPollResponse:
      title: GetAgentPollResponse
      required:
        - Version
      type: object
      properties:
        AgentId:
          type: string
          description: 'Specifies the agent id. Note: this the agent id excluding the device id.'
        DeviceListChangedAtUtc:
          type: string
          description: Indicates whether the proxied device list has changed since the last poll.
          format: date-time
        DeviceConfigDateUtc:
          $ref: '#/components/schemas/Dictionary_String_Nullable_DateTime__'
        Tasks:
          type: array
          items:
            $ref: '#/components/schemas/AgentTask'
          description: Returns a list of AgentTasks for all the devices the agent manages.
        DiagnosticModeEnabled:
          type: boolean
          description: Indicates whether additional diagnostics are enabled for this agent.
          x-nullable: false
        HubCurrentTimeUtc:
          type: string
          description: 'Indicates the current server time to return to the agent so it can compare with its own and raise a time difference alert. Optional, only returned on initial connect.'
          format: date-time
        DeviceSettings:
          $ref: '#/components/schemas/DeviceSettings'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetAgentPoll
    Dictionary_String_Nullable_DateTime__:
      title: 'Dictionary<String,Nullable<DateTime>>'
      type: object
      additionalProperties:
        type: string
        format: date-time
      description: 'Dictionary<String,Nullable<DateTime>>'
    DeviceSettings:
      title: DeviceSettings
      type: object
      properties:
        SymlinkFollowCount:
          type: integer
          description: Specifies a value indicating how many nested symlinks a file tracker should follow.
          format: int32
          x-nullable: false
        SymlinkFollowCountIsInherited:
          type: boolean
          description: Indicates whether the property is inherited from a setting on a parent group.
          x-nullable: false
        RequestCompressionType:
          type: string
        AgentDeviceId:
          type: string
          description: 'Specifies the combined agent and device id, for example 1,1. Either AgentId and DeviceId or GroupName must be supplied.'
        DiffContextLines:
          type: integer
          description: Number of context lines in a text difference comparison
          format: int32
          x-nullable: false
        SysDigArgumentAdditions:
          type: string
          description: Additional SysDig command arguments applied on SysDig start
        GroupName:
          type: string
          description: Specifies the group name. Either AgentId and DeviceId or GroupName must be supplied.
        FileLiveTrackingRequiresBaselineCompletion:
          type: boolean
          description: Specifies whether a full baseline must be completed before live file tracking can be started.
          x-nullable: false
        FileLiveTrackingRequiresBaselineCompletionIsInherited:
          type: boolean
          description: Indicates whether the property is inherited from a setting on a parent group.
          x-nullable: false
        PerformancePercentage:
          type: integer
          description: 'The performance percentage is the percentage of its maximum performance that the agent will use, for example at 100 (100%) the agent will complete polls in the shortest possible time, at the expense of utilisation of local cpu and disk resources. At 0% the agent will have the least impact on the tracked system.'
          format: int32
          x-nullable: false
        PerformancePercentageIsInherited:
          type: boolean
          description: Indicates whether the property is inherited from a setting on a parent group.
          x-nullable: false
        PlannedChangeWindowPaddingSeconds:
          type: integer
          description: The planned change window padding in seconds. This is the amount of time prior to the start and end of a planned change that tracker polls are started.
          format: int32
          x-nullable: false
        PlannedChangeWindowPaddingSecondsIsInherited:
          type: boolean
          description: Indicates whether the property is inherited from a setting on a parent group.
          x-nullable: false
        PollPeriodSeconds:
          type: integer
          description: 'The poll period / frequency for this device / group, in seconds.'
          format: int32
          x-nullable: false
        PollGracePeriodSeconds:
          type: integer
          description: The maximum number of seconds by which an agent can be overdue its poll without being marked as offline.
          format: int32
          x-nullable: false
        EventSenderBatchSize:
          type: integer
          description: The maximum number of events sent to the hub by the agent in one submission.
          format: int32
          x-nullable: false
        EventSenderSleepTimeMs:
          type: integer
          description: The number of milliseconds to wait after each batch of events are sent to the hub.
          format: int32
          x-nullable: false
        Lineage:
          type: array
          items:
            type: string
          description: The list of groups the DeviceSettings have been inherited from
        CommandTimeoutSeconds:
          type: integer
          description: The number of seconds to wait for a process-output command executed by the agent tracking process to complete.
          format: int32
          x-nullable: false
        CommandTimeoutSecondsIsInherited:
          type: boolean
          x-nullable: false
        FileTrackerFilePollLimit:
          type: integer
          description: The number of files a device file system tracker poll will be limited to before terminating the poll
          format: int32
          x-nullable: false
      description: 'The device settings represents the device specific options such as customised local ui password details, and tracker performance settings.'
    GetAgentTasksResponse:
      title: GetAgentTasksResponse
      required:
        - Version
      type: object
      properties:
        Tasks:
          type: array
          items:
            $ref: '#/components/schemas/AgentTask'
          description: Specifies the current list of tasks for the agent.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetAgentTasks
    SubmitAgentTaskResultStreamResponse:
      title: SubmitAgentTaskResultStreamResponse
      required:
        - StoredId
        - Version
      type: object
      properties:
        StoredId:
          type: string
          description: The id of the stored stream
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for SubmitAgentTaskResultsStream.
    GetPolicyTemplatesResponse:
      title: GetPolicyTemplatesResponse
      required:
        - Version
      type: object
      properties:
        Templates:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTemplateSummary'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Response to a request for matching config templates.
    PolicyTemplateSummary:
      title: PolicyTemplateSummary
      type: object
      properties:
        Version:
          type: integer
          description: Gets the service model version.
          format: int32
          x-nullable: false
        VersionString:
          type: string
          description: Gets the version as a string.
        AvailableVersion:
          type: string
          description: Gets the newest available version.
        FileId:
          type: string
          description: Gets or sets the file identifier.
        UpgradeInfo:
          type: string
          description: Gets or sets the upgrade information.
        IsSystem:
          type: boolean
          description: Gets or sets a value indicating whether this instance is system.
          x-nullable: false
        IsActive:
          type: boolean
          description: Gets or sets a value indicating whether this instance is active.
          x-nullable: false
        IsLatest:
          type: boolean
          description: Gets or sets a value indicating whether this instance is latest.
          x-nullable: false
        HasRules:
          type: boolean
          description: Gets or sets a value indicating whether this instance has rules.
          x-nullable: false
        Name:
          type: string
          description: Specifies the name.
        DisplayName:
          type: string
          description: Specifies the display name.
        FileName:
          type: string
          description: Specifies the template file name.
        Xml:
          type: string
          description: Specifies the template config xml.
        UpdatedDateUtc:
          type: string
          description: Specifies the last UTC date any part of the template was updated.
          format: date-time
          x-nullable: false
        UpdatedConfigDateUtc:
          type: string
          description: Specifies the last UTC date the tracking configuration part of the template was updated.
          format: date-time
          x-nullable: false
        PassMark:
          type: number
          description: Specifies the default pass mark associated with compliance report TemplateType.
          format: double
          x-nullable: false
        Trackers:
          type: array
          items:
            type: string
          description: 'Specifies the names of the trackers configured in this template, if it is a ''PolicyTemplateType.DeviceConfig''.'
        NotificationRefId:
          type: string
          description: Specifies the tracker's notification ref id.
        UsageTags:
          type: array
          items:
            type: string
          description: Specifies the names of the usage tag categories specified in this template'.
        TemplateSignature:
          type: string
          description: Specifies the signature of the template.
        IsTrusted:
          type: boolean
          description: Does the template contain trusted commands.
        ValidationStatus:
          type: string
      description: 'A named policy template summary. Policy templates can be of any of the types specified by PolicyTemplateType, for example DeviceConfig, ComplianceReport or RegistrationReport. PolicyTemplates are a DTO used to add any policy template to the system based on its xml. To add an agent tracker configuration based on specific tracker DTO objects use DeviceTemplate.'
    GetPolicyTemplateVariablesResponse:
      title: GetPolicyTemplateVariablesResponse
      required:
        - Version
      type: object
      properties:
        PolicyTemplateName:
          type: string
        DataRequirements:
          type: array
          items:
            $ref: '#/components/schemas/VariableDataRequirement'
        TemplateSignature:
          type: string
        DeviceTemplate:
          $ref: '#/components/schemas/DeviceTemplate'
        TemplateConfigXml:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The list of variable definitions from a named report to be collected by the agent.
    DeviceTemplate:
      title: DeviceTemplate
      type: object
      properties:
        Version:
          type: integer
          description: Gets the version.
          format: int32
          x-nullable: false
        Config:
          $ref: '#/components/schemas/DeviceConfiguration'
        Name:
          type: string
          description: Specifies the name.
        DisplayName:
          type: string
          description: Specifies the display name.
        UpdatedDateUtc:
          type: string
          description: Specifies the UTC date the template was updated.
          format: date-time
          x-nullable: false
      description: Represents a named device tracking configuration template only (no rule-set).
    List_String_:
      title: List<String>
      type: array
      items:
        type: string
    GetAgentsResponse:
      title: GetAgentsResponse
      required:
        - Version
      type: object
      properties:
        AgentCredentials:
          type: array
          items:
            $ref: '#/components/schemas/AgentCredential'
          description: Specifies a list of agent device -> credentials.
        AgentGroups:
          type: array
          items:
            $ref: '#/components/schemas/AgentGroups'
          description: Specifies a list of agent device -> group memberships.
        AgentPlannedChangeStatuses:
          type: array
          items:
            $ref: '#/components/schemas/AgentPlannedChangeInstanceStatus'
          description: Specifies a list of agent device -> planned change statuses (returned here to make subsequent calls unnecessary in UI - the data is all stored in the same object in the repository so no signficant cost in getting it out)
        Agents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: Specifies the agents matching the 'GetAgents' request.
        AgentTemplates:
          type: array
          items:
            $ref: '#/components/schemas/AgentTemplates'
          description: Specifies agent device -> templates
        RelatedProxyAgents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: 'Specifies the related proxy agents. These are the agents that proxy the devices listed in ''Agents'', if any.'
        ResultsGeneratedAtUtc:
          type: string
          description: Specifies time the results were generated at in utc.
          format: date-time
          x-nullable: false
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetAgents
    AgentCredential:
      title: AgentCredential
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        Credentials:
          type: array
          items:
            type: string
          description: The list of credentials 'keys' (names) associated with the agent device id.
        CredentialsTestStatus:
          type: string
          description: 'Specifies the status of the last credentials test, if any.'
        CredentialsTestMessage:
          type: string
          description: Specifies the a success or failure message associated with the last credentials test.
      description: Represents and agent device (by it's ID) and a list of credentials associated with it.
    AgentGroups:
      title: AgentGroups
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        MemberOf:
          type: array
          items:
            type: string
          description: The list of groups the agent device is a member of.
      description: Represents an agent device (by it's ID) and a list of groups it is a member of.
    AgentPlannedChangeInstanceStatus:
      title: AgentPlannedChangeInstanceStatus
      type: object
      properties:
        Name:
          type: string
          description: Specifies the planned change name.
        NameCombined:
          type: string
          description: Gets the planned change name plus the description if the description is different from the name.
        Description:
          type: string
          description: Specifies the planned change description.
        InstanceId:
          type: string
          description: Specifies the planned change instance id.
        Active:
          type: boolean
          x-nullable: false
        TempTestProp:
          type: string
      description: AgentPlannedChangeInstanceStatus
    AgentTemplates:
      title: AgentTemplates
      type: object
      properties:
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        ConfigTemplates:
          type: array
          items:
            type: string
          description: A list of template names associated with the agent device.
      description: Represents a list of config templates for an Agent Device
    SearchAgentsResponse:
      title: SearchAgentsResponse
      required:
        - Version
      type: object
      properties:
        Agents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: Specifies the agents matching the 'SearchAgents' request.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for SearchAgents
    PreRegisterAgentsResponse:
      title: PreRegisterAgentsResponse
      type: object
      properties:
        Agents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: A list of agents that have been pre-registered.
      description: The response object for PreRegisterAgents
    GetDeviceConfigResponse:
      title: GetDeviceConfigResponse
      required:
        - Version
      type: object
      properties:
        DeviceTemplate:
          $ref: '#/components/schemas/DeviceTemplate'
        PolicyRuleSet:
          $ref: '#/components/schemas/PolicyTemplateRuleSet'
        Xml:
          type: string
          description: 'Specifies the xml. Only one of DeviceTemplate, PolicyRuleSet or Xml string can be returned.'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Represents the tracking configuration template from the merged result of the group configurations for the groups the device is in.
    GetDeviceSettingsResponse:
      title: GetDeviceSettingsResponse
      required:
        - Version
      type: object
      properties:
        DeviceSettings:
          type: array
          items:
            $ref: '#/components/schemas/DeviceSettings'
          description: 'The device settings for the specified group or device, or if an AgentId alone was specified, a list of the DeviceSetting for each device proxied by the agent.'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'Represents the device specific options such as customised local ui password details, and tracker performance settings.'
    GetEventsResponse:
      title: GetEventsResponse
      required:
        - Version
      type: object
      properties:
        Events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
          description: Gets or sets the events.
        DeviceEvents:
          type: array
          items:
            $ref: '#/components/schemas/DeviceEvent'
          description: Gets or sets the device events.
        AuditEvents:
          type: array
          items:
            $ref: '#/components/schemas/AuditEvent'
          description: Gets or sets the audit events.
        BaselineEvents:
          type: array
          items:
            $ref: '#/components/schemas/BaselineEvent'
          description: Gets or sets the baseline events.
        AlertEvents:
          type: array
          items:
            $ref: '#/components/schemas/AlertEvent'
          description: Gets or sets the alert events.
        DataResultsEvents:
          type: array
          items:
            $ref: '#/components/schemas/DataResultsEvent'
          description: Gets or sets the data results events.
        AllEvents:
          type: array
          items:
            $ref: '#/components/schemas/Event'
          description: Gets or sets all events.
        PlannedChanges:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Rules:
          $ref: '#/components/schemas/Dictionary_String_String_'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The Events response.
    Event:
      title: Event
      type: object
      properties:
        Comment:
          type: string
          description: Gets or sets the event comment.
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        DeviceName:
          type: string
          description: Gets or sets the device name.
        Id:
          type: string
          description: Gets or sets the unique event ID
        EventType:
          type: string
          description: Gets or sets the event type.
        DateUtc:
          type: string
          description: Gets or sets the UTC date and time of the event.
          format: date-time
          x-nullable: false
        DateDevice:
          type: string
          description: 'Gets or sets the device date and time of the event, based on the event UtcOffsetHours'
          format: date-time
          x-nullable: false
        DateLocal:
          type: string
          description: 'Gets or sets the local user''s date and time of the event, based on the GetEvents.UserTimeZoneId specified.'
          format: date-time
          x-nullable: false
        Status:
          type: string
          description: Gets or sets the current status of the event
        PlannedChangeStatus:
          type: string
          description: Gets or sets the planned change status.
        PlannedChangeId:
          type: string
          description: Gets or sets the planned change id
        PlannedChangeManual:
          type: boolean
          description: Gets or sets whether event was added to the planned change manually or via a rule.
          x-nullable: false
        Origin:
          type: string
          description: 'Gets or sets the origin of the event (Polling, LiveTracking etc)'
        TimeZoneId:
          type: string
          description: Gets or sets the time zone id.
        UtcOffsetHours:
          type: number
          description: Gets or sets the offset of local time as represented by TimeZoneId and Utc time in hours.
          format: double
          x-nullable: false
        Version:
          type: integer
          description: Gets or sets the object version.
          format: int32
          x-nullable: false
        Score:
          type: number
          description: Gets or sets the score - only used when returning 'ranked' events.
          format: double
          x-nullable: false
        Description:
          type: string
          description: Gets or sets the event description.
        ProcessingTimeMs:
          type: number
          description: Gets or sets the processing time in ms.
          format: double
        Url:
          type: string
          description: Gets a URL of the event to get more details.
        ExtraInfo:
          type: string
          description: 'Gets or sets the extra info. Where the event is an alert notification, this contains information about tracker reconfigurations, this property can be used to hold the data in a more easily parsed form.'
        UsedInBaselines:
          type: array
          items:
            $ref: '#/components/schemas/UsedInBaseline'
          description: 'Gets or sets the links indicating whether the event has been used to create or amend a rule in a baseline report, and the action taken.'
      description: A base class for any Event raised throughout the once it enters the NNT system and is being processed
    AuditEvent:
      title: AuditEvent
      type: object
      properties:
        NotificationStatus:
          type: string
          description: Gets or sets the current notification status of the event
        AuditMessageType:
          type: string
          description: Gets or sets the audit message type.
        Grantor:
          type: string
          description: Gets or sets the grantor.
        Grantee:
          type: string
          description: Gets or sets the grantee.
        Action:
          type: string
          description: Gets or sets the audit action.
        LicensedDayUtc:
          type: string
          description: Gets or sets the date that a licensed device day audit message relates to.
          format: date-time
        Comment:
          type: string
          description: Gets or sets the event comment.
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        DeviceName:
          type: string
          description: Gets or sets the device name.
        Id:
          type: string
          description: Gets or sets the unique event ID
        EventType:
          type: string
          description: Gets or sets the event type.
        DateUtc:
          type: string
          description: Gets or sets the UTC date and time of the event.
          format: date-time
          x-nullable: false
        DateDevice:
          type: string
          description: 'Gets or sets the device date and time of the event, based on the event UtcOffsetHours'
          format: date-time
          x-nullable: false
        DateLocal:
          type: string
          description: 'Gets or sets the local user''s date and time of the event, based on the GetEvents.UserTimeZoneId specified.'
          format: date-time
          x-nullable: false
        Status:
          type: string
          description: Gets or sets the current status of the event
        PlannedChangeStatus:
          type: string
          description: Gets or sets the planned change status.
        PlannedChangeId:
          type: string
          description: Gets or sets the planned change id
        PlannedChangeManual:
          type: boolean
          description: Gets or sets whether event was added to the planned change manually or via a rule.
          x-nullable: false
        Origin:
          type: string
          description: 'Gets or sets the origin of the event (Polling, LiveTracking etc)'
        TimeZoneId:
          type: string
          description: Gets or sets the time zone id.
        UtcOffsetHours:
          type: number
          description: Gets or sets the offset of local time as represented by TimeZoneId and Utc time in hours.
          format: double
          x-nullable: false
        Version:
          type: integer
          description: Gets or sets the object version.
          format: int32
          x-nullable: false
        Score:
          type: number
          description: Gets or sets the score - only used when returning 'ranked' events.
          format: double
          x-nullable: false
        Description:
          type: string
          description: Gets or sets the event description.
        ProcessingTimeMs:
          type: number
          description: Gets or sets the processing time in ms.
          format: double
        Url:
          type: string
          description: Gets a URL of the event to get more details.
        ExtraInfo:
          type: string
          description: 'Gets or sets the extra info. Where the event is an alert notification, this contains information about tracker reconfigurations, this property can be used to hold the data in a more easily parsed form.'
        UsedInBaselines:
          type: array
          items:
            $ref: '#/components/schemas/UsedInBaseline'
          description: 'Gets or sets the links indicating whether the event has been used to create or amend a rule in a baseline report, and the action taken.'
      description: The audit event.
    DataResultsEvent:
      title: DataResultsEvent
      type: object
      properties:
        DataItems:
          type: array
          items:
            $ref: '#/components/schemas/AgentDataItem'
          description: Gets or sets the agent data items
        Comment:
          type: string
          description: Gets or sets the event comment.
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentId:
          type: string
          description: Specifies the id of the agent.
        DeviceId:
          type: string
          description: Specifies the id of the device.
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        DeviceName:
          type: string
          description: Gets or sets the device name.
        Id:
          type: string
          description: Gets or sets the unique event ID
        EventType:
          type: string
          description: Gets or sets the event type.
        DateUtc:
          type: string
          description: Gets or sets the UTC date and time of the event.
          format: date-time
          x-nullable: false
        DateDevice:
          type: string
          description: 'Gets or sets the device date and time of the event, based on the event UtcOffsetHours'
          format: date-time
          x-nullable: false
        DateLocal:
          type: string
          description: 'Gets or sets the local user''s date and time of the event, based on the GetEvents.UserTimeZoneId specified.'
          format: date-time
          x-nullable: false
        Status:
          type: string
          description: Gets or sets the current status of the event
        PlannedChangeStatus:
          type: string
          description: Gets or sets the planned change status.
        PlannedChangeId:
          type: string
          description: Gets or sets the planned change id
        PlannedChangeManual:
          type: boolean
          description: Gets or sets whether event was added to the planned change manually or via a rule.
          x-nullable: false
        Origin:
          type: string
          description: 'Gets or sets the origin of the event (Polling, LiveTracking etc)'
        TimeZoneId:
          type: string
          description: Gets or sets the time zone id.
        UtcOffsetHours:
          type: number
          description: Gets or sets the offset of local time as represented by TimeZoneId and Utc time in hours.
          format: double
          x-nullable: false
        Version:
          type: integer
          description: Gets or sets the object version.
          format: int32
          x-nullable: false
        Score:
          type: number
          description: Gets or sets the score - only used when returning 'ranked' events.
          format: double
          x-nullable: false
        Description:
          type: string
          description: Gets or sets the event description.
        ProcessingTimeMs:
          type: number
          description: Gets or sets the processing time in ms.
          format: double
        Url:
          type: string
          description: Gets a URL of the event to get more details.
        ExtraInfo:
          type: string
          description: 'Gets or sets the extra info. Where the event is an alert notification, this contains information about tracker reconfigurations, this property can be used to hold the data in a more easily parsed form.'
        UsedInBaselines:
          type: array
          items:
            $ref: '#/components/schemas/UsedInBaseline'
          description: 'Gets or sets the links indicating whether the event has been used to create or amend a rule in a baseline report, and the action taken.'
      description: Represents an event containing agent response data (e.g to a 'get processes' request)
    SubmitAlertEventsLimitedResponse:
      title: SubmitAlertEventsLimitedResponse
      required:
        - Version
      type: object
      properties:
        BackOffSeconds:
          type: integer
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: SubmitAlertEventsLimitedResponse
    SubmitBaselineEventsLimitedResponse:
      title: SubmitBaselineEventsLimitedResponse
      required:
        - Version
      type: object
      properties:
        BackOffSeconds:
          type: integer
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: SubmitBaselineEventsLimitedResponse
    SubmitDeviceEventsLimitedResponse:
      title: SubmitDeviceEventsLimitedResponse
      required:
        - Version
      type: object
      properties:
        BackOffSeconds:
          type: integer
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: SubmitDeviceEventsLimitedResponse
    SystemReadyResponse:
      title: SystemReadyResponse
      required:
        - Version
      type: object
      properties:
        IsReady:
          type: boolean
          description: Specifies whether system is booted and ready for login.
          x-nullable: false
        MicrosoftGraphAuthEnabled:
          type: boolean
          description: Specifies whether Microsoft Graph (Azure AD) authentication is available for login.
          x-nullable: false
        OktaAuthEnabled:
          type: boolean
          description: Specifies whether Okta authentication is available for login.
          x-nullable: false
        Auth0AuthEnabled:
          type: boolean
          description: Specifies whether Auth0 authentication is available for login.
          x-nullable: false
        SiteMinderAuthEnabled:
          type: boolean
          description: Specifies whether Broadcom SiteMinder authentication is available for login.
          x-nullable: false
        StatusMessage:
          type: string
          description: Specifies a status message if IsReady is false.
        RetryLogin:
          type: boolean
          description: Specifies whether the caller should retry their login due to a system restart
          x-nullable: false
        PrimaryAuthProvider:
          type: string
          description: Specifies the preferred authentication provider.
        HideCredentialsUi:
          type: boolean
          description: Specifies whether interactive credentials Ui should be shown for user authentication.
          x-nullable: false
        SSOHeaderName:
          type: string
          description: Specifies the name of the optional header containing SSO authentication information.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Indicates if system is booted and ready for login.
    SystemDetailsResponse:
      title: SystemDetailsResponse
      type: object
      properties:
        SessionTimeout:
          type: integer
          description: 'Specifies the length of time after which a session should timeout, expressed in minutes.'
          format: int32
          x-nullable: false
        SessionTimeoutWarning:
          type: integer
          description: 'Specifies the length of time a session timeout warning should be available, expressed in seconds.'
          format: int32
          x-nullable: false
        LicenseDaysRemaining:
          type: integer
          description: Specifies the length of time in days until the current license expires.
          format: int32
          x-nullable: false
        Version:
          type: string
          description: Specifies the system version.
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/SystemDetailNotification'
          description: Specifies zero or more informational messages about the system.
        WorkerStatuses:
          type: array
          items:
            $ref: '#/components/schemas/WorkerStatus'
          description: Specifies the list of statuses about constituent parts of the system.
      description: System version and config settings.
    SystemDetailNotification:
      title: SystemDetailNotification
      type: object
      properties:
        NotificationType:
          type: string
        Title:
          type: string
        Message:
          type: string
      description: SystemDetailNotification
    WorkerStatus:
      title: WorkerStatus
      type: object
      properties:
        Name:
          type: string
        Version:
          type: string
        ConfigSource:
          type: string
        ClrVersion:
          type: string
        HostName:
          type: string
        BackgroundTaskThreads:
          type: integer
          format: int32
          x-nullable: false
        EventProcessorThreads:
          type: integer
          format: int32
          x-nullable: false
        NotificationProcessorThreads:
          type: integer
          format: int32
          x-nullable: false
        BulkNotificationProcessingThreads:
          type: integer
          format: int32
          x-nullable: false
        EventQueueThreads:
          type: integer
          format: int32
          x-nullable: false
        DeviceOfflineThreads:
          type: integer
          format: int32
          x-nullable: false
        OutdatedConfigWatcherThreads:
          type: integer
          format: int32
          x-nullable: false
        BackgroundTaskTypes:
          type: array
          items:
            type: string
        Role:
          type: string
        Environment:
          type: string
        HostType:
          type: string
      description: WorkerStatus
    BackgroundTaskDetails:
      title: BackgroundTaskDetails
      type: object
      properties:
        Id:
          type: string
        Status:
          type: string
        TaskType:
          type: string
        TaskTypeName:
          type: string
        PercentComplete:
          type: number
          format: float
          x-nullable: false
        Message:
          type: string
        TaskCreatedDateTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        SubmittedDateTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        StartedDateTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        EndDateTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        ExpirationDateTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        TimeOnQueueMs:
          type: integer
          format: int32
          x-nullable: false
        ProcessingTimeMs:
          type: integer
          format: int32
          x-nullable: false
        UserName:
          type: string
        DependentTasks:
          type: array
          items:
            $ref: '#/components/schemas/BackgroundTaskDetails'
        ExternalFileId:
          type: string
        WaitingCheckIntervalSec:
          type: integer
          format: int32
          x-nullable: false
        RecheckDependenciesIntervalSec:
          type: integer
          format: int32
          x-nullable: false
      description: BackgroundTaskDetails
    List_BackgroundTaskDetails_:
      title: List<BackgroundTaskDetails>
      type: array
      items:
        $ref: '#/components/schemas/BackgroundTaskDetails'
    Dictionary_String_ComponentStatus_:
      title: 'Dictionary<String,ComponentStatus>'
      type: object
      additionalProperties:
        enum:
          - Unknown
          - Starting
          - Up
          - Stopping
          - Down
          - Busy
          - Fault
          - RequiresUpgrade
        type: string
      description: 'Dictionary<String,ComponentStatus>'
    PerformanceSnapshot:
      title: PerformanceSnapshot
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        Id:
          type: string
        PipelineNode:
          type: string
        SnapshotTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        PerformanceData:
          type: array
          items:
            $ref: '#/components/schemas/PerformanceItem'
        WorkloadStats:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        ComponentStatuses:
          $ref: '#/components/schemas/Dictionary_String_ComponentStatus_'
      description: A system performance metric consisting of a list of values for a PipelineItem.
    PerformanceItem:
      title: PerformanceItem
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        PipelineItem:
          type: string
        PipelineItemName:
          type: string
        MetricName:
          type: string
        Value:
          type: number
          format: double
          x-nullable: false
        UnitDescription:
          type: string
      description: PerformanceItem
    Dictionary_String_Double_:
      title: 'Dictionary<String,Double>'
      type: object
      additionalProperties:
        type: number
        format: double
        x-nullable: false
      description: 'Dictionary<String,Double>'
    List_PerformanceSnapshot_:
      title: List<PerformanceSnapshot>
      type: array
      items:
        $ref: '#/components/schemas/PerformanceSnapshot'
    GetCacheStatsResponse:
      title: GetCacheStatsResponse
      required:
        - Version
      type: object
      properties:
        GroupCounts:
          type: array
          items:
            $ref: '#/components/schemas/GroupStats'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The cache statistics.
    GroupStats:
      title: GroupStats
      type: object
      properties:
        Name:
          type: string
        QueriedMembers:
          type: integer
          format: int32
          x-nullable: false
        CachedMembers:
          type: integer
          format: int32
          x-nullable: false
        Message:
          type: string
      description: GroupStats
    GetAvailableReportTypesResponse:
      title: GetAvailableReportTypesResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/AvailableReportType'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetAvailableReportTypesResponse
    AvailableReportType:
      title: AvailableReportType
      type: object
      properties:
        Name:
          type: string
        Id:
          type: string
      description: AvailableReportType
    GetReportTemplatesResponse:
      title: GetReportTemplatesResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/ReportTemplateInfo'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetReportTemplatesResponse
    ReportTemplateInfo:
      title: ReportTemplateInfo
      type: object
      properties:
        ReportTemplateType:
          type: string
        ReportTemplateSubType:
          type: string
        ReportTemplateName:
          type: string
        ReportTemplateFileName:
          type: string
        Version:
          type: string
        UpgradeInfo:
          type: string
        IsArchived:
          type: boolean
          x-nullable: false
        IsSystem:
          type: boolean
          x-nullable: false
        IsActive:
          type: boolean
          x-nullable: false
        IsLatest:
          type: boolean
          x-nullable: false
        ReportChangedDateUtc:
          type: string
          format: date-time
          x-nullable: false
      description: ReportTemplateInfo
    GetScheduledReportsResponse:
      title: GetScheduledReportsResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledReportItem'
          description: The returned list of the reports affected
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'The response to requests to add, query or update scheduled reports, listing the new states of the reports affected'
    ScheduledReportItem:
      title: ScheduledReportItem
      type: object
      properties:
        Id:
          type: string
          description: The unique id of the ScheduledReportItem
        Schedule:
          $ref: '#/components/schemas/ReportSchedule'
        TypeId:
          type: string
        UserName:
          type: string
        IsPublic:
          type: boolean
          x-nullable: false
        IsEditable:
          type: boolean
          x-nullable: false
        IsHidden:
          type: boolean
          description: Indicates whether the report/query is visible in the reports list. Used to create temporary items for interactive 'export to csv' functions.
          x-nullable: false
        UserCreated:
          type: boolean
          x-nullable: false
        CreatedUtc:
          type: string
          format: date-time
          x-nullable: false
        LastModifiedUtc:
          type: string
          format: date-time
        LastRunUtc:
          type: string
          format: date-time
        NextRunUtc:
          type: string
          format: date-time
        StateChangeToken:
          type: string
        ScheduleRunDueByUtc:
          type: string
          format: date-time
        Reports:
          type: array
          items:
            $ref: '#/components/schemas/ReportSpecification'
        ShowTableOfContents:
          type: string
          description: Specifies the settings controlling when the ContainerReport with table of contents is shown.
        ContainerReport:
          $ref: '#/components/schemas/ReportSpecification'
        EmailDelivery:
          $ref: '#/components/schemas/ReportEmailDelivery'
        KeepUnscheduledResultsForMinutes:
          type: integer
          description: 'Specifies how long to keep ''adhoc'' (ie non-scheduled) report results for, in minutes.'
          format: int32
          x-nullable: false
        KeepScheduledResultsForMinutes:
          type: integer
          description: 'Specifies how long to keep scheduled report results for, in minutes.'
          format: int32
          x-nullable: false
        ScheduledState:
          type: string
        Summary:
          type: string
          description: Specifies a text summary of schedule and email settings.
        WaitForAdhocResultsMinutes:
          type: integer
          description: 'Specifies long to wait for a run''s queries to complete, in minutes.'
          format: int32
          x-nullable: false
        OverrideWaitForResults:
          type: boolean
          description: Specifies whether to override the default behaviour for scheduled queries of waiting until the next scheduled run and use the value specified by WaitForAdhocResultsMinutes instead.
          x-nullable: false
      description: Represents the settings necessary to produce query data for a specific type of report. It is effectively a 'saved query' with options to produce and deliver a report or data export on a schedule.
    UpdateReportTemplateResponse:
      title: UpdateReportTemplateResponse
      required:
        - Version
      type: object
      properties:
        FileId:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: UpdateReportTemplateResponse
    DataSpecDeviceMonitoringReportResponse:
      title: DataSpecDeviceMonitoringReportResponse
      required:
        - Version
      type: object
      properties:
        ReportMetadata:
          type: array
          items:
            $ref: '#/components/schemas/ReportMetadata'
          description: Specifies the list of available reports.
        Device:
          $ref: '#/components/schemas/DeviceReportDetail'
        Id:
          type: string
          description: The id of the report results
        ReportTitle:
          type: string
          description: The report title
        Summary:
          type: array
          items:
            $ref: '#/components/schemas/SummaryItem'
          description: 'A list of key value pairs indicating the settings that produced the report, including query parameters and report metadata'
        HasNoResults:
          type: boolean
          description: 'Indicates whether the report has no results. This is report specific, eg for a events and planned changes reports it means no events in the time period, for a  compliance report run it means there were no devices to report on in the specified group etc.'
          x-nullable: false
        ItemName:
          type: string
          description: 'Specifies the descriptive name of the result item, for example ''report'', ''planned change'', ''event'' etc.'
        ErrorMessage:
          type: string
          description: Specifies the descriptive error message for a failed report.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The returned data for populating a device monitoring report
    ReportMetadata:
      title: ReportMetadata
      required:
        - ReportItemId
        - ReportInstanceId
      type: object
      properties:
        AgentDeviceId:
          type: string
          description: 'Specifies the combined agent and device id, for example 1,1.'
        DeviceName:
          type: string
          description: Specifies the device name.
        ReportName:
          type: string
          description: Specifies the report name.
        ReportId:
          type: string
          description: Specifies the report task id.
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        ReportInstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        ReportSpecId:
          type: string
          description: Specifies the scheduled settings id within the ScheduledReportItem.Reports list.
        DateUtc:
          type: string
          description: Specifies the creation date of the report.
          format: date-time
          x-nullable: false
        DateTz:
          type: string
          description: Specifies the creation date of the report as a timezone formatted string.
        ReportScore:
          type: number
          description: Specifies the report result score.
          format: double
          x-nullable: false
        LastReportScore:
          type: number
          description: Specifies the report result score from the previous run if any.
          format: double
          x-nullable: false
        GroupAverageScore:
          type: number
          description: Specifies the group average score from all the devices in the run.
          format: double
          x-nullable: false
        Pass:
          type: boolean
          description: Specifies whether the report score was considered a pass.
          x-nullable: false
        Status:
          type: string
          description: Specifies the report status.
        LastStatus:
          type: string
          description: Specifies the last report status.
        AdHoc:
          type: boolean
          description: Indicating wether or not this report was an 'ad-hoc' run (vs being scheduled).
          x-nullable: false
        ErrorMessage:
          type: string
          description: Specifies the report error message if any.
        DeviceStatusMessage:
          type: string
          description: 'Specifies the report status message for the device, if any.'
        Id:
          type: string
        InstanceType:
          type: string
        RangeType:
          type: string
        TimeZone:
          type: string
        UserName:
          type: string
        RunTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        ExpiresAtUtc:
          type: string
          format: date-time
          x-nullable: false
        ScheduledReportItem:
          $ref: '#/components/schemas/ScheduledReportItem'
        QueryDtos:
          type: array
          items:
            $ref: '#/components/schemas/QueryReadyDto'
        QueryTaskId:
          type: string
        QueryTaskStatus:
          type: string
        StatusMessage:
          type: string
        ResultsSummaries:
          type: array
          items:
            $ref: '#/components/schemas/ResultsSummary'
      description: ReportMetadata
    QueryReadyDto:
      title: QueryReadyDto
      type: object
      properties:
        DataSpecDto:
          $ref: '#/components/schemas/DataSpecBase'
        IteratorValue:
          type: string
        DataSpecId:
          type: string
      description: QueryReadyDto
    ResultsSummary:
      title: ResultsSummary
      type: object
      properties:
        ReportSpecId:
          type: string
        ItemName:
          type: string
        Message:
          type: string
        Percentage:
          type: string
        Total:
          type: integer
          format: int32
          x-nullable: false
        Complete:
          type: integer
          format: int32
          x-nullable: false
        Errored:
          type: integer
          format: int32
          x-nullable: false
        CalculatedStartUtc:
          type: string
          format: date-time
        CalculatedEndUtc:
          type: string
          format: date-time
      description: ResultsSummary
    DeviceReportDetail:
      title: DeviceReportDetail
      type: object
      properties:
        TotalEvents:
          type: integer
          description: Gets the total events in the period.
          format: int32
          x-nullable: false
        ModelVersion:
          type: integer
          description: Gets the model version.
          format: int32
          x-nullable: false
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentDeviceId:
          type: string
          description: Specifies the string unique id for the agent device.
        Version:
          type: string
          description: Specifies the agent version.
        Name:
          type: string
          description: Specifies the device display name.
        DeviceName:
          type: string
          description: Specifies the device name.
        FullyQualifiedDomainName:
          type: string
          description: Specifies the fully qualified domain name.
        HostType:
          type: string
          description: 'Specifies the host type. This broadly indicates whether the device is windows or unix, or a DB or network device.'
        AgentType:
          type: string
          description: 'Specifies the agent type. This indicates the agents runtime technology, based on AgentType enumeration, where available for the agent (old agents don''t supply it)'
        Os:
          type: string
          description: Specifies the operating system as discovered by the agent.
        OsUserSpecified:
          type: string
          description: 'Specifies the operating system as entered by the user. This will override the discovered Os in the UI, if specified.'
        KnownOsName:
          type: string
          description: 'Specifies the known os name. This is the new OS name from the system defined list, it is either auto-mapped from the Agent''s discovered Os setting or selected by the user at the point of adding a proxied device.'
        OsVariant:
          type: string
          description: Specifies the os variant. This is one of the the system defined settings for the selected 'KnownOsName'. For example it might be '64 bit version' etc..
        Registered:
          type: boolean
          description: Specifies a value indicating whether the agent has connected yet to pick up its registration.
          x-nullable: false
        Deleted:
          type: boolean
          description: Specifies a value indicating whether the device has been deleted.
          x-nullable: false
        PollPeriodSeconds:
          type: integer
          description: Specifies the poll period in seconds.
          format: int32
          x-nullable: false
        HostName:
          type: string
          description: Specifies the host name. This is the name or IP address used for agentless access to this device.
        IPv4:
          type: string
          description: Specifies the IP v4 address.
        IPv6:
          type: string
          description: Specifies the IP v6 address.
        LastPollUtc:
          type: string
          description: Specifies the last time a poll was received from the agent.
          format: date-time
          x-nullable: false
        NextPollUtc:
          type: string
          description: Specifies the expected next poll time.
          format: date-time
          x-nullable: false
        MembershipChangeTimeUtc:
          type: string
          description: Specifies the last time group membership etc was changed.
          format: date-time
        OnlineStatus:
          type: string
          description: Specifies the online status.
        DiagnosticModeEnabled:
          type: boolean
          description: Specifies a value indicating whether or not diagnostic mode is enabled for this agent / device (i.e. extra logging).
          x-nullable: false
        OnlineDetection:
          type: string
          description: Specifies the method to use when detecting if a proxied device is online
        PingTimeoutSeconds:
          type: integer
          description: 'Specifies the ''OnlineDetection'' ping timeout seconds, used with ''CredentialsService.Types.OnlineDetection.Ping''.'
          format: int32
          x-nullable: false
        TcpConnectPort:
          type: integer
          description: Specifies the port used for 'OnlineDetection' using 'CredentialsService.Types.OnlineDetection.TcpConnect'.
          format: int32
          x-nullable: false
        CanProxy:
          type: boolean
          description: Specifies a value indicating whether the agent can proxy connections to other devices.
          x-nullable: false
        UniqueId:
          type: string
          description: 'Specifies a value uniquely identifying the agent independent of name or agent id. Used to detect a need to re-register when underlying hub store has been emptied, otherwise the auto incrementing agent id counter can result in clashes as already used ids are reissued to different agents.'
        IsProxied:
          type: boolean
          description: Specifies a value indicating whether connection to the device is proxied by another device.
          x-nullable: false
        ReportedConfigDateUtc:
          type: string
          format: date-time
        ExpectedConfigDateUtc:
          type: string
          format: date-time
          x-nullable: false
        Online:
          type: boolean
          description: Specifies whether the agent is currently online
          x-nullable: false
        LastPollTime:
          type: string
          description: Specifies a formatted text version of LastPollUtc.
        Templates:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTemplateDetails'
          description: Specifies the list of tracking templates the agent is configured with. TODO how does this differ from DeviceConfigNames?
        TrackerDetails:
          type: array
          items:
            $ref: '#/components/schemas/TrackerDetails'
          description: Specifies the list of trackers and schedules the agent is configured to run
        NotificationDetails:
          type: array
          items:
            $ref: '#/components/schemas/NotificationDetails'
          description: Specifies the list of notification types and groups configured for the agent
        TrackerConfigDetails:
          type: array
          items:
            $ref: '#/components/schemas/TrackerConfigDetails'
          description: Specifies the list of configured tracker settings for each tracker
        OperatingSystem:
          type: string
          description: Specifies the operating system as discovered by the agent.
        TotalEventsPercent:
          type: number
          description: Specifies the total events associated with this device as a percentage of the overall.
          format: double
          x-nullable: false
        RelatedProxyDeviceName:
          type: string
          description: Specifies the proxied device name.
        ProxyAgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        AgentCredentials:
          type: array
          items:
            $ref: '#/components/schemas/NameValuePair'
          description: 'Specifies the list of agent credentials, used by this agent to connect to other proxied devices.'
        DbConnection:
          $ref: '#/components/schemas/DbConnection'
        CredentialsTestStatus:
          type: string
          description: 'Specifies the status of the last credentials test, if any.'
        CredentialsTestMessage:
          type: string
          description: Specifies the a success or failure message associated with the last credentials test.
        AgentPlannedChangeStatuses:
          type: array
          items:
            $ref: '#/components/schemas/AgentPlannedChangeInstanceStatus'
          description: Specifies the details of the planned changes the agent is a member of
        DeviceConfigNames:
          $ref: '#/components/schemas/Dictionary_String_List_PolicyTemplateDetails__'
        DeviceGroupDetails:
          type: array
          items:
            $ref: '#/components/schemas/NameValuePair'
          description: Specifies the list of groups the agent is a member of
        Events:
          type: array
          items:
            $ref: '#/components/schemas/DeviceEventCountsSummary'
          description: Specifies the list of counts of event types for the agent
        DeviceGroupTemplates:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTemplateDetails'
          description: Specifies the list of compliance reports the agent is a member of due to group membership
        EventBlockEnabled:
          type: boolean
          description: Specifies a value indicating whether the device is blocked from sending events.
          x-nullable: false
        BaselineSendEnabled:
          type: boolean
          description: Specifies a value indicating whether the device is enabled for sending baseline events.
          x-nullable: false
        IsBlockingRegistrationBy:
          type: string
          description: Specifies a value indicating the UniqueId of the agent that is trying to 'take-over' this registration.
      description: Represents agent properties in form suitable for reporting
    PolicyTemplateDetails:
      title: PolicyTemplateDetails
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
        VersionString:
          type: string
        GroupName:
          type: string
          description: Specifies the group name.
        GroupDisplayName:
          type: string
          description: Specifies the group display name.
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name.
        PolicyTemplateDisplayName:
          type: string
          description: Specifies the policy template display name.
        IsTrusted:
          type: boolean
          description: Specifies if policy template contains trusted commands.
      description: The group policy template associated with a group
    TrackerDetails:
      title: TrackerDetails
      type: object
      properties:
        TrackerName:
          type: string
        DisplayName:
          type: string
        Description:
          type: string
      description: TrackerDetails
    NotificationDetails:
      title: NotificationDetails
      type: object
      properties:
        GroupName:
          type: string
        GroupDisplayName:
          type: string
        NotificationTypes:
          type: string
        NotificationMethod:
          type: string
      description: NotificationDetails
    TrackerConfigDetails:
      title: TrackerConfigDetails
      type: object
      properties:
        TrackerName:
          type: string
        ConfigurationItem:
          type: string
        Description:
          type: string
      description: TrackerConfigDetails
    NameValuePair:
      title: NameValuePair
      type: object
      properties:
        Id:
          type: string
        DisplayName:
          type: string
      description: NameValuePair
    List_PolicyTemplateDetails_:
      title: List<PolicyTemplateDetails>
      type: array
      items:
        $ref: '#/components/schemas/PolicyTemplateDetails'
    Dictionary_String_List_PolicyTemplateDetails__:
      title: 'Dictionary<String,List<PolicyTemplateDetails>>'
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/PolicyTemplateDetails'
      description: 'Dictionary<String,List<PolicyTemplateDetails>>'
    DeviceEventCountsSummary:
      title: DeviceEventCountsSummary
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        PeriodStartUtc:
          type: string
          format: date-time
          x-nullable: false
        PeriodEndUtc:
          type: string
          format: date-time
          x-nullable: false
        PeriodMidPointUtc:
          type: string
          format: date-time
          x-nullable: false
        PlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        UnPlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        AlertPlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        AlertUnPlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        Errors:
          type: integer
          format: int32
          x-nullable: false
        DeviceEventCount:
          type: integer
          format: int32
          x-nullable: false
        AlertEventCount:
          type: integer
          format: int32
          x-nullable: false
        ErrorEventCount:
          type: integer
          format: int32
          x-nullable: false
        AuditEventCount:
          type: integer
          format: int32
          x-nullable: false
        RuleSetResultEventCount:
          type: integer
          format: int32
          x-nullable: false
        RuleResultEventCount:
          type: integer
          format: int32
          x-nullable: false
        DataResultsEventCount:
          type: integer
          format: int32
          x-nullable: false
        DataItemEventCount:
          type: integer
          format: int32
          x-nullable: false
        ScheduledPolicyResultEventCount:
          type: integer
          format: int32
          x-nullable: false
        RuleSetScoreEventCount:
          type: integer
          format: int32
          x-nullable: false
        CommsEventCount:
          type: integer
          format: int32
          x-nullable: false
        BaselineEventCount:
          type: integer
          format: int32
          x-nullable: false
        GroupReportResultEventCount:
          type: integer
          format: int32
          x-nullable: false
        PeriodStartTz:
          type: string
          format: date-time
          x-nullable: false
        PeriodEndTz:
          type: string
          format: date-time
          x-nullable: false
        PeriodMidPointTz:
          type: string
          format: date-time
          x-nullable: false
        PeriodStart:
          type: integer
          format: int64
          x-nullable: false
        PeriodEnd:
          type: integer
          format: int64
          x-nullable: false
        StartDateTimeTextTz:
          type: string
        EndDateTimeTextTz:
          type: string
        MidPointDateTimeTz:
          type: string
        DateTimeFormat:
          type: string
      description: DeviceEventCountsSummary
    SummaryItem:
      title: SummaryItem
      type: object
      properties:
        ItemName:
          type: string
        ItemValue:
          type: string
      description: SummaryItem
    GetRuleResultsResponse:
      title: GetRuleResultsResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/RuleResultState'
          description: The returned list of the reports affected
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetRuleResultsResponse
    RuleResultState:
      title: RuleResultState
      type: object
      properties:
        Id:
          type: string
        GroupResultEventId:
          type: string
        RuleId:
          type: string
        Score:
          type: number
          format: double
          x-nullable: false
        ScoreWeight:
          type: integer
          format: int32
          x-nullable: false
        Title:
          type: string
        Detail:
          type: string
        Attributes:
          $ref: '#/components/schemas/Dictionary_String_List_String__'
        UsedInBaseline:
          $ref: '#/components/schemas/UsedInBaseline'
        AgentDeviceIds:
          type: array
          items:
            type: string
        DeviceCount:
          type: integer
          format: int32
          x-nullable: false
        ItemName:
          type: string
        DataHash:
          type: string
        TrackerTypeName:
          type: string
        ItemTypeName:
          type: string
        TextDifferences:
          type: array
          items:
            $ref: '#/components/schemas/TextDifference'
      description: RuleResultState
    Dictionary_String_List_String__:
      title: 'Dictionary<String,List<String>>'
      type: object
      additionalProperties:
        type: array
        items:
          type: string
      description: 'Dictionary<String,List<String>>'
    ComplianceReportSummaryResponse:
      title: ComplianceReportSummaryResponse
      required:
        - Version
      type: object
      properties:
        GroupName:
          type: string
        GroupDisplayName:
          type: string
        ReportTemplateName:
          type: string
        ReportVersion:
          type: string
        GroupPerformance:
          type: array
          items:
            $ref: '#/components/schemas/DataPoint'
        ReportRunTimesOutAtUtc:
          type: string
          format: date-time
          x-nullable: false
        AverageScore:
          type: number
          format: double
          x-nullable: false
        LastAverageScore:
          type: number
          format: double
          x-nullable: false
        LastRunTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        LastRunTimeTextUtc:
          type: string
        ReportRunTimeTextUtc:
          type: string
        DeviceCount:
          type: integer
          format: int32
          x-nullable: false
        LastDeviceCount:
          type: integer
          format: int32
          x-nullable: false
        AgentTaskDetails:
          type: array
          items:
            $ref: '#/components/schemas/AgentTaskDetails'
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        ReportInstanceId:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: ComplianceReportSummaryResponse
    DataPoint:
      title: DataPoint
      type: object
      properties:
        Category:
          type: string
        Value:
          type: string
      description: DataPoint
    AgentTaskDetails:
      title: AgentTaskDetails
      type: object
      properties:
        AgentTaskId:
          type: integer
          format: int32
          x-nullable: false
        AgentDeviceId:
          type: string
        DeviceName:
          type: string
        AgentTaskStatus:
          type: string
        LastAgentTaskStatus:
          type: string
        AgentTaskStatusMessage:
          type: string
        TaskScore:
          type: number
          format: double
          x-nullable: false
        LastTaskScore:
          type: number
          format: double
          x-nullable: false
        TaskScoreDelta:
          type: number
          format: double
          x-nullable: false
        IsNew:
          type: boolean
          x-nullable: false
      description: AgentTaskDetails
    GetCurrentPlannedChangesResponse:
      title: GetCurrentPlannedChangesResponse
      required:
        - Version
      type: object
      properties:
        PlannedChanges:
          type: array
          items:
            $ref: '#/components/schemas/PlannedChangeSummary'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetCurrentPlannedChangesResponse
    PlannedChangeSummary:
      title: PlannedChangeSummary
      type: object
      properties:
        Version:
          type: integer
          description: This indicates the service model version the embedded Dto complies with.
          format: int32
          x-nullable: false
        Name:
          type: string
        PlannedChangeId:
          type: string
        Closure:
          type: string
        DevicesInPlannedChange:
          type: integer
          format: int32
          x-nullable: false
        StartTimeUtc:
          type: string
          format: date-time
        EndTimeUtc:
          type: string
          format: date-time
        GroupsInPlannedChange:
          type: integer
          format: int32
          x-nullable: false
      description: PlannedChangeSummary
    GetComplianceDataResponse:
      title: GetComplianceDataResponse
      required:
        - Version
      type: object
      properties:
        ReportSummaries:
          type: array
          items:
            $ref: '#/components/schemas/ReportSummary'
        ComplianceHeaders:
          type: array
          items:
            $ref: '#/components/schemas/ComplianceHeader'
        OlderDataAvailable:
          type: boolean
          x-nullable: false
        NewerDataAvailable:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'Compliance data by report, for either individual devices, or as group average.'
    ReportSummary:
      title: ReportSummary
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        GroupOrDeviceName:
          type: string
        GroupName:
          type: string
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        ReportName:
          type: string
        ReportId:
          type: string
        DevicesInReport:
          type: integer
          format: int32
          x-nullable: false
        ReportScores:
          type: array
          items:
            $ref: '#/components/schemas/ReportScore'
        LatestPercentageScore:
          type: number
          format: double
          x-nullable: false
        PreviousPercentageScore:
          type: number
          format: double
        LatestDateUtc:
          type: string
          format: date-time
          x-nullable: false
        LatestIsImprovement:
          type: integer
          format: int32
          x-nullable: false
      description: ReportSummary
    ReportScore:
      title: ReportScore
      required:
        - ReportItemId
        - ReportInstanceId
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        DateUtc:
          type: string
          format: date-time
          x-nullable: false
        PercentageScore:
          type: number
          format: double
          x-nullable: false
        DevicesMissingFromScore:
          type: integer
          format: int32
          x-nullable: false
        DevicesAchievingPassMark:
          type: integer
          format: int32
          x-nullable: false
        PassMark:
          type: number
          format: double
          x-nullable: false
        ErrorMessage:
          type: string
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
        ReportInstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        TaskId:
          type: integer
          format: int32
          x-nullable: false
      description: ReportScore
    ComplianceHeader:
      title: ComplianceHeader
      type: object
      properties:
        Name:
          type: string
        RunDate:
          type: string
          format: date-time
          x-nullable: false
        RunDateUtc:
          type: string
          format: date-time
          x-nullable: false
        ReportInstanceId:
          type: string
      description: ComplianceHeader
    GetAvailableComplianceDataResponse:
      title: GetAvailableComplianceDataResponse
      required:
        - Version
      type: object
      properties:
        AvailableComplianceReports:
          $ref: '#/components/schemas/Dictionary_String_List_ComplianceReportRun__'
        AvailableComplianceDetails:
          type: array
          items:
            $ref: '#/components/schemas/ComplianceReportRunDetails'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetAvailableComplianceDataResponse
    ComplianceReportRun:
      title: ComplianceReportRun
      required:
        - ReportItemId
      type: object
      properties:
        GroupDisplayName:
          type: string
        GroupName:
          type: string
        ReportName:
          type: string
        ReportItemId:
          type: string
          description: Specifies the scheduled report item id.
      description: ComplianceReportRun
    List_ComplianceReportRun_:
      title: List<ComplianceReportRun>
      type: array
      items:
        $ref: '#/components/schemas/ComplianceReportRun'
    Dictionary_String_List_ComplianceReportRun__:
      title: 'Dictionary<String,List<ComplianceReportRun>>'
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/ComplianceReportRun'
      description: 'Dictionary<String,List<ComplianceReportRun>>'
    ComplianceReportRunDetails:
      title: ComplianceReportRunDetails
      type: object
      properties:
        GroupOrDeviceName:
          type: string
        GroupName:
          type: string
        ReportName:
          type: string
        ReportItemId:
          type: string
        DevicesInReport:
          type: integer
          format: int32
          x-nullable: false
        Devices:
          type: array
          items:
            type: string
        AveragePercentageScore:
          type: number
          format: double
          x-nullable: false
        LatestPercentageScore:
          type: number
          format: double
          x-nullable: false
        PreviousPercentageScore:
          type: number
          format: double
        LatestDateUtc:
          type: string
          format: date-time
          x-nullable: false
        LatestIsImprovement:
          type: integer
          format: int32
          x-nullable: false
        ReportType:
          type: string
      description: ComplianceReportRunDetails
    GetDeviceActivityResponse:
      title: GetDeviceActivityResponse
      required:
        - Version
      type: object
      properties:
        TotalDevices:
          type: integer
          format: int32
          x-nullable: false
        TotalDevicesActiveInPeriod:
          type: integer
          format: int32
          x-nullable: false
        TotalDevicesInActiveInPeriod:
          type: integer
          format: int32
          x-nullable: false
        TotalDevicesAwaitingConnectionInPeriod:
          type: integer
          format: int32
          x-nullable: false
        TotalDevicesReceivedNewConfig:
          type: integer
          format: int32
          x-nullable: false
        TotalDevicesProcessingNewConfig:
          type: integer
          format: int32
          x-nullable: false
        TotalDevicesAwaitingNewConfig:
          type: integer
          format: int32
          x-nullable: false
        InactiveDeviceActivitySummaries:
          type: array
          items:
            $ref: '#/components/schemas/DeviceActivitySummary'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Represents the list of devices matching the request criteria that have been inactive in the specified period.
    DeviceActivitySummary:
      title: DeviceActivitySummary
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        Name:
          type: string
        AgentDeviceId:
          type: string
        Deleted:
          type: boolean
          x-nullable: false
        OnlineStatus:
          type: string
          description: Specifies the online status.
        LastContactTimeUtc:
          type: string
          format: date-time
        NextPollTimeUtc:
          type: string
          format: date-time
        LastContactTimeMinutesAgo:
          type: integer
          format: int32
          x-nullable: false
        Description:
          type: string
      description: DeviceActivitySummary
    GetEventCountsResponse:
      title: GetEventCountsResponse
      required:
        - Version
      type: object
      properties:
        DeviceOrGroupName:
          type: string
        DeviceOrGroupId:
          type: string
        Events:
          type: array
          items:
            $ref: '#/components/schemas/EventCountsSummary'
        StartUtc:
          type: string
          format: date-time
          x-nullable: false
        EndUtc:
          type: string
          format: date-time
          x-nullable: false
        PlannedTotal:
          type: integer
          format: int32
          x-nullable: false
        UnplannedTotal:
          type: integer
          format: int32
          x-nullable: false
        AlertPlannedTotal:
          type: integer
          format: int32
          x-nullable: false
        AlertUnplannedTotal:
          type: integer
          format: int32
          x-nullable: false
        ErrorTotal:
          type: integer
          format: int32
          x-nullable: false
        TotalEvents:
          type: integer
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'Represents a summary of event counts for the devices or groups specified by the DeviceFilter, for the specified time period.'
    EventCountsSummary:
      title: EventCountsSummary
      type: object
      properties:
        Version:
          type: integer
          format: int32
          x-nullable: false
        PeriodStartUtc:
          type: string
          format: date-time
          x-nullable: false
        PeriodEndUtc:
          type: string
          format: date-time
          x-nullable: false
        PeriodMidPointUtc:
          type: string
          format: date-time
          x-nullable: false
        PlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        UnPlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        AlertPlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        AlertUnPlannedChanges:
          type: integer
          format: int32
          x-nullable: false
        Errors:
          type: integer
          format: int32
          x-nullable: false
        EventCounts:
          $ref: '#/components/schemas/Dictionary_EventType_Int32_'
        PeriodStartTz:
          type: string
          format: date-time
          x-nullable: false
        PeriodEndTz:
          type: string
          format: date-time
          x-nullable: false
        PeriodMidPointTz:
          type: string
          format: date-time
          x-nullable: false
        PeriodStart:
          type: integer
          format: int64
          x-nullable: false
        PeriodEnd:
          type: integer
          format: int64
          x-nullable: false
      description: EventCountsSummary
    Dictionary_EventType_Int32_:
      title: 'Dictionary<EventType,Int32>'
      type: object
      additionalProperties:
        type: integer
        format: int32
        x-nullable: false
      description: 'Dictionary<EventType,Int32>'
    List_GetEventCountsResponse_:
      title: List<GetEventCountsResponse>
      type: array
      items:
        $ref: '#/components/schemas/GetEventCountsResponse'
    ExecuteReportResponse:
      title: ExecuteReportResponse
      required:
        - Version
      type: object
      properties:
        Instance:
          $ref: '#/components/schemas/ScheduledInstance'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: ExecuteReportResponse
    ScheduledInstance:
      title: ScheduledInstance
      type: object
      properties:
        Id:
          type: string
        InstanceType:
          type: string
        RangeType:
          type: string
        TimeZone:
          type: string
        UserName:
          type: string
        RunTimeUtc:
          type: string
          format: date-time
          x-nullable: false
        ExpiresAtUtc:
          type: string
          format: date-time
          x-nullable: false
        ScheduledReportItem:
          $ref: '#/components/schemas/ScheduledReportItem'
        QueryDtos:
          type: array
          items:
            $ref: '#/components/schemas/QueryReadyDto'
        QueryTaskId:
          type: string
        QueryTaskStatus:
          type: string
        StatusMessage:
          type: string
        ResultsSummaries:
          type: array
          items:
            $ref: '#/components/schemas/ResultsSummary'
      description: ScheduledInstance
    GetScheduledInstancesResponse:
      title: GetScheduledInstancesResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledInstance'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetScheduledInstancesResponse
    GetScheduledInstanceRenderedResponse:
      title: GetScheduledInstanceRenderedResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledInstanceRendered'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetScheduledInstanceRenderedResponse
    ScheduledInstanceRendered:
      title: ScheduledInstanceRendered
      type: object
      properties:
        Id:
          type: string
        Name:
          type: string
        CreatedUtc:
          type: string
          format: date-time
          x-nullable: false
        ExpiryUtc:
          type: string
          format: date-time
          x-nullable: false
        SizeBytes:
          type: integer
          format: int64
          x-nullable: false
        ReportSpecId:
          type: string
        ReportInstanceId:
          type: string
      description: 'Represents the previously rendered output, for example a pdf file, for a specific report run.'
    AgentSoftwareUpdate:
      title: AgentSoftwareUpdate
      type: object
      properties:
        Id:
          type: string
          description: Specifies the update ID
        UpdateType:
          type: string
          description: 'Specifies the agent software update type (deb, rpm etc)'
        ZipFileName:
          type: string
          description: Specifies the zip file name
        Version:
          type: string
          description: Specifies the version contained in this update
        UploadDate:
          type: string
          description: Specifies the date it was uploaded into the hub
          format: date-time
          x-nullable: false
        UploadedBy:
          type: string
          description: Specifies who uploaded the file
        ZipFileHash:
          type: string
          description: Specifies the hash of the zip file
        InstallFilename:
          type: string
          description: Specifies  the install filename that represents the gen 7 update file contained within the main update zip file for the agent to execute when processing an update using the command it is given.
      description: Represents an individual software update
    List_AgentSoftwareUpdate_:
      title: List<AgentSoftwareUpdate>
      type: array
      items:
        $ref: '#/components/schemas/AgentSoftwareUpdate'
    List_GroupAgentUpdateSchedule_:
      title: List<GroupAgentUpdateSchedule>
      type: array
      items:
        $ref: '#/components/schemas/GroupAgentUpdateSchedule'
    GetSyncServiceConfigItemsResponse:
      title: GetSyncServiceConfigItemsResponse
      required:
        - Version
      type: object
      properties:
        ConfigurationValues:
          type: array
          items:
            $ref: '#/components/schemas/AzureAppConfigValue'
          description: The list of SyncService configuration items
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Response for retrieving SyncService configuration items
    AzureAppConfigValue:
      title: AzureAppConfigValue
      type: object
      properties:
        Key:
          type: string
          description: The configuration key (without prefix)
        Value:
          type: string
          description: The configuration value
        Hidden:
          type: boolean
          description: Indicates whether this configuration value is stored as a secret
          x-nullable: false
      description: Represents a configuration value from SyncService
    AddSyncServiceConfigItemResponse:
      title: AddSyncServiceConfigItemResponse
      required:
        - Version
      type: object
      properties:
        ConfigurationValue:
          $ref: '#/components/schemas/AzureAppConfigValue'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Response for adding a SyncService configuration item
    GetConfigItemsResponse:
      title: GetConfigItemsResponse
      required:
        - Version
      type: object
      properties:
        ConfigItems:
          type: array
          items:
            $ref: '#/components/schemas/ConfigItem'
          description: Specifies the configuration
        DecryptionErrorOccured:
          type: boolean
          description: Specifies a boolean indicating whether a decryption error occured during the retrieval of a config item(s)
          x-nullable: false
        DecryptionErrorMessage:
          type: string
          description: Specifies the decryption error message should a decryption error have occured
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Describes the hub configuration parameters.
    ConfigItem:
      title: ConfigItem
      type: object
      properties:
        Version:
          type: integer
          description: The HUB version that sent this object.
          format: int32
          x-nullable: false
        Id:
          type: string
          description: The unique id of this configuration item.
        Key:
          type: string
          description: The configuration key.
        Value:
          type: string
          description: The configuration value.
        LastUpdatedUtc:
          type: string
          description: The configuration last updated date time UTC.
          format: date-time
          x-nullable: false
      description: Represents an individual configuration item.
    NewId:
      title: NewId
      type: object
      properties:
        Id:
          type: string
          description: The id of the new item created.
      description: The id of the new item created.
    Dictionary_String_NewId_:
      title: 'Dictionary<String,NewId>'
      type: object
      additionalProperties:
        $ref: '#/components/schemas/NewId'
      description: 'Dictionary<String,NewId>'
    AddConfigItemResponse:
      title: AddConfigItemResponse
      required:
        - Version
      type: object
      properties:
        ConfigItems:
          type: array
          items:
            $ref: '#/components/schemas/ConfigItem'
          description: A list of configuration items that where added.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response delivered after adding a new config key / value.
    Dictionary_CredentialType_List_String__:
      title: 'Dictionary<CredentialType,List<String>>'
      type: object
      additionalProperties:
        type: array
        items:
          type: string
      description: 'Dictionary<CredentialType,List<String>>'
    List_Credentials_:
      title: List<Credentials>
      type: array
      items:
        $ref: '#/components/schemas/Credentials'
    GetAgentTaskStatusesResponse:
      title: GetAgentTaskStatusesResponse
      required:
        - Version
      type: object
      properties:
        Statuses:
          type: array
          items:
            $ref: '#/components/schemas/AgentTaskStatus'
          description: Specifies the statuses.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetAgentTaskStatuses
    AgentTaskStatus:
      title: AgentTaskStatus
      type: object
      properties:
        Id:
          type: integer
          description: The unique task id.
          format: int32
          x-nullable: false
        AgentId:
          type: string
          description: Specifies the agent id.
        DeviceId:
          type: string
          description: Specifies the device id.
        DeviceName:
          type: string
          description: Specifies the device name.
        HostName:
          type: string
          description: Specifies the host name. This is the name or IP address used for agentless access to this device.
        Description:
          type: string
          description: Specifies the task description.
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name. Only relevant for certain types of report execution tasks for which it preserves a trace of the source policy name the report is based on.
        Status:
          type: string
          description: Specifies the status.
        StatusMessage:
          type: string
          description: Specifies the status message.
        Processed:
          type: boolean
          description: Specifies whether the task has been processed.
          x-nullable: false
        TaskExpirationUtc:
          type: string
          description: Specifies the task expiry time after which its results will be discarded.
          format: date-time
          x-nullable: false
        ErrorText:
          type: string
          description: Specifies error message if the task has failed.
        UpdatedUtc:
          type: string
          description: Specifies the UTC date and time the task was last updated.
          format: date-time
          x-nullable: false
      description: ' Represents the status of a task.'
    SubmitAgentTasksResponse:
      title: SubmitAgentTasksResponse
      required:
        - Version
      type: object
      properties:
        Tasks:
          type: array
          items:
            $ref: '#/components/schemas/AgentTask'
          description: Specifies the list of tasks that were submitted.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for SubmitAgentTasks.
    FileHashBinary:
      title: FileHashBinary
      type: object
      properties:
        Id:
          type: string
          description: Specifies the unique id for this file hash binary.
        FileName:
          type: string
          description: Specifies the file name for this fie hash binary.
        HostType:
          type: string
          description: 'Specifies the host type (Windows, Unix etc) associated with this file hash binary.'
        OperatingSystem:
          type: string
          description: Specifies the operating system associated with this file hash binary.
        Variant:
          type: string
          description: 'Specifies the variant (X64, i386 etc) associated with this file hash binary.'
      description: Describes a file hash binary.
    List_FileHashBinary_:
      title: List<FileHashBinary>
      type: array
      items:
        $ref: '#/components/schemas/FileHashBinary'
    GetPlannedChangeInstanceMembersResponse:
      title: GetPlannedChangeInstanceMembersResponse
      required:
        - InstanceId
        - Version
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the member groups.
        MemberDevices:
          type: array
          items:
            $ref: '#/components/schemas/PlannedChangeInstanceDeviceMember'
          description: Specifies the member devices.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetPlannedChangeInstanceMembersResponse
    PlannedChangeInstanceDeviceMember:
      title: PlannedChangeInstanceDeviceMember
      type: object
      properties:
        AgentDeviceId:
          type: string
          description: Gets or sets the agent device identifier.
        Name:
          type: string
          description: Gets or sets the name.
      description: Device that is a Member of a Planned Change Instance.
    GetPlannedChangesInstancesResponse:
      title: GetPlannedChangesInstancesResponse
      required:
        - Version
      type: object
      properties:
        PlannedChangeInstances:
          type: array
          items:
            $ref: '#/components/schemas/PlannedChangeInstance'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'Describes planned change instances, filtered by name, id or groups that are members.'
    PlannedChangeInstance:
      title: PlannedChangeInstance
      required:
        - InstanceId
      type: object
      properties:
        Version:
          type: integer
          description: Gets the version
          format: int32
          x-nullable: false
        Disabled:
          type: boolean
          description: Specifies a value indicating whether the instance is currently disabled. This will prevent it being used by the EventCorrelationProcessor and also prevent it being shown in the UI as an option for adding events
          x-nullable: false
        DisallowRules:
          type: boolean
          description: 'Specifies a value indicating whether the underlying planned change is allowed to have rules, or is a just container for manually added events.'
          x-nullable: false
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        DisplayName:
          type: string
          description: Specifies the Display Name.
        PlannedChangeName:
          type: string
          description: Specifies the planned change definition name.
        PlannedChangeDisplayName:
          type: string
          description: Specifies the planned change definition's display name.
        PlannedChange:
          $ref: '#/components/schemas/PlannedChangeDefinition'
        Description:
          type: string
          description: Specifies the description.
        Origin:
          type: string
          description: 'Specifies the origin of the planned change. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when creates by sync service.'
        StartTimeUtc:
          type: string
          description: Specifies the UTC start time of the instance.
          format: date-time
          x-nullable: false
        EndTimeUtc:
          type: string
          description: Specifies the UTC end time of the instance.
          format: date-time
          x-nullable: false
        Started:
          type: boolean
          description: Specifies a value indicating whether the planned change has been started. This indicates that actions taken when the planned change is entered for the first time have been performed.
          x-nullable: false
        Ended:
          type: boolean
          description: Specifies a value indicating whether the planned change has been ended. This indicates that actions taken when the planned change is exited for the first time have been performed.
          x-nullable: false
        UseAttributeRules:
          type: boolean
          description: Used to trigger the new file hash based attribute rule generation. Eventually this will be the norm and this property can be removed.
          x-nullable: false
        MemberGroups:
          type: array
          items:
            type: string
          description: Specifies the names of member groups.
        GroupLookup:
          type: array
          items:
            $ref: '#/components/schemas/MemberDetail'
          description: Gets or sets the group lookup.
        AgentDeviceLookup:
          type: array
          items:
            $ref: '#/components/schemas/MemberDetail'
          description: Gets or sets the agent device lookup.
        MemberAgentDeviceIds:
          type: array
          items:
            type: string
          description: Specifies the ids of member devices.
        MemberGroupsWithInherit:
          type: array
          items:
            type: string
          description: Specifies the member groups including child groups of explicitly specified groups.
        AssignedTo:
          type: string
          description: Specifies the Assigned To Name.
        PeriodicityCount:
          type: integer
          description: Specifies a value indicating the periodicity of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          format: int32
          x-nullable: false
        PeriodicityUnit:
          type: string
          description: Specifies a value indicating the periodicity unit.
        PeriodDurationCount:
          type: integer
          description: Specifies a value indicating the period duration of the planned change. When PeriodicityCount is greater then zero the planned change is active every PeriodicityCount PeriodicityUnits for PeriodDurationCount PeriodDurationUnits starting from StartTimeUtc.
          format: int32
          x-nullable: false
        PeriodDurationUnit:
          type: string
          description: Specifies a value indicating the period duration unit.
        CreationDateUtc:
          type: string
          description: Specifies a the creation date in UTC.
          format: date-time
          x-nullable: false
        LastModifiedDateUtc:
          type: string
          description: Specifies a the last modified date in UTC.
          format: date-time
          x-nullable: false
      description: A planned change instance represents a planned change active in a specific time period for a set of devices.
    PlannedChangeDefinition:
      title: PlannedChangeDefinition
      type: object
      properties:
        Version:
          type: integer
          description: 'Specifies the request version. If specified, this indicates the service model version the request complies with.'
          format: int32
          x-nullable: false
        Name:
          type: string
          description: Specifies the internally identifying name.
        DisplayName:
          type: string
          description: Specifies the display name.
        Description:
          type: string
          description: Specifies the description text.
        Origin:
          type: string
          description: 'Specifies the origin of the planned change ruleset. Optional, this can be ''Interactive'' for UI created, or the name of an ITSM instance when creates by sync service.'
        CreationDateUtc:
          type: string
          description: Specifies the UTC creation date of the planned change.
          format: date-time
          x-nullable: false
        LastModifiedDateUtc:
          type: string
          description: Specifies the UTC last modified date of the planned change.
          format: date-time
          x-nullable: false
        DisallowRules:
          type: boolean
          description: 'Specifies a value indicating whether the planned change is allowed to have rules, or is a just container for manually added events.'
          x-nullable: false
        Rules:
          $ref: '#/components/schemas/Dictionary_String_PlannedChangeRule_'
        RuleCombinationOperator:
          type: string
          description: Specifies the rule combination operator. If this is And it means an event must satisfy all the'Rules'.
      description: A named Planned Change definition.
    MemberDetail:
      title: MemberDetail
      type: object
      properties:
        Id:
          type: string
          description: Gets and Sets the Member Detail Id
        Name:
          type: string
          description: Gets or sets the name.
      description: summary
    GetPlannedChangeInstancesNameValueResponse:
      title: GetPlannedChangeInstancesNameValueResponse
      required:
        - Version
      type: object
      properties:
        PlannedChangeInstances:
          type: array
          items:
            $ref: '#/components/schemas/PlannedChangeInstanceNameValue'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'Describes planned change instances, filtered by name, id or groups that are members.'
    PlannedChangeInstanceNameValue:
      title: PlannedChangeInstanceNameValue
      required:
        - InstanceId
      type: object
      properties:
        InstanceId:
          type: string
          description: Specifies the id for a specific ScheduledInstance of a ScheduledReportItem report.
        DisplayName:
          type: string
          description: Specifies the Display Name.
      description: Represents the Display Name and Id of a planned change only.
    AddOrUpdatePlannedChangeInstanceFromEventsResponse:
      title: AddOrUpdatePlannedChangeInstanceFromEventsResponse
      type: object
      properties:
        IsPreview:
          type: boolean
          description: 'Specifies a value indicating whether the values returned on this object are a preview, or have really been created, ''AddPlannedChangeInstanceFromEvents.PreviewOnly''.'
          x-nullable: false
        PlannedChange:
          $ref: '#/components/schemas/PlannedChangeDefinition'
        PlannedChangeInstance:
          $ref: '#/components/schemas/PlannedChangeInstance'
      description: AddOrUpdatePlannedChangeInstanceFromEventsResponse
    GetPlannedChangesResponse:
      title: GetPlannedChangesResponse
      required:
        - Version
      type: object
      properties:
        PlannedChanges:
          type: array
          items:
            $ref: '#/components/schemas/PlannedChangeDefinition'
          description: Specifies the planned changes.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Specifies returned a planned change definitions.
    AnalyzePlannedChangeResponse:
      title: AnalyzePlannedChangeResponse
      required:
        - Version
      type: object
      properties:
        RuleIdsReplaced:
          type: array
          items:
            type: string
        RuleReductionPlans:
          type: array
          items:
            $ref: '#/components/schemas/RuleReductionPlan2'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: AnalyzePlannedChangeResponse
    ParseCommandResponse:
      title: ParseCommandResponse
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        ErrorMessage:
          type: string
        Summaries:
          type: array
          items:
            $ref: '#/components/schemas/ParserResultSummary'
        SpecificLanguageDetail:
          type: string
        OriginalCommandLineText:
          type: string
      description: ParseCommandResponse
    ParserResultSummary:
      title: ParserResultSummary
      type: object
      properties:
        Name:
          type: string
        Results:
          type: array
          items:
            $ref: '#/components/schemas/ParserResults'
        Successful:
          type: boolean
          x-nullable: false
        FailureMessage:
          type: string
        SortedCommandElements:
          type: array
          items:
            $ref: '#/components/schemas/CommandElement'
      description: ParserResultSummary
    ParserResults:
      title: ParserResults
      type: object
      properties:
        ParserName:
          type: string
        FailureElementType:
          type: string
        FailureElement:
          $ref: '#/components/schemas/CommandElement'
        Message:
          type: string
        Keyword:
          $ref: '#/components/schemas/CommandElement'
        VariableAssignments:
          type: array
          items:
            $ref: '#/components/schemas/CommandElement'
        FileOutputRedirects:
          type: array
          items:
            $ref: '#/components/schemas/CommandElement'
      description: ParserResults
    CommandElement:
      title: CommandElement
      type: object
      properties:
        ElementText:
          type: string
        LineNumber:
          type: integer
          format: int32
          x-nullable: false
        ColumnStartIndex:
          type: integer
          format: int32
          x-nullable: false
        ColumnEndIndex:
          type: integer
          format: int32
          x-nullable: false
        CommandElementType:
          type: string
        FailureElementType:
          type: string
        ExistsInWhitelist:
          type: boolean
          x-nullable: false
        FailureMessage:
          type: string
      description: CommandElement
    WhitelistCommandComponentResponse:
      title: WhitelistCommandComponentResponse
      required:
        - Version
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        ErrorMessage:
          type: string
        CommandComponents:
          $ref: '#/components/schemas/IReadOnlyCollection_WhitelistedCommandComponent_'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The paging response base.
    IReadOnlyCollection_WhitelistedCommandComponent_:
      title: IReadOnlyCollection`1
      type: object
      description: IReadOnlyCollection<WhitelistedCommandComponent>
    CommandComponentTemplateResponse:
      title: CommandComponentTemplateResponse
      required:
        - Version
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        ErrorMessage:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: CommandComponentTemplateResponse
    GetAllCommandComponentTemplatesResponse:
      title: GetAllCommandComponentTemplatesResponse
      required:
        - Version
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        ErrorMessage:
          type: string
        TemplateNames:
          $ref: '#/components/schemas/IReadOnlyCollection_String_'
        CommandComponentId:
          type: string
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The paging response base.
    GetAllCommandComponentsTemplatesResponse:
      title: GetAllCommandComponentsTemplatesResponse
      required:
        - Version
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        ErrorMessage:
          type: string
        TemplateNames:
          $ref: '#/components/schemas/IReadOnlyCollection_String_'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetAllCommandComponentsTemplatesResponse
    GetCloudTemplateCreationStatusResponse:
      title: GetCloudTemplateCreationStatusResponse
      required:
        - Version
      type: object
      properties:
        CloudSystemName:
          type: string
        DefaultMasterAgentDeviceId:
          type: string
        DefaultMasterAgentName:
          type: string
        ActualMasterAgentDeviceId:
          type: string
        ActualMasterAgentName:
          type: string
        ActualMasterAgentOnline:
          type: boolean
          x-nullable: false
        RootGroupName:
          type: string
        RootGroupDisplayName:
          type: string
        CloudSystemGroupName:
          type: string
        CloudSystemGroupDisplayName:
          type: string
        CloudSystemGroupExists:
          type: boolean
          x-nullable: false
        CloudSystemGroupMembersCount:
          type: integer
          format: int32
          x-nullable: false
        CloudSystemAgentDeviceId:
          type: string
        CloudSystemAgentExists:
          type: boolean
          x-nullable: false
        CloudSystemAgentOnline:
          type: boolean
          x-nullable: false
        CloudSystemCredentialKey:
          type: string
        CloudSystemCredentialExists:
          type: boolean
          x-nullable: false
        CloudSystemCredentialTestStatus:
          type: string
        CloudSystemCredentialTestResult:
          type: string
        PolicyTemplateName:
          type: string
        ReportSpecId:
          type: string
        PolicyDeleted:
          type: boolean
          x-nullable: false
        PolicyIsTrusted:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetCloudTemplateCreationStatusResponse
    SetupPolicyTemplateResponse:
      title: SetupPolicyTemplateResponse
      required:
        - Version
      type: object
      properties:
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: SetupPolicyTemplateResponse
    GetPolicyTemplateCreationStatusResponse:
      title: GetPolicyTemplateCreationStatusResponse
      required:
        - Version
      type: object
      properties:
        PolicyTemplateName:
          type: string
        RootGroupName:
          type: string
        RootGroupDisplayName:
          type: string
        SourceGroupName:
          type: string
        SourceGroupDisplayName:
          type: string
        SourceGroupExists:
          type: boolean
          x-nullable: false
        SourceGroupHasPolicyTemplate:
          type: boolean
          x-nullable: false
        SourceGroupMembersCount:
          type: integer
          format: int32
          x-nullable: false
        SourceGroupConfigDateUtc:
          type: string
          format: date-time
          x-nullable: false
        MembersGroupName:
          type: string
        MembersGroupDisplayName:
          type: string
        MembersGroupExists:
          type: boolean
          x-nullable: false
        MembersGroupMembersCount:
          type: integer
          format: int32
          x-nullable: false
        RulesConfigured:
          type: integer
          format: int32
          x-nullable: false
        TrackersConfigured:
          type: integer
          format: int32
          x-nullable: false
        TrackerNames:
          type: array
          items:
            type: string
        SourceAgentDeviceId:
          type: string
        SourceAgentName:
          type: string
        SourceAgentHasConfig:
          type: boolean
          x-nullable: false
        SourceAgentIsBaselineSource:
          type: boolean
          x-nullable: false
        SourceAgentHasBaselined:
          type: boolean
          x-nullable: false
        MemberAgentDeviceId:
          type: string
        MemberAgentName:
          type: string
        ReportSpecId:
          type: string
        NotificationRefId:
          type: string
        HasBaselineEverRun:
          type: boolean
          x-nullable: false
        PolicyDeleted:
          type: boolean
          x-nullable: false
        PolicyIsTrusted:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetPolicyTemplateCreationStatusResponse
    GetMostRecentPolicyResultsResponse:
      title: GetMostRecentPolicyResultsResponse
      required:
        - Version
      type: object
      properties:
        Results:
          type: array
          items:
            $ref: '#/components/schemas/PolicyRunDetail'
        ComplianceDistribution:
          type: array
          items:
            $ref: '#/components/schemas/ChartDataPoint'
        GroupRiskDistribution:
          type: array
          items:
            $ref: '#/components/schemas/ChartDataPoint'
        GroupName:
          type: string
        GroupDisplayName:
          type: string
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Response to a request for matching config templates.
    PolicyRunDetail:
      title: PolicyRunDetail
      type: object
      properties:
        GroupDisplayName:
          type: string
          description: Specifies the group display name associated with the result
        PolicyTemplateName:
          type: string
        PolicyVersion:
          type: string
        RunDateUtc:
          type: string
          format: date-time
          x-nullable: false
        GroupName:
          type: string
          description: Specifies the group id associated with the result
        FirstAgentDeviceId:
          type: string
          description: Specifies the first agent in the group
        TimeLineDefaultStartUtc:
          type: string
          description: The suggested default start date for viewing results of this policy run
          format: date-time
          x-nullable: false
        TimeLineDefaultEndUtc:
          type: string
          description: The suggested default end date for viewing results of this policy run
          format: date-time
          x-nullable: false
        NotificationRefIds:
          type: array
          items:
            type: string
          description: Gets or sets the notification reference ids for the policy.
        NotificationStatus:
          type: string
        AverageScore:
          type: number
          format: double
          x-nullable: false
        LastAverageScore:
          type: number
          format: double
          x-nullable: false
        PassMark:
          type: number
          format: double
          x-nullable: false
        DevicesCurrentlyInGroup:
          type: integer
          format: int32
          x-nullable: false
        DeviceTotal:
          type: integer
          format: int32
          x-nullable: false
        DevicesPassed:
          type: integer
          format: int32
          x-nullable: false
        DevicesFailed:
          type: integer
          format: int32
          x-nullable: false
        DevicesNotRun:
          type: integer
          format: int32
          x-nullable: false
        ScoreDistribution:
          type: array
          items:
            $ref: '#/components/schemas/ScoreBand'
        DevicesImproved:
          type: integer
          format: int32
          x-nullable: false
        DevicesSame:
          type: integer
          format: int32
          x-nullable: false
        DevicesDeteriorated:
          type: integer
          format: int32
          x-nullable: false
        ReportInstanceId:
          type: string
        LastPassMark:
          type: number
          format: double
          x-nullable: false
        LastDeviceTotal:
          type: integer
          format: int32
          x-nullable: false
        LastDevicesPassed:
          type: integer
          format: int32
          x-nullable: false
        LastDevicesFailed:
          type: integer
          format: int32
          x-nullable: false
        LastDevicesNotRun:
          type: integer
          format: int32
          x-nullable: false
        LastPolicyTemplateName:
          type: string
        LastPolicyVersion:
          type: string
        LastDateUtc:
          type: string
          format: date-time
        LastRunDateUtc:
          type: string
          format: date-time
        LastReportInstanceId:
          type: string
        Risk:
          type: string
        RiskScore:
          type: string
        NumericRiskScore:
          type: integer
          format: int32
          x-nullable: false
        Compliant:
          type: boolean
          x-nullable: false
        SetupComplete:
          type: boolean
          x-nullable: false
        SetupMessage:
          type: string
        ReportSpecId:
          type: string
        HasRunData:
          type: boolean
          x-nullable: false
      description: Represents the results of applying a policy report to a group of devices
    ScoreBand:
      title: ScoreBand
      type: object
      properties:
        Lower:
          type: number
          format: double
          x-nullable: false
        Upper:
          type: number
          format: double
          x-nullable: false
        DeviceCount:
          type: integer
          format: int32
          x-nullable: false
      description: ScoreBand
    ChartDataPoint:
      title: ChartDataPoint
      type: object
      properties:
        Category:
          type: string
        Value:
          type: string
      description: ChartDataPoint
    AddPolicyTemplateRulesResponse:
      title: AddPolicyTemplateRulesResponse
      required:
        - Version
      type: object
      properties:
        ActionsTaken:
          type: array
          items:
            type: string
        FailureHint:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: AddPolicyTemplateRulesResponse
    AddPolicyTemplateResponse:
      title: AddPolicyTemplateResponse
      type: object
      properties:
        PreviousVersion:
          type: string
        Version:
          type: string
        WasUploaded:
          type: boolean
          x-nullable: false
        IsActive:
          type: boolean
          x-nullable: false
        IsSystem:
          type: boolean
          x-nullable: false
        IsTrusted:
          type: boolean
          x-nullable: false
        Message:
          type: string
      description: Response to adding a device policy template to the system.
    UploadPolicyTemplateResponse:
      title: UploadPolicyTemplateResponse
      required:
        - Version
      type: object
      properties:
        AddPolicyTemplateResponses:
          type: array
          items:
            $ref: '#/components/schemas/AddPolicyTemplateResponse'
          description: Specifies a the list of policy template summaries that were created from the uploaded files.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: UploadPolicyTemplateResponse
    GetAgentProcessesResponse:
      title: GetAgentProcessesResponse
      required:
        - Version
      type: object
      properties:
        TaskId:
          type: integer
          format: int32
          x-nullable: false
        Message:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Describes the list of running processes on a device.
    StartAgentTrackerResponse:
      title: StartAgentTrackerResponse
      required:
        - Version
      type: object
      properties:
        TaskId:
          type: integer
          format: int32
          x-nullable: false
        Message:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: StartAgentTrackerResponse
    GetAgentServicesResponse:
      title: GetAgentServicesResponse
      required:
        - Version
      type: object
      properties:
        TaskId:
          type: integer
          format: int32
          x-nullable: false
        Message:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Describes the list of running services on a device.
    GetGroupPolicyResponse:
      title: GetGroupPolicyResponse
      required:
        - Version
      type: object
      properties:
        Templates:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTemplateDetails'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response to the request for configured policy templates on the group.
    AddGroupPolicyResponse:
      title: AddGroupPolicyResponse
      required:
        - Version
      type: object
      properties:
        Templates:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTemplateDetails'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response to the request to add a configured policy template to the group.
    GetAgentsRankedResponse:
      title: GetAgentsRankedResponse
      required:
        - Version
      type: object
      properties:
        AgentCredentials:
          type: array
          items:
            $ref: '#/components/schemas/AgentCredential'
          description: Specifies a list of agent device -> credentials.
        AgentGroups:
          type: array
          items:
            $ref: '#/components/schemas/AgentGroups'
          description: Specifies a list of agent device -> group memberships.
        GroupsLookup:
          type: array
          items:
            $ref: '#/components/schemas/KeyValuePair_String_String_'
          description: Specifies a lookup list of group key -> display name.
        TemplatesLookup:
          type: array
          items:
            $ref: '#/components/schemas/KeyValuePair_String_String_'
          description: Specifies a lookup list of template key -> display name.
        AgentPlannedChangeStatuses:
          type: array
          items:
            $ref: '#/components/schemas/AgentPlannedChangeInstanceStatus'
          description: Specifies a list of agent device -> planned change statuses (returned here to make subsequent calls unnecessary in UI - the data is all stored in the same object in the repository so no signficant cost in getting it out)
        Agents:
          type: array
          items:
            $ref: '#/components/schemas/DeviceReportDetail'
          description: Specifies the agents matching the 'GetAgents' request.
        AgentTemplates:
          type: array
          items:
            $ref: '#/components/schemas/AgentTemplates'
          description: Specifies agent device -> templates
        RelatedProxyAgents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: 'Specifies the related proxy agents. These are the agents that proxy the devices listed in ''Agents'', if any.'
        ResultsGeneratedAtUtc:
          type: string
          description: Specifies time the results were generated at in utc.
          format: date-time
          x-nullable: false
        StatsPeriod:
          type: integer
          description: Specifies the id of the stats period the device event counts were retrieved from.
          format: int64
          x-nullable: false
        StatsPeriodStartUtc:
          type: string
          description: Specifies the Utc start date of the stats period the device event counts were retrieved from.
          format: date-time
          x-nullable: false
        StatsPeriodEndUtc:
          type: string
          description: Specifies the Utc end date of the stats period the device event counts were retrieved from.
          format: date-time
          x-nullable: false
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response objeect for GetAgentsRanked
    KeyValuePair_String_String_:
      title: 'KeyValuePair<String,String>'
      type: object
      properties:
        Key:
          type: string
        Value:
          type: string
      description: 'KeyValuePair<String,String>'
    GroupMembersResponse:
      title: GroupMembersResponse
      required:
        - Version
      type: object
      properties:
        GroupMembers:
          type: array
          items:
            $ref: '#/components/schemas/GroupMember'
          description: Specifies the group members.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response to group members request.
    GroupMember:
      title: GroupMember
      type: object
      properties:
        Version:
          type: integer
          description: Gets the version.
          format: int32
          x-nullable: false
        GroupName:
          type: string
          description: Gets or sets the name of the group.
        MemberType:
          type: string
          description: Specifies the member type of the member specified by MemberName (AgentDevice or Group).
        MemberName:
          type: string
          description: Gets or sets the member name. Note that when this is an Agent Device the Member Name is the encoded Agent:Device pair.
        GroupRiskScore:
          type: string
          description: Specifies the risk score of the group.
      description: A group member.
    GetGroupsResponse:
      title: GetGroupsResponse
      required:
        - Version
      type: object
      properties:
        Groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          description: The list of returned groups.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response to a get groups request.
    Group:
      title: Group
      type: object
      properties:
        Version:
          type: integer
          description: Gets the version.
          format: int32
          x-nullable: false
        Name:
          type: string
          description: Gets or sets the Group name.
        DisplayName:
          type: string
          description: Gets or sets the Group's display name.
        GroupType:
          type: integer
          description: Gets or sets the type of the group.
          format: int32
        AgentUpdateSchedule:
          $ref: '#/components/schemas/GroupAgentUpdateSchedule'
        DeviceSettings:
          $ref: '#/components/schemas/DeviceSettingsPartial'
        IsSystem:
          type: boolean
          description: summary
          x-nullable: false
        Members:
          type: array
          items:
            type: string
          description: The group names that are members of this group.
        Templates:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledPolicyTemplate'
          description: ' Gets or sets the Group''s policy templates.'
        RiskScore:
          type: string
          description: Specifies the risk score of the group.
        NotifyUsers:
          type: array
          items:
            type: string
          description: Gets or sets the list of users to notify.
        LastActivityTimeUtc:
          type: string
          description: 'Gets or sets the last activity utc time, this is the time the groups templates of memberships were last changed.'
          format: date-time
          x-nullable: false
        MemberOf:
          type: array
          items:
            type: string
          description: Parent groups of this group.
        LastConfigRelatedChangeDateUtc:
          type: string
          format: date-time
          x-nullable: false
      description: A group.
    DeviceSettingsPartial:
      title: DeviceSettingsPartial
      type: object
      properties:
        FileLiveTrackingRequiresBaselineCompletion:
          type: boolean
          description: Gets or sets the file live tracking requires baseline completion flag.
      description: 'The partial device settings represents the device specific options such as customised local ui password details, and tracker performance settings stored on a specific group. The Device Settings for a specific device are derived from a set of these.'
    ScheduledPolicyTemplate:
      title: ScheduledPolicyTemplate
      type: object
      properties:
        GroupName:
          type: string
          description: Specifies the group name.
        StartTimeUtc:
          type: string
          description: Specifies the UTC start time of the schedule.
          format: date-time
          x-nullable: false
        EndTimeUtc:
          type: string
          description: Specifies the UTC end time of the schedule.
          format: date-time
          x-nullable: false
        PeriodicityMinutes:
          type: integer
          description: Specifies the periodicity of execution of a compliance report in minutes.
          format: int32
          x-nullable: false
        PolicyTemplateName:
          type: string
          description: Specifies the policy template name.
        NextRunTimeUtc:
          type: string
          description: Specifies the next run time utc.
          format: date-time
        LastRunTimeUtc:
          type: string
          description: Specifies the last run time utc.
          format: date-time
        CurrentResultEventId:
          type: string
          description: Specifies the current result event id.
        LastResultEventId:
          type: string
          description: Specifies the last result event id.
        WaitForCompletionUntilUtc:
          type: string
          description: 'Specifies the utc time to wait until, for completion of the current set of tasks.'
          format: date-time
        Status:
          type: string
          description: Specifies the status.
        TaskIds:
          type: array
          items:
            type: integer
            format: int32
            x-nullable: false
          description: Specifies the task ids.
        AbandonTasksOnTimeout:
          type: boolean
          description: Specifies a value indicating whether to abandon unfinished tasks on on scheduled policy timeout.
          x-nullable: false
        PassMark:
          type: number
          description: Specifies the default pass mark associated with compliance report TemplateType.
          format: double
          x-nullable: false
        PolicyRunId:
          type: integer
          description: Specifies the policy run id associated with the last run of the report etc. This id is also stored on the relevant tasks.
          format: int32
      description: The scheduled policy template associated with a group and run on a schedule. This is a DTO used to return detailed information about a scheduled policy on a group.
    GetGroupsTreeResponse:
      title: GetGroupsTreeResponse
      required:
        - Groups
      type: object
      properties:
        Groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupTreeItem'
          description: The list of top level groups
      description: A returned tree structure representing the groups hierarchy.
    GroupTreeItem:
      title: GroupTreeItem
      type: object
      properties:
        DisplayName:
          type: string
          description: Gets or sets the display name of the Group Tree Item.
        IsSystem:
          type: boolean
          description: Gets or sets a value indicating whether this object is system.
          x-nullable: false
        ParentCount:
          type: integer
          description: Gets or sets a value indicating the number of parent groups this group is a child of.
          format: int32
          x-nullable: false
        Name:
          type: string
          description: Gets or sets the group tree item name.
        Groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupTreeItem'
          description: Gets or sets the list of GroupTreeItems.
        RiskScore:
          type: string
          description: Specifies the risk score of the group.
      description: A group tree item.
    AddGroupResponse:
      title: AddGroupResponse
      required:
        - Version
      type: object
      properties:
        Name:
          type: string
          description: The name of the new group
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Represents a response to adding a new group
    GetOverdueDevicesResponse:
      title: GetOverdueDevicesResponse
      required:
        - Version
      type: object
      properties:
        Devices:
          type: array
          items:
            type: string
          description: The devices that have not polled in for the specified amount of time.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Lists devices that have not polled in for the specified amount of time.
    DeleteDevicePermanentlyResponse:
      title: DeleteDevicePermanentlyResponse
      required:
        - Version
      type: object
      properties:
        Challenge:
          type: string
          description: The response to a previously issued challenge for this request. Without this the call will return a challenge for which the response must be supplied on a subsequently call.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: 'The response to a request to delete a specified Agent from the system. On first call the system will issue a challenge which must be responded to and supplied on a repetition of the initial request. Contact NNT Support, supplying the text of the challenge, in order be be issued with an authorising response code.'
    GetDeviceFiltersResponse:
      title: GetDeviceFiltersResponse
      required:
        - Version
      type: object
      properties:
        DeviceFilters:
          type: List<DeviceFilter>
          items:
            $ref: '#/components/schemas/DeviceFilter'
          description: Contains the list of zero or more DeviceFilter definitions matching the request criteria
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response to a get defvice filters request.
    TestAgentCredentialsResponse:
      title: TestAgentCredentialsResponse
      required:
        - Version
      type: object
      properties:
        TaskId:
          type: integer
          format: int32
          x-nullable: false
        Message:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: TestAgentCredentialsResponse
    IpAddressBlockingStatus:
      title: IpAddressBlockingStatus
      type: object
      properties:
        IpAddress:
          type: string
          description: Gets or sets the IP address.
        BlockedDueTo:
          type: string
          description: Gets or sets the reason the ip address is blocked. IpAddressActivityType.NotBlocked means not blocked.
        ExpiresUtc:
          type: string
          description: Gets or sets the Date/Time UTC when the status expires.
          format: date-time
          x-nullable: false
        Count:
          type: integer
          description: Gets or sets the count.
          format: int32
          x-nullable: false
        UserName:
          type: string
          description: 'Gets or sets the name of the user. '
      description: 'The ip address blocking status represents the reason why an ipaddress is blocked, based on analysis of the stored blocking details.'
    List_IpAddressBlockingStatus_:
      title: List<IpAddressBlockingStatus>
      type: array
      items:
        $ref: '#/components/schemas/IpAddressBlockingStatus'
    DiscoverDevicesResponse:
      title: DiscoverDevicesResponse
      required:
        - Version
      type: object
      properties:
        TaskId:
          type: integer
          format: int32
          x-nullable: false
        DiscoveredDeviceType:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: DiscoverDevicesResponse
    GetEventHistoryResponse:
      title: GetEventHistoryResponse
      required:
        - Version
      type: object
      properties:
        EventId:
          type: string
          description: Specifies the event id.
        HistoryItems:
          type: array
          items:
            $ref: '#/components/schemas/HistoryItem'
          description: A list of history items associated with this event.
        Total:
          type: integer
          description: Gets or sets the number of history items
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Describes an event's history.
    HistoryItem:
      title: HistoryItem
      type: object
      properties:
        DateUtc:
          type: string
          description: Specifies the date (UTC) the action took place.
          format: date-time
          x-nullable: false
        Message:
          type: string
          description: Specifies the action that took palce at the specified time.
      description: Describes a specific item of event history.
    GetEventDeviceGroupsResponse:
      title: GetEventDeviceGroupsResponse
      required:
        - Version
      type: object
      properties:
        GroupNames:
          type: array
          items:
            type: string
          description: Gets or sets the group names.
        AgentDeviceIds:
          type: array
          items:
            type: string
          description: Gets or sets the agent device ids.
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Represents the list of groups that the devices associated with the given events are members of.
    GetInventoryResponse:
      title: GetInventoryResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/InventoryItem'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The paging response base.
    GetAgentInventoryItemsGroupedResponse:
      title: GetAgentInventoryItemsGroupedResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/AgentInventoryItemGrouped'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The paging response base.
    AgentInventoryItemGrouped:
      title: AgentInventoryItemGrouped
      type: object
      properties:
        Id:
          type: string
        Version:
          type: integer
          format: int32
          x-nullable: false
        InventoryItemName:
          type: string
        InventoryItemVersion:
          type: string
        InventoryItemCpeMatchStatus:
          type: string
        InventoryItemCpeName:
          type: string
        AgentsTotal:
          type: integer
          format: int32
          x-nullable: false
        IsOperatingSystemItem:
          type: boolean
          x-nullable: false
      description: AgentInventoryItemGrouped
    GetAgentInventoryAgentsDetailResponse:
      title: GetAgentInventoryAgentsDetailResponse
      required:
        - Version
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/AgentDetail'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The paging response base.
    AgentDetail:
      title: AgentDetail
      type: object
      properties:
        AgentDeviceId:
          type: string
        DeviceName:
          type: string
        AgentVersion:
          type: string
      description: AgentDetail
    GetVulnerabilityOverviewResponse:
      title: GetVulnerabilityOverviewResponse
      required:
        - Version
      type: object
      properties:
        SoftwareVulnerabilityScoresV3:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        SoftwareVulnerabilityScoresV2:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        DeviceVulnerabilityScoresV3:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        VulnerabilityScoresV2:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        VulnerabilityScoresV3:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        DeviceVulnerabilityScoresV2:
          $ref: '#/components/schemas/Dictionary_String_Double_'
        CveChanges:
          type: array
          items:
            $ref: '#/components/schemas/CveSummary'
          description: Specifies a list of recent CVE Changes.
        HighRiskSoftwareItems:
          type: array
          items:
            $ref: '#/components/schemas/SoftwareItem'
          description: 'Specifies a list of high risk software items. A software item is considered high risk if it has a known cve of critical or high V3 severity, or high V2 severity'
        IgnoredCves:
          type: array
          items:
            $ref: '#/components/schemas/CveSummary'
          description: Specifies a list of ignored CVE.
        Status:
          $ref: '#/components/schemas/GetVulnerabilityScanStatusResponse'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetVulnerabilityOverview
    SoftwareItem:
      title: SoftwareItem
      type: object
      properties:
        SoftwareId:
          type: string
        SoftwareName:
          type: string
        SoftwareVersion:
          type: string
        CpeName:
          type: string
        MatchStatus:
          type: string
        GoodMatchCpeSummary:
          $ref: '#/components/schemas/CpeSummary'
        RelatedCpeSummaries:
          type: array
          items:
            $ref: '#/components/schemas/CpeSummary'
        VulnerabilityCount:
          type: integer
          format: int32
          x-nullable: false
      description: SoftwareItem
    CpeSummary:
      title: CpeSummary
      type: object
      properties:
        MatchStrength:
          type: number
          format: float
          x-nullable: false
        CpeName:
          type: string
        CveSummaries:
          type: array
          items:
            $ref: '#/components/schemas/CveSummary'
      description: CpeSummary
    GetVulnerabilityScanStatusResponse:
      title: GetVulnerabilityScanStatusResponse
      required:
        - Version
      type: object
      properties:
        InventoryItemsInQueue:
          type: integer
          format: int32
          x-nullable: false
        InventoryItemMatchStatusCounts:
          $ref: '#/components/schemas/Dictionary_String_Int32_'
        Message:
          type: string
        AllQuiet:
          type: boolean
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetVulnerabilityStatus
    Dictionary_String_Int32_:
      title: 'Dictionary<String,Int32>'
      type: object
      additionalProperties:
        type: integer
        format: int32
        x-nullable: false
      description: 'Dictionary<String,Int32>'
    GetVulnerabilityResponse:
      title: GetVulnerabilityResponse
      required:
        - Version
      type: object
      properties:
        CveItems:
          type: array
          items:
            $ref: '#/components/schemas/CveItem'
          description: Specifies a list of CVEs.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetVulnerability
    CveItem:
      title: CveItem
      type: object
      properties:
        CveMatchStatus:
          type: string
        IsDeleted:
          type: boolean
          x-nullable: false
        BaseMetricV2:
          $ref: '#/components/schemas/BaseMetricV2Definition'
        BaseMetricV3:
          $ref: '#/components/schemas/BaseMetricV3Definition'
        ReferenceData:
          type: array
          items:
            $ref: '#/components/schemas/CveReferenceData'
        Version:
          type: integer
          format: int32
          x-nullable: false
        ChangeHistory:
          type: array
          items:
            $ref: '#/components/schemas/CveHistory'
        IgnoredUntilDateUtc:
          type: string
          format: date-time
          x-nullable: false
        IsIgnored:
          type: boolean
          x-nullable: false
        CveId:
          type: string
        CpeName:
          type: string
        V3Severity:
          type: string
        V2Severity:
          type: string
        CveChangeDateUtc:
          type: string
          format: date-time
          x-nullable: false
        CveDescription:
          type: string
        NvdDetailsLink:
          type: string
        V2BaseScore:
          type: number
          format: float
          x-nullable: false
        V3BaseScore:
          type: number
          format: float
          x-nullable: false
      description: CveItem
    BaseMetricV2Definition:
      title: BaseMetricV2Definition
      type: object
      properties:
        CvssV2:
          $ref: '#/components/schemas/CvssVersionV2'
        Severity:
          type: string
        ExploitabilityScore:
          type: number
          format: double
        ImpactScore:
          type: number
          format: double
        AcInsufficientInfo:
          type: boolean
          x-nullable: false
        ObtainAllPrivilege:
          type: boolean
          x-nullable: false
        ObtainUserPrivilege:
          type: boolean
          x-nullable: false
        ObtainOtherPrivilege:
          type: boolean
          x-nullable: false
        UserInteractionRequired:
          type: boolean
          x-nullable: false
      description: BaseMetricV2Definition
    CvssVersionV2:
      title: CvssVersionV2
      type: object
      properties:
        Version:
          type: string
        VectorString:
          type: string
        AccessVector:
          type: string
        AccessComplexity:
          type: string
        Authentication:
          type: string
        ConfidentialityImpact:
          type: string
        IntegrityImpact:
          type: string
        AvailabilityImpact:
          type: string
        BaseScore:
          type: number
          format: double
        Exploitability:
          type: string
        RemediationLevel:
          type: string
        ReportConfidence:
          type: string
        TemporalScore:
          type: number
          format: double
        CollateralDamagePotential:
          type: string
        TargetDistribution:
          type: string
        ConfidentialityRequirement:
          type: string
        IntegrityRequirement:
          type: string
        EnvironmentalScore:
          type: number
          format: double
      description: CvssVersionV2
    BaseMetricV3Definition:
      title: BaseMetricV3Definition
      type: object
      properties:
        CvssV3:
          $ref: '#/components/schemas/CvssVersionV3x'
        ExploitabilityScore:
          type: number
          format: double
        ImpactScore:
          type: number
          format: double
      description: BaseMetricV3Definition
    CvssVersionV3x:
      title: CvssVersionV3x
      type: object
      properties:
        Version:
          type: string
        VectorString:
          type: string
        AttackVector:
          type: string
        AttackComplexity:
          type: string
        PrivilegesRequired:
          type: string
        UserInteraction:
          type: string
        Scope:
          type: string
        ConfidentialityImpact:
          type: string
        IntegrityImpact:
          type: string
        AvailabilityImpact:
          type: string
        BaseScore:
          type: number
          format: double
        BaseSeverity:
          type: string
        ExploitCodeMaturity:
          type: string
        RemediationLevel:
          type: string
        ReportConfidence:
          type: string
        TemporalScore:
          type: number
          format: double
        TemporalSeverity:
          type: string
        ConfidentialityRequirement:
          type: string
        IntegrityRequirement:
          type: string
        AvailabilityRequirement:
          type: string
        ModifiedAttackVector:
          type: string
        ModifiedAttackComplexity:
          type: string
        ModifiedPrivilegesRequired:
          type: string
        ModifiedUserInteraction:
          type: string
        ModifiedScope:
          type: string
        ModifiedConfidentialityImpact:
          type: string
        ModifiedIntegrityImpact:
          type: string
        ModifiedAvailabilityImpact:
          type: string
        EnvironmentalScore:
          type: number
          format: double
        EnvironmentalSeverity:
          type: string
      description: CvssVersionV3x
    CveReferenceData:
      title: CveReferenceData
      type: object
      properties:
        Url:
          type: string
        Name:
          type: string
        RefSource:
          type: string
        Tags:
          type: array
          items:
            type: string
      description: CveReferenceData
    GetSoftwareVulnerabilityResponse:
      title: GetSoftwareVulnerabilityResponse
      required:
        - Version
      type: object
      properties:
        SoftwareItems:
          type: array
          items:
            $ref: '#/components/schemas/SoftwareItem'
          description: Specifies a list of recent CVE Changes.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetSoftwareVulnerability
    GetSoftwareVulnerabilityDetailResponse:
      title: GetSoftwareVulnerabilityDetailResponse
      required:
        - Version
      type: object
      properties:
        CvesList:
          type: array
          items:
            $ref: '#/components/schemas/CveItem'
          description: Specifies a list of recent CVE Changes.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetSoftwareVulnerabilityDetail
    GetDeviceVulnerabilityResponse:
      title: GetDeviceVulnerabilityResponse
      required:
        - Version
      type: object
      properties:
        VulnerableDevices:
          type: array
          items:
            $ref: '#/components/schemas/VulnerableDevice'
          description: Specifies a list of recent CVE Changes.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetDeviceVulnerability
    VulnerableDevice:
      title: VulnerableDevice
      type: object
      properties:
        DeviceName:
          type: string
        VulnerableSoftwareCount:
          type: integer
          format: int32
          x-nullable: false
        VulnerabilityCount:
          type: integer
          format: int32
          x-nullable: false
        AgentDeviceId:
          type: string
      description: VulnerableDevice
    GetDeviceVulnerabilityDetailResponse:
      title: GetDeviceVulnerabilityDetailResponse
      required:
        - Version
      type: object
      properties:
        CvesList:
          type: array
          items:
            $ref: '#/components/schemas/CveItem'
          description: Specifies a list of recent CVE Changes.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetDeviceVulnerabilityDetail
    GetCvesForRelatedCpesResponse:
      title: GetCvesForRelatedCpesResponse
      required:
        - Version
      type: object
      properties:
        CvesList:
          type: array
          items:
            $ref: '#/components/schemas/CveItem'
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetCvesForRelatedCpes
    GetVulnerableDeviceDetailResponse:
      title: GetVulnerableDeviceDetailResponse
      required:
        - Version
      type: object
      properties:
        VulnerableDevices:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: Specifies a list of vulnerable devices.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response object for GetDeviceVulnerabilityDetail
    GetAllLog4NetConfigItemsResponse:
      title: GetAllLog4NetConfigItemsResponse
      type: object
      properties:
        LoggerConfigs:
          type: array
          items:
            $ref: '#/components/schemas/Log4NetLoggerConfig'
          description: The list of log4net logger configurations
      description: Response for getting log4net configuration items
    Log4NetLoggerConfig:
      title: Log4NetLoggerConfig
      type: object
      properties:
        Id:
          type: string
        LoggerName:
          type: string
        LogLevel:
          type: string
      description: Log4NetLoggerConfig
    AddLog4NetConfigItemResponse:
      title: AddLog4NetConfigItemResponse
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        LoggerConfig:
          $ref: '#/components/schemas/Log4NetLoggerConfig'
      description: AddLog4NetConfigItemResponse
    UpdateLog4NetConfigItemResponse:
      title: UpdateLog4NetConfigItemResponse
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
        LoggerConfig:
          $ref: '#/components/schemas/Log4NetLoggerConfig'
      description: UpdateLog4NetConfigItemResponse
    DeleteLog4NetConfigItemResponse:
      title: DeleteLog4NetConfigItemResponse
      type: object
      properties:
        Success:
          type: boolean
          x-nullable: false
      description: DeleteLog4NetConfigItemResponse
    GetLog4NetConfigItemsResponse:
      title: GetLog4NetConfigItemsResponse
      required:
        - Version
      type: object
      properties:
        LoggerConfigs:
          type: array
          items:
            $ref: '#/components/schemas/Log4NetLoggerConfig'
          description: The list of log4net logger configurations
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Response for getting log4net configuration items with pagination support
    ResponseStatus:
      title: ResponseStatus
      type: object
      properties:
        ErrorCode:
          type: string
        Message:
          type: string
        StackTrace:
          type: string
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/ResponseError'
        Meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: ResponseStatus
    ResponseError:
      title: ResponseError
      type: object
      properties:
        ErrorCode:
          type: string
        FieldName:
          type: string
        Message:
          type: string
        Meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: ResponseError
    ReportChangeDetail:
      title: ReportChangeDetail
      type: object
      properties:
        RuleTitle:
          type: string
        DidPass:
          type: boolean
          x-nullable: false
        DoesPass:
          type: boolean
          x-nullable: false
        ChangeReason:
          type: string
      description: Specifies the changes between two report runs on an individual rule basis.
    List_ReportChangeDetail_:
      title: List<ReportChangeDetail>
      type: array
      items:
        $ref: '#/components/schemas/ReportChangeDetail'
    GetReportDataResponse:
      title: GetReportDataResponse
      required:
        - Version
      type: object
      properties:
        ReportId:
          type: string
        ReportData:
          type: array
          items:
            $ref: '#/components/schemas/ReportRuleResult'
        ReportName:
          type: string
        ReportSummary:
          type: string
        ReportScore:
          type: number
          format: double
          x-nullable: false
        RunDateUtc:
          type: string
          format: date-time
          x-nullable: false
        AgentDevice:
          $ref: '#/components/schemas/AgentDevice'
        DeviceName:
          type: string
        DisaggregationEnabled:
          type: boolean
          x-nullable: false
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: A returned list of report results for displaying in a grid.
    ReportRuleResult:
      title: ReportRuleResult
      type: object
      properties:
        SectionTitle:
          type: string
        CategoryTitle:
          type: string
        SubCategoryTitle:
          type: string
        RuleNumber:
          type: string
        RuleTitle:
          type: string
        IsExcluded:
          type: boolean
          x-nullable: false
        Score:
          type: number
          format: double
          x-nullable: false
        RulePasses:
          type: boolean
          x-nullable: false
        ResultDetail:
          type: string
        RuleDescription:
          type: string
        TextDifferences:
          type: array
          items:
            $ref: '#/components/schemas/TextDifference'
        DiffPlainTextExpected:
          type: string
        DiffPlainTextActual:
          type: string
        SectionTextTitle:
          type: string
        SectionText:
          type: string
        SectionTextIcon:
          type: string
        CategoryTextTitle:
          type: string
        CategoryText:
          type: string
        CategoryTextIcon:
          type: string
        SubCategoryTextTitle:
          type: string
        SubCategoryText:
          type: string
        SubCategoryTextIcon:
          type: string
        ScoreType:
          type: integer
          format: int32
          x-nullable: false
        Severity:
          type: string
      description: ReportRuleResult
    GetAvailableReportsResponse:
      title: GetAvailableReportsResponse
      required:
        - Version
      type: object
      properties:
        ReportMetadata:
          type: array
          items:
            $ref: '#/components/schemas/ReportMetadata'
          description: Specifies the list of available reports.
        Total:
          type: integer
          description: The total number of rows in the result set.
          format: int64
          x-nullable: false
        Returned:
          type: integer
          description: The number of rows returned.
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Describes the available reports for the specified devices.
    DashboardLayout:
      title: DashboardLayout
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the dashboard.
        Name:
          type: string
          description: The name of the dashboard.
        IsSystem:
          type: boolean
          description: Indicates whether the dashboard is system-defined.
          x-nullable: false
        Widgets:
          type: array
          items:
            $ref: '#/components/schemas/DashboardWidgetSpec'
          description: The widgets.
      description: Details of a specific dashboard layout.
    SaveUserDashboardResponse:
      title: SaveUserDashboardResponse
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the dashboard.
      description: Response to the SaveUserDashboard request.
    GetUserSettingsResponse:
      title: GetUserSettingsResponse
      type: object
      properties:
        HasChangedPassword:
          type: boolean
          description: Has the current user changed their password from any system assigned one?
          x-nullable: false
        DashboardId:
          type: string
          description: The user's default dashboard identifier.
        DashboardsAvailable:
          type: array
          items:
            $ref: '#/components/schemas/DashboardSummary'
          description: The custom and system dashboards available to the user.
        ThemesAvailable:
          type: array
          items:
            $ref: '#/components/schemas/ThemeSummary'
          description: The system themes available to the user.
        ThemeId:
          type: string
          description: The user's theme identifier.
        TimeZoneId:
          type: string
          description: The user's time zone identifier.
        DateFormats:
          $ref: '#/components/schemas/UserDateFormats'
        HideWelcomePopup:
          type: boolean
          description: Indicates whether the user has opted to skip the welcome wizard.
          x-nullable: false
      description: Response to the GetUserSettings request.
    DashboardSummary:
      title: DashboardSummary
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the dashboard.
        Name:
          type: string
          description: The name of the dashboard.
        IsSystem:
          type: boolean
          description: Indicates whether the dashboard is system-defined.
          x-nullable: false
        IsPublic:
          type: boolean
          description: Indicates whether the dashboard is visible to all users.
          x-nullable: false
        Order:
          type: integer
          description: The order in which the dashboard should be presented in a list.
          format: int32
          x-nullable: false
      description: Represents a dashboard for presentation in a list.
    ThemeSummary:
      title: ThemeSummary
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the theme.
        Name:
          type: string
          description: The name of the theme.
        Css:
          type: array
          items:
            type: string
          description: The theme-specific stylesheets required.
      description: Details of a specific system theme.
    GetDashboardWidgetsResponse:
      title: GetDashboardWidgetsResponse
      type: object
      properties:
        Widgets:
          type: array
          items:
            $ref: '#/components/schemas/DashboardWidgetSpec'
          description: The widgets.
      description: Response to the GetDashboardWidgets request.
    GetUserTwoFactorStatusResponse:
      title: GetUserTwoFactorStatusResponse
      required:
        - Version
      type: object
      properties:
        ChangePasswordByUtc:
          type: string
          format: date-time
        SetupCode:
          type: string
        SetupImageUrl:
          type: string
        TwoFactorRequired:
          type: boolean
          x-nullable: false
        TwoFactorRegistration:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: Response to the GetUserTwoFactorStatus request.
    AuthenticateResponse:
      title: AuthenticateResponse
      type: object
      properties:
        UserId:
          type: string
        SessionId:
          type: string
        UserName:
          type: string
        DisplayName:
          type: string
        ReferrerUrl:
          type: string
        BearerToken:
          type: string
        RefreshToken:
          type: string
        RefreshTokenExpiry:
          type: string
          format: date-time
        ProfileUrl:
          type: string
        Roles:
          type: array
          items:
            type: string
        Permissions:
          type: array
          items:
            type: string
        AuthProvider:
          type: string
        ResponseStatus:
          $ref: '#/components/schemas/ResponseStatus'
        Meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: AuthenticateResponse
    ResetUserPasswordResponse:
      title: ResetUserPasswordResponse
      required:
        - Version
      type: object
      properties:
        Password:
          type: string
        ChangeByDateUtc:
          type: string
          format: date-time
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: ResetUserPasswordResponse
    PreviewResetUserPasswordResponse:
      title: PreviewResetUserPasswordResponse
      required:
        - Version
      type: object
      properties:
        Password:
          type: string
        PreviewToken:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: PreviewResetUserPasswordResponse
    TimeZoneDetail:
      title: TimeZoneDetail
      type: object
      properties:
        Id:
          type: string
        CountryCode:
          type: string
      description: A time zone name and id.
    List_TimeZoneDetail_:
      title: List<TimeZoneDetail>
      type: array
      items:
        $ref: '#/components/schemas/TimeZoneDetail'
    List_GroupAlert_:
      title: List<GroupAlert>
      type: array
      items:
        $ref: '#/components/schemas/GroupAlert'
    List_UserDetails_:
      title: List<UserDetails>
      type: array
      items:
        $ref: '#/components/schemas/UserDetails'
    GetUserRolesResponse:
      title: GetUserRolesResponse
      required:
        - Version
      type: object
      properties:
        Roles:
          type: array
          items:
            $ref: '#/components/schemas/UserRole'
        Total:
          type: integer
          format: int64
          x-nullable: false
        Returned:
          type: integer
          format: int32
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: GetUserRolesResponse
    UserRole:
      title: UserRole
      required:
        - Name
        - DisplayName
        - Permissions
        - ReadOnly
      type: object
      properties:
        Name:
          type: string
          description: Specifies the unique internal name for the role.
        DisplayName:
          type: string
          description: Specifies the display name for the role.
        ExternalName:
          type: string
          description: Specifies the role name in an external identity provider that corresponds to this role.
        Permissions:
          type: array
          items:
            type: string
          description: Specifies the list of names of permissions associated with the role.
        ReadOnly:
          type: boolean
          description: 'Specifies whether the role is read only, or can be edited.'
          x-nullable: false
      description: UserRole
    AddUserRoleResponse:
      title: AddUserRoleResponse
      required:
        - Version
      type: object
      properties:
        Roles:
          type: array
          items:
            $ref: '#/components/schemas/UserRole'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: AddUserRoleResponse
    UpdateUserRoleResponse:
      title: UpdateUserRoleResponse
      required:
        - Version
      type: object
      properties:
        Roles:
          type: array
          items:
            $ref: '#/components/schemas/UserRole'
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: UpdateUserRoleResponse
    GetLicenseInfoResponse:
      title: GetLicenseInfoResponse
      required:
        - Version
      type: object
      properties:
        Description:
          type: string
          description: Gets or sets the description.
        Details:
          type: string
          description: Gets or sets the license details.
        LicensedDevices:
          type: integer
          description: Gets or sets the licensed devices.
          format: int32
          x-nullable: false
        LicensingType:
          type: string
          description: Gets or sets the type of the licensing.
        Valid:
          type: boolean
          description: Gets or sets a value indicating whether the license info is valid.
          x-nullable: false
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The response to a request to get an Organization's license info.
    GetRolesAndPermissionsResponse:
      title: GetRolesAndPermissionsResponse
      required:
        - Version
      type: object
      properties:
        UserName:
          type: string
        OrganisationName:
          type: string
        Roles:
          type: array
          items:
            type: string
        Permissions:
          type: array
          items:
            type: string
        Flags:
          type: array
          items:
            type: string
        Features:
          $ref: '#/components/schemas/Dictionary_String_String_'
        HasValidLicense:
          type: boolean
          x-nullable: false
        TimeZoneId:
          type: string
        TwoFactorEnabled:
          type: boolean
          x-nullable: false
        TwoFactorRegistration:
          type: string
        Version:
          type: integer
          description: Specifies the response version. This indicates the service model version the response complies with.
          format: int32
          x-nullable: false
      description: The roles and permissions for the user.
    GetAccessTokenResponse:
      title: GetAccessTokenResponse
      type: object
      properties:
        AccessToken:
          type: string
        Meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
        ResponseStatus:
          $ref: '#/components/schemas/ResponseStatus'
      description: GetAccessTokenResponse
  parameters:
    Accept:
      name: Accept
      in: header
      description: Accept Header
      required: true
      schema:
        enum:
          - application/json
        type: string
  securitySchemes:
    Bearer:
      type: apiKey
      name: Authorization
      in: header
tags:
  - name: acknowledgeEvents
  - name: addDeviceConfigProcessRules
  - name: agentInventoryAgentsDetail
  - name: agentInventoryGrouped
  - name: agentProcesses
  - name: agents
  - name: agentServices
  - name: agentSoftwareUpdateSchedules
  - name: agentsRanked
  - name: agentUpdates
  - name: alertEvents
  - name: auth
  - name: availableReports
  - name: baselineEvents
  - name: cloudTemplate
  - name: command
  - name: commandParser
  - name: configItem
  - name: configItems
  - name: credential
  - name: credentials
  - name: credentialsKeyedByType
  - name: dashboard
  - name: device
  - name: deviceConfig
  - name: deviceConfigTemplate
  - name: deviceConfigTemplateNames
  - name: deviceCredentials
  - name: deviceDbCredentials
  - name: deviceEvents
  - name: deviceFilter
  - name: deviceFilters
  - name: deviceHostType
  - name: deviceName
  - name: deviceOnlineStatus
  - name: devicePolicyTemplate
  - name: devices
  - name: deviceSettings
  - name: discoverDevices
  - name: discoveredDevices
  - name: downloadAgentUpdate
  - name: downloadFileHash
  - name: downloadFileHashById
  - name: event
  - name: eventDeviceGroups
  - name: events
  - name: exportAgents
  - name: exportUserNotifications
  - name: getFileHashBinaries
  - name: group
  - name: groupAlerts
  - name: groupMembers
  - name: groupMemberships
  - name: groupPolicy
  - name: groupPolicyNames
  - name: groups
  - name: groupsTree
  - name: inventory
  - name: ipBlocking
  - name: licenseInfo
  - name: log4netConfigs
  - name: misc
  - name: openapi3.yaml
  - name: organization
  - name: permissions
  - name: pipelineNodes
  - name: plannedChangeInstances
  - name: plannedChangeRule
  - name: plannedChanges
  - name: policyRecent
  - name: policyTemplate
  - name: policyTemplateAsFile
  - name: policyTemplates
  - name: policyTemplateVariables
  - name: reParentDevices
  - name: reportData
  - name: reportDescription
  - name: reportDifferences
  - name: reportExecute
  - name: reportRender
  - name: reportRenderIsCached
  - name: reportRenderStart
  - name: reports
  - name: resetAdminPassword
  - name: resubmitEvents
  - name: setCommentsForEvents
  - name: startAgentTracker
  - name: stats
  - name: status
  - name: submitAgentTaskResult
  - name: submitAgentTaskResultData
  - name: submitAgentTaskResultStream
  - name: syncServiceConfigItems
  - name: testAgentCredentials
  - name: testAuditorConnection
  - name: testFastConnection
  - name: testFastCustomerConnection
  - name: testServiceNowConnection
  - name: testSmtpConnection
  - name: testSyslogConnection
  - name: timezones
  - name: updatehubdetails
  - name: uploadAgentUpdate
  - name: uploadPolicyTemplate
  - name: userDashboard
  - name: userHasChangedPassword
  - name: userRoles
  - name: userRolesPermisions
  - name: userRolesPermissions
  - name: users
  - name: userSettings
  - name: vulnerabilityscanstatus