NinjaOne queries API

Queries

OpenAPI Specification

ninjaone-queries-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: NinjaOne Public API 2.0 Asset Tags queries API
  description: NinjaOne Public API documentation.
  contact:
    email: api@ninjarmm.com
  version: 2.0.9-draft
security:
- oauth2:
  - monitoring
  - management
  - control
- sessionKey:
  - monitoring
  - management
  - control
tags:
- name: queries
  description: Queries
paths:
  /v2/queries/antivirus-status:
    get:
      tags:
      - queries
      summary: Antivirus status report
      description: Returns list of statues of antivirus software installed on devices
      operationId: getAntivirusStatusReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: productState
        in: query
        description: Product State filter
        schema:
          type: string
      - name: productName
        in: query
        description: Product Name filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AntivirusStatusReport'
  /v2/queries/antivirus-threats:
    get:
      tags:
      - queries
      summary: Antivirus threats report
      description: Returns list of antivirus threats
      operationId: getAntivirusThreats
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AntivirusThreatsReport'
  /v2/queries/computer-systems:
    get:
      tags:
      - queries
      summary: Computer systems report
      description: Returns computer systems information for devices
      operationId: getComputerSystems
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComputerSystemsReport'
  /v2/queries/custom-fields-detailed:
    get:
      tags:
      - queries
      summary: Custom fields detailed report
      description: Returns Custom Fields report with additional information about each field
      operationId: getCustomFieldsDetailedReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      - name: updatedAfter
        in: query
        description: Custom fields updated after specified date
        schema:
          type: string
      - name: fields
        in: query
        description: Comma-separated list of fields
        schema:
          type: string
      - name: showSecureValues
        in: query
        description: Flag to indicate if secure values should be returned as plain text without encryption
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeAttributesDetailedReport'
  /v2/queries/custom-fields:
    get:
      tags:
      - queries
      summary: Custom fields report
      description: Returns Custom Fields report
      operationId: getCustomFieldsReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      - name: updatedAfter
        in: query
        description: Custom fields updated after specified date
        schema:
          type: string
      - name: fields
        in: query
        description: Comma-separated list of fields
        schema:
          type: string
      - name: showSecureValues
        in: query
        description: Flag to indicate if secure values should be returned as plain text without encryption
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeAttributesReport'
  /v2/queries/device-health:
    get:
      tags:
      - queries
      summary: Device health report
      description: Returns list of device health summary records
      operationId: getDeviceHealthReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: health
        in: query
        description: Health status filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceHealthReport'
  /v2/queries/backup/usage:
    get:
      tags:
      - queries
      summary: Device backup usage
      description: Returns the backup usage by device
      operationId: getDeviceUsage
      parameters:
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      - name: includeDeletedDevices
        in: query
        description: Whether or not include deleted devices
        schema:
          type: boolean
      responses:
        '200':
          description: Returns a device backup usage report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceUsageReport'
  /v2/queries/disks:
    get:
      tags:
      - queries
      summary: Disk drives report
      description: Returns list of physical disks
      operationId: getDiskDrives
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiskDriveReport'
  /v2/queries/os-patch-installs:
    get:
      tags:
      - queries
      summary: OS Patch installation report
      description: Returns patch installation history records (successful and failed)
      operationId: getInstalledOSPatches
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: status
        in: query
        description: Patch Status filter (FAILED, INSTALLED)
        schema:
          type: string
      - name: installedBefore
        in: query
        description: Include patches installed before specified date
        schema:
          type: string
      - name: installedAfter
        in: query
        description: Include patches installed after specified date
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OSPatchReport'
  /v2/queries/software-patch-installs:
    get:
      tags:
      - queries
      summary: Software Patch history report
      description: Returns 3rd party software patch installation history records (successful and failed)
      operationId: getInstalledSoftwarePatches
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: type
        in: query
        description: Patch Type filter
        schema:
          type: string
      - name: impact
        in: query
        description: Patch Impact filter
        schema:
          type: string
      - name: status
        in: query
        description: Patch Status filter
        schema:
          type: string
      - name: productIdentifier
        in: query
        description: Product Identifier
        schema:
          type: string
      - name: installedBefore
        in: query
        description: Include patches installed before specified date
        schema:
          type: string
      - name: installedAfter
        in: query
        description: Include patches installed after specified date
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwarePatchReport'
  /v2/queries/logged-on-users:
    get:
      tags:
      - queries
      summary: Last logged-on user report
      description: 'Returns usernames and logon times '
      operationId: getLastLoggedOnUsersReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoggedOnUsersReport'
  /v2/queries/network-interfaces:
    get:
      tags:
      - queries
      summary: List Network Interfaces
      description: Returns list of Network Interfaces for each device
      operationId: getNetworkInterfaces
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Limit number of devices to return
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkInterfacesReport'
  /v2/queries/operating-systems:
    get:
      tags:
      - queries
      summary: Operating systems report
      description: Returns operating systems' for devices
      operationId: getOperatingSystems
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingSystemsReport'
  /v2/queries/os-patches:
    get:
      tags:
      - queries
      summary: Pending, Failed and Rejected OS patches report
      description: Returns list of OS patches for which there were no installation attempts
      operationId: getPendingFailedRejectedOSPatches
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: status
        in: query
        description: Patch Status filter
        schema:
          type: string
      - name: type
        in: query
        description: Patch Type filter
        schema:
          type: string
      - name: severity
        in: query
        description: Patch Severity filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OSPatchReport'
  /v2/queries/software-patches:
    get:
      tags:
      - queries
      summary: Pending, Failed and Rejected Software patches report
      description: Returns list of 3rd party Software patches for which there were no installation attempts
      operationId: getPendingFailedRejectedSoftwarePatches
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: status
        in: query
        description: Patch Status filter
        schema:
          type: string
      - name: productIdentifier
        in: query
        description: Product Identifier
        schema:
          type: string
      - name: type
        in: query
        description: Patch Type filter
        schema:
          type: string
      - name: impact
        in: query
        description: Patch Impact filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwarePatchReport'
  /v2/queries/policy-overrides:
    get:
      tags:
      - queries
      summary: Get summary of device policy overrides
      description: Returns list of overridden policy sections for each device
      operationId: getPolicyOverrides_1
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyOverridesReport'
  /v2/queries/processors:
    get:
      tags:
      - queries
      summary: Processor report
      description: Returns list of processors
      operationId: getProcessors
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessorReport'
  /v2/queries/raid-controllers:
    get:
      tags:
      - queries
      summary: RAID controller report
      description: Returns list of RAID controllers
      operationId: getRAIDControllerReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RAIDControllerReport'
  /v2/queries/raid-drives:
    get:
      tags:
      - queries
      summary: RAID drive report
      description: Returns list of drives connected to RAID controllers
      operationId: getRAIDDriveReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RAIDDriveReport'
  /v2/queries/scoped-custom-fields-detailed:
    get:
      tags:
      - queries
      summary: Scoped custom fields detailed report
      description: Returns report for Custom Fields defined at different scopes (device, location, organization) with additional information about each field
      operationId: getScopedCustomFieldsDetailedReport
      parameters:
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      - name: updatedAfter
        in: query
        description: Custom fields updated after specified date
        schema:
          type: string
      - name: fields
        in: query
        description: Comma-separated list of fields
        schema:
          type: string
      - name: scopes
        in: query
        description: Comma-separated list of scopes
        schema:
          type: string
          default: all
      - name: showSecureValues
        in: query
        description: Flag to indicate if secure values should be returned as plain text without encryption
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopedAttributesDetailedReport'
  /v2/queries/scoped-custom-fields:
    get:
      tags:
      - queries
      summary: Scoped custom fields report
      description: Returns report for Custom Fields defined at different scopes (device, location, organization)
      operationId: getScopedCustomFieldsReport
      parameters:
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      - name: updatedAfter
        in: query
        description: Custom fields updated after specified date
        schema:
          type: string
      - name: fields
        in: query
        description: Comma-separated list of fields
        schema:
          type: string
      - name: scopes
        in: query
        description: Comma-separated list of scopes
        schema:
          type: string
          default: all
      - name: showSecureValues
        in: query
        description: Flag to indicate if secure values should be returned as plain text without encryption
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopedAttributesReport'
  /v2/queries/software:
    get:
      tags:
      - queries
      summary: Software inventory
      description: Returns list software installed on devices
      operationId: getSoftware
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      - name: installedBefore
        in: query
        description: Include software installed before specified date
        schema:
          type: string
      - name: installedAfter
        in: query
        description: Include software installed after specified date
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareReport'
  /v2/queries/volumes:
    get:
      tags:
      - queries
      summary: Disk volumes report
      description: Returns list of disk volumes
      operationId: getVolumes
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: ts
        in: query
        description: Monitoring timestamp filter
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          type: integer
          format: int32
      - name: include
        in: query
        description: Additional information to include (bl - BitLocker status)
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumesReport'
  /v2/queries/windows-services:
    get:
      tags:
      - queries
      summary: Windows services report
      description: Returns list of Windows Services and their statuses
      operationId: getWindowsServicesReport
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: name
        in: query
        description: Service name
        schema:
          type: string
      - name: state
        in: query
        description: Service state
        schema:
          type: string
          enum:
          - UNKNOWN
          - STOPPED
          - START_PENDING
          - RUNNING
          - STOP_PENDING
          - PAUSE_PENDING
          - PAUSED
          - CONTINUE_PENDING
      - name: cursor
        in: query
        description: Cursor name
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of records per page
        schema:
          maximum: 10000
          minimum: 10
          type: integer
          format: int32
          default: 1000
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WindowsServiceReport'
components:
  schemas:
    NodeAttributesDetailedReport:
      type: object
      properties:
        cursor:
          $ref: '#/components/schemas/Cursor'
        results:
          type: array
          items:
            $ref: '#/components/schemas/NodeAttributesDetailed'
    DeviceLoggedOnUser:
      type: object
      properties:
        userName:
          type: string
          description: User name
        logonTime:
          type: number
          description: Time of logon
          format: double
        deviceId:
          type: integer
          description: Device identifier
          format: int32
    BackupUsage:
      type: object
      properties:
        revisionsCurrentSize:
          type: integer
          description: Revisions current size
          format: int64
        revisionsPreviousSize:
          type: integer
          description: Revisions previous size
          format: int64
        revisionsDeletedSize:
          type: integer
          description: Revisions deleted size
          format: int64
        localFileFolderSize:
          type: integer
          description: Revisions local file folder size
          format: int64
        localImageSize:
          type: integer
          description: Revisions local image size
          format: int64
        localImageV2Size:
          type: integer
          description: Revisions local image v2 size
          format: int64
        cloudFileFolderSize:
          type: integer
          description: Revisions cloud file folder size
          format: int64
        cloudImageSize:
          type: integer
          description: Revisions cloud image size
          format: int64
        cloudImageV2Size:
          type: integer
          description: Revisions cloud image v2 size
          format: int64
        lastSuccessfulBackupJob:
          type: number
          description: Last successful job. This is provided when the 'includeLastBackupJobTimes' query parameter is set to 'true'
          format: double
        lastFailedBackupJob:
          type: number
          description: Last failed job. This is provided when the 'includeLastBackupJobTimes' query parameter is set to 'true'
          format: double
        revisionsTotalSize:
          type: integer
          description: Revisions total size
          format: int64
          readOnly: true
        cloudTotalSize:
          type: integer
          description: Revisions cloud total size
          format: int64
          readOnly: true
        localTotalSize:
          type: integer
          description: Revisions local total size
          format: int64
          readOnly: true
      description: Device Backup Usage
    DeviceHealthSummary:
      type: object
      properties:
        activeThreatsCount:
          type: integer
          description: Active AV threats count
          format: int32
        quarantinedThreatsCount:
          type: integer
          description: Quarantined AV threats count
          format: int32
        blockedThreatsCount:
          type: integer
          description: Blocked AV threats count
          format: int32
        failedOSPatchesCount:
          type: integer
          description: Number of failed OS patches
          format: int32
        pendingOSPatchesCount:
          type: integer
          description: Number of pending OS patches
          format: int32
        alertCount:
          type: integer
          description: Alerts count
          format: int32
        activeJobCount:
          type: integer
          description: Alerts job count
          format: int32
        failedSoftwarePatchesCount:
          type: integer
          description: Number of failed software patches
          format: int32
        pendingSoftwarePatchesCount:
          type: integer
          description: Number of pending software patches
          format: int32
        pendingRebootReason:
          type: string
          description: Pending reboot reasons
        avInstallStatus:
          type: string
          description: Antivirus installation status
          enum:
          - REQUESTED
          - DOWNLOAD_STARTED
          - DOWNLOADED
          - DOWNLOAD_FAILED
          - INSTALL_STARTED
          - INSTALLED
          - INSTALL_FAILED
          - UNINSTALL_REQUESTED
          - UNINSTALL_FAILED
          - UNINSTALLED
        productsInstallationStatuses:
          type: object
          additionalProperties:
            type: string
            description: Integrated products' installation statuses
            enum:
            - REQUESTED
            - DOWNLOAD_STARTED
            - DOWNLOADED
            - DOWNLOAD_FAILED
            - INSTALL_STARTED
            - INSTALLED
            - INSTALL_FAILED
            - UNINSTALL_REQUESTED
            - UNINSTALL_FAILED
            - UNINSTALLED
          description: Integrated products' installation statuses
        offline:
          type: boolean
          description: Is device offline?
        parentDeviceId:
          type: integer
          description: Parent device identifier
          format: int32
        par

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ninjaone/refs/heads/main/openapi/ninjaone-queries-api-openapi.yml