NinjaOne queries API

Queries

Operations 24

GET /v2/queries/antivirus-status Antivirus status report #
GET /v2/queries/antivirus-threats Antivirus threats report #
GET /v2/queries/computer-systems Computer systems report #
GET /v2/queries/custom-fields-detailed Custom fields detailed report #
GET /v2/queries/custom-fields Custom fields report #
GET /v2/queries/device-health Device health report #
GET /v2/queries/backup/usage Device backup usage #
GET /v2/queries/disks Disk drives report #
GET /v2/queries/os-patch-installs OS Patch installation report #
GET /v2/queries/software-patch-installs Software Patch history report #
GET /v2/queries/logged-on-users Last logged-on user report #
GET /v2/queries/network-interfaces List Network Interfaces #
GET /v2/queries/operating-systems Operating systems report #
GET /v2/queries/os-patches Pending, Failed and Rejected OS patches report #
GET /v2/queries/software-patches Pending, Failed and Rejected Software patches report #
GET /v2/queries/policy-overrides Get summary of device policy overrides #
GET /v2/queries/processors Processor report #
GET /v2/queries/raid-controllers RAID controller report #
GET /v2/queries/raid-drives RAID drive report #
GET /v2/queries/scoped-custom-fields-detailed Scoped custom fields detailed report #
GET /v2/queries/scoped-custom-fields Scoped custom fields report #
GET /v2/queries/software Software inventory #
GET /v2/queries/volumes Disk volumes report #
GET /v2/queries/windows-services Windows services report #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ninjaone-queries-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ninjaone-queries-api-openapi.yml Raw ↑
openapi: 3.2.0
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
servers:
- url: https://app.ninjarmm.com/v2
  description: Base URL declared by the provider in apis.yml (roadmap#122).
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:
    DeviceComputerSystem:
      type: object
      properties:
        name:
          type: string
          description: Name
        manufacturer:
          type: string
          description: Manufacturer
        model:
          type: string
          description: Model
        biosSerialNumber:
          type: string
          description: Bios Serial Number
        serialNumber:
          type: string
          description: Serial Number
        domain:
          type: string
        domainRole:
          type: string
        numberOfProcessors:
          type: integer
          format: int32
        totalPhysicalMemory:
          type: integer
          format: int64
        virtualMachine:
          type: boolean
        chassisType:
          type: string
        deviceId:
          type: integer
          description: Device identifier
          format: int32
        timestamp:
          type: number
          description: Date/Time when data was collected/updated
          format: double
    ProcessorReport:
      type: object
      properties:
        cursor:
          $ref: '#/components/schemas/Cursor'
        results:
          type: array
          items:
            $ref: '#/components/schemas/DeviceProcessor'
    AntivirusThreatsReport:
      type: object
      properties:
        cursor:
          $ref: '#/components/schemas/Cursor'
        results:
          type: array
          items:
            $ref: '#/components/schemas/DeviceAntivirusThreat'
    NodeRole:
      type: object
      properties:
        id:
          type: integer
          description: Device Role identifier
          format: int32
        name:
          type: string
          description: Name
        description:
          type: string
          description: Description
        nodeClass:
          type: string
          description: Node Class
          enum:
          - WINDOWS_SERVER
          - WINDOWS_WORKSTATION
          - LINUX_WORKSTATION
          - MAC
          - ANDROID
          - APPLE_IOS
          - APPLE_IPADOS
          - VMWARE_VM_HOST
          - VMWARE_VM_GUEST
          - HYPERV_VMM_HOST
          - HYPERV_VMM_GUEST
          - LINUX_SERVER
          - MAC_SERVER
          - CLOUD_MONITOR_TARGET
          - NMS_SWITCH
          - NMS_ROUTER
          - NMS_FIREWALL
          - NMS_PRIVATE_NETWORK_GATEWAY
          - NMS_PRINTER
          - NMS_SCANNER
          - NMS_DIAL_MANAGER
          - NMS_WAP
          - NMS_IPSLA
          - NMS_COMPUTER
          - NMS_VM_HOST
          - NMS_APPLIANCE
          - NMS_OTHER
          - NMS_SERVER
          - NMS_PHONE
          - NMS_VIRTUAL_MACHINE
          - NMS_NETWORK_MANAGEMENT_AGENT
          - UNMANAGED_DEVICE
          - MANAGED_DEVICE
        custom:
          type: boolean
          description: Is custom node role?
        chassisType:
          type: string
          description: Chassis Type
          enum:
          - UNKNOWN
          - DESKTOP
          - LAPTOP
          - MOBILE
        created:
          type: number
          description: Date created
          format: double
        tags:
          type: array
          description: Tags
          items:
            type: string
            description: Tags
        fields:
          type: object
          additionalProperties:
            type: object
            description: Custom Fields
          description: Custom Fields
        nodeRoleParentId:
          type: integer
          description: Node Role Parent Id
          format: int32
        icon:
          type: string
          description: Icon
      description: Device Role
    DevicePolicyOverrides:
      type: object
      properties:
        overrides:
          type: array
          description: List of policy sections
          items:
            type: string
            description: List of policy sections
        deviceId:
          type: integer
          description: Device identifier
          format: int32
    User:
      type: object
      properties:
        id:
          type: integer
          description: User identifier
          format: int32
        uid:
          type: string
          description: User universally unique identifier
          format: uuid
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phone:
          type: string
        enabled:
          type: boolean
        administrator:
          type: boolean
        permitAllClients:
          type: boolean
        notifyAllClients:
          type: boolean
        mustChangePw:
          type: boolean
        mfaConfigured:
          type: boolean
        userType:
          type: string
          enum:
          - TECHNICIAN
          - END_USER
        invitationStatus:
          type: string
          enum:
          - REGISTERED
          - PENDING
          - EXPIRED
        organizationId:
          type: integer
          description: Identifier of organization fo

# --- 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