NinjaOne devices API

Devices

Operations 18

GET /v2/device/{id} Device details #
GET /v2/device/{id}/jobs Device currently running (active) jobs #
GET /v2/device/{id}/activities Device activities #
GET /v2/device/{id}/alerts Device alerts (triggered conditions) #
GET /v2/device/{id}/disks Device disk drives #
GET /v2/device/{id}/os-patch-installs OS Patch installation report for device #
GET /v2/device/{id}/software-patch-installs Software Patch history for device #
GET /v2/device/{id}/last-logged-on-user Last logged-on user information #
GET /v2/device/{id}/network-interfaces Device network interfaces #
GET /v2/device/{id}/os-patches OS Patches #
GET /v2/device/{id}/software-patches Pending, Failed and Rejected Software patches for device #
GET /v2/device/{id}/processors Device processors #
GET /v2/device/{id}/windows-services Windows services #
GET /v2/device/{id}/software Device software inventory #
GET /v2/device/{id}/volumes Device storage volumes #
GET /v2/device/{id}/custom-fields Device custom fields #
PATCH /v2/device/{id}/custom-fields Update Field Values #
GET /v2/device/{id}/policy/overrides Get summary of device policy overrides #

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-devices-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-devices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NinjaOne Public API 2.0 Asset Tags Devices 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: devices
  description: Devices
paths:
  /v2/device/{id}:
    get:
      tags:
      - devices
      summary: Device details
      description: Returns device details
      operationId: getDevice
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Device information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
  /v2/device/{id}/jobs:
    get:
      tags:
      - devices
      summary: Device currently running (active) jobs
      description: Returns currently running jobs for device
      operationId: getDeviceActiveJobs
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - name: lang
        in: query
        schema:
          type: string
          description: Language tag
      - name: tz
        in: query
        description: Time Zone
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Job'
  /v2/device/{id}/activities:
    get:
      tags:
      - devices
      summary: Device activities
      description: Returns activity log for device
      operationId: getDeviceActivities
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - name: olderThan
        in: query
        description: Return activities recorded that are newer than specified activity ID
        schema:
          type: integer
          format: int32
      - name: newerThan
        in: query
        description: Return activities recorded that are older than specified activity ID
        schema:
          type: integer
          format: int32
      - name: activityType
        in: query
        description: Return activities of type
        schema:
          type: string
      - name: status
        in: query
        description: Return activities with status(es)
        schema:
          type: string
      - name: seriesUid
        in: query
        description: Return activities related to alert (series)
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of activities to return
        schema:
          maximum: 1000
          minimum: 10
          type: integer
          format: int32
          default: 200
      - name: lang
        in: query
        description: Language tag
        schema:
          type: string
      - name: tz
        in: query
        description: Time Zone
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeActivitiesResponse'
  /v2/device/{id}/alerts:
    get:
      tags:
      - devices
      summary: Device alerts (triggered conditions)
      description: Returns list of active alerts (triggered conditions) for device
      operationId: getDeviceAlerts
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - name: lang
        in: query
        schema:
          type: string
          description: Language tag
      - name: tz
        in: query
        description: Time Zone
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Alert'
  /v2/device/{id}/disks:
    get:
      tags:
      - devices
      summary: Device disk drives
      description: Returns device disks' details
      operationId: getDeviceDiskDrives
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DiskDrive'
  /v2/device/{id}/os-patch-installs:
    get:
      tags:
      - devices
      summary: OS Patch installation report for device
      description: Returns patch installation history records (successful and failed) for device
      operationId: getDeviceInstalledOSPatches
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - 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
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OSPatch'
  /v2/device/{id}/software-patch-installs:
    get:
      tags:
      - devices
      summary: Software Patch history for device
      description: Returns 3rd party software patch installation history records for device (successful and failed)
      operationId: getDeviceInstalledSoftwarePatches
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - 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
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwarePatch'
  /v2/device/{id}/last-logged-on-user:
    get:
      tags:
      - devices
      summary: Last logged-on user information
      description: Returns username that was last to login to device
      operationId: getDeviceLastLoggedOnUser
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoggedOnUser'
      security:
      - oauth2:
        - monitoring
  /v2/device/{id}/network-interfaces:
    get:
      tags:
      - devices
      summary: Device network interfaces
      description: Returns device network interfaces' details
      operationId: getDeviceNetworkInterfaces
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NetworkInterface'
  /v2/device/{id}/os-patches:
    get:
      tags:
      - devices
      summary: OS Patches
      description: Returns list of pending/rejected/approved OS patches for device
      operationId: getDevicePendingFailedRejectedOSPatches
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - 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
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OSPatch'
  /v2/device/{id}/software-patches:
    get:
      tags:
      - devices
      summary: Pending, Failed and Rejected Software patches for device
      description: Returns list of 3rd party Software patches for a device (for which there were no installation attempts)
      operationId: getDevicePendingFailedRejectedSoftwarePatches
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - 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
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwarePatch'
  /v2/device/{id}/processors:
    get:
      tags:
      - devices
      summary: Device processors
      description: Returns list of device Processor details
      operationId: getDeviceProcessors
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Processor'
  /v2/device/{id}/windows-services:
    get:
      tags:
      - devices
      summary: Windows services
      description: Returns list of Windows Services and their statuses
      operationId: getDeviceServices
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - 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
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WindowsService'
  /v2/device/{id}/software:
    get:
      tags:
      - devices
      summary: Device software inventory
      description: Returns list of software installed on device
      operationId: getDeviceSoftware
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Application'
  /v2/device/{id}/volumes:
    get:
      tags:
      - devices
      summary: Device storage volumes
      description: Returns device volumes' details
      operationId: getDeviceVolumes
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        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:
                type: array
                items:
                  $ref: '#/components/schemas/Volume'
  /v2/device/{id}/custom-fields:
    get:
      tags:
      - devices
      summary: Device custom fields
      description: Returns list of device custom fields
      operationId: getNodeCustomFields
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      - name: withInheritance
        in: query
        description: Retrieve values using definition scope hierarchy
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
    patch:
      tags:
      - devices
      summary: Update Field Values
      description: Update device custom field values
      operationId: updateNodeAttributeValues
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: object
      responses:
        default:
          description: default response
          content:
            '*/*': {}
  /v2/device/{id}/policy/overrides:
    get:
      tags:
      - devices
      summary: Get summary of device policy overrides
      description: Returns list of overridden policy sections
      operationId: getPolicyOverrides
      parameters:
      - name: id
        in: path
        description: Device identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyOverrides'
components:
  schemas:
    Application:
      type: object
      properties:
        installDate:
          type: string
          description: Installation Date
          format: date-time
        location:
          type: string
          description: Location
        name:
          type: string
          description: Product Name
        publisher:
          type: string
          description: Publisher
        size:
          type: integer
          description: Size on disk
          format: int64
        version:
          type: string
          description: Version
        productCode:
          type: string
          description: Product Code
    OSPatch:
      type: object
      properties:
        id:
          type: string
          description: Identifier
          format: uuid
        name:
          type: string
          description: Name
        severity:
          type: string
          description: Severity
        status:
          type: string
          description: Status
        type:
          type: string
          description: Type
        installedAt:
          type: number
          description: Installation attempt timestamp
          format: double
        kbNumber:
          type: string
          description: KB Number
    Device:
      type: object
      properties:
        id:
          type: integer
          description: Node (Device) identifier
          format: int32
        uid:
          type: string
          description: Node (Device) UUID
          format: uuid
        assignedOwnerUid:
          type: string
          description: Node (Device) Owner UUID
          format: uuid
        parentDeviceId:
          type: integer
          description: Parent Node identifier
          format: int32
        organizationId:
          type: integer
          description: Organization identifier
          format: int32
        locationId:
          type: integer
          description: Location identifier
          format: int32
        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
        nodeRoleId:
          type: integer
          description: Node Role identifier
          format: int32
        rolePolicyId:
          type: integer
          description: Node Role policy ID based on organization and location Policy Mapping
          format: int32
        policyId:
          type: integer
          description: Assigned policy ID (overrides organization and location policy mapping)
          format: int32
        approvalStatus:
          type: string
          description: Approval Status
          enum:
          - PENDING
          - APPROVED
        offline:
          type: boolean
          description: Is Offline?
        displayName:
          type: string
          description: Display Name
        systemName:
          type: string
          description: System Name
        dnsName:
          type: string
          description: DNS Name
        netbiosName:
          type: string
          description: NETBIOS Name
        created:
          type: number
          description: Created
          format: double
        lastContact:
          type: number
          description: Last Contact
          format: double
        lastUpdate:
          type: number
          description: Last data submission timestamp
          format: double
        userData:
          type: object
          additionalProperties: true
          description: Custom attributes
        tags:
          type: array
          description: Tags
          items:
            type: string
            description: Tags
        fields:
          type: object
          additionalProperties:
            type: object
            description: Custom Fields
          description: Custom Fields
        maintenance:
          $ref: '#/components/schemas/Maintenance'
        references:
          $ref: '#/components/schemas/NodeReferences'
        ipAddresses:
          type: array
          description: Device IP addresses
          items:
            type: string
            description: Device IP addresses
        macAddresses:
          type: array
          description: Device MAC addresses
          items:
            type: string
            description: Device MAC addresses
        publicIP:
          type: string
          description: Device Public IP Address
        notes:
          type: array
          description: Device Notes
          items:
            $ref: '#/components/schemas/Note'
        deviceType:
          type: string
      discriminator:
        propertyName: deviceType
    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
    Job:
      type: object
      properties:
        uid:
          type: string
          description: Task/Job UID (activity series UID)
          format: uuid
        deviceId:
          type: integer
          description: Device identifier
          format: int32
        message:
          type: string
          description: Job message
        createTime:
          type: number
          description: Job start timestamp
          format: double
        updateTime:
          type: number
          description: Job last updated
          format: double
        sourceType:
          type: string
          description: Job origin
          enum:
          - AGENT_OFFLINE
          - CONDITION_AGENT_CPU
          - CONDITION_AGENT_MEMORY
          - CONDITION_AGENT_NETWORK
          - CONDITION_AGENT_DISK_IO
          - CONDITION_AGENT_DISK_FREE_SPACE
          - CONDITION_AGENT_DISK_USAGE
          - CONDITION_AGENT_CVSS_SCORE
          - CONDITION_AGENT_PATCH_LAST_INSTALLED
          - CONDITION_NMS_CPU
          - CONDITION_NMS_MEMORY
          - CONDITION_NMS_NETWORK_TRAFFIC_BITS
          - CONDITION_NMS_NETWORK_TRAFFIC_PERCENT
          - CONDITION_NMS_NETWORK_STATUS
          - CONDITION_NMS_NETWORK_STATUS_CHANGE
          - CONDITION_NMS_SYSTEM_UPTIME
          - CONDITION_PING
          - CONDITION_PING_LATENCY
          - CONDITION_PING_PACKET_LOSS
          - CONDITION_PING_RESPONSE
          - CONDITION_SYSTEM_UPTIME
          - CONDITION_SMART_STATUS_DEGRATED
          - CONDITION_RAID_HEALTH_STATUS
          - CONDITION_SCRIPT_RESULT
          - CONDITION_HTTP
          - CONDITION_HTTP_RESPONSE
          - CONDITION_PORT
          - CONDITION_PORT_SCAN
          - CONDITION_SYSLOG
          - CONDITION_CONFIGURATION_FILE
          - CONDITION_SNMPTRAP
          - CONDITION_CRITICAL_EVENT
          - CONDITION_DNS
          - CONDITION_EMAIL
          - CONDITION_CUSTOM_SNMP
          - CONDITION_COMPOUND
          - SHADOWPROTECT_BACKUPJOB_CREATE
          - SHADOWPROTECT_BACKUPJOB_UPDATE
          - SHADOWPROTECT_BACKUPJOB_DELETE
          - SHADOWPROTECT_BACKUPJOB_EXECUTE
          - IMAGEMANAGER_MANAGEDFOLDER_CREATE
          - IMAGEMANAGER_MANAGEDFOLDER_UPDATE
          - IMAGEMANAGER_MANAGEDFOLDER_DELETE
          - IMAGEMANAGER_MANAGEDFOLDER_EXECUTE
          - TEAMVIEWER_CONNECTION
          - RETRIEVE_AGENT_LOGS
          - SCHEDULED_TASK
          - CONDITION_WINDOWS_EVENT_LOG_TRIGGERED
          - CONDITION_WINDOWS_SERVICE_STATE_CHANGED
          - UI_MESSAGE_ACTION_REBOOT
          - UI_MESSAGE_BD_INSTALLATION_ISSUES
          - GRAVITYZONE_UI_MESSAGE_INSTALLATION_ISSUES
          - AV_QUARANTINE_THREAT
          - AV_RESTORE_THREAT
          - AV_DELETE_THREAT
          - AV_REMOVE_THREAT
          - BITDEFENDER_RESTORE_THREAT
          - BITDEFENDER_DELETE_THREAT
          - CONDITION_BITLOCKER_STATUS
          - CONDITION_FILEVAULT_STATUS
          - CONDITION_LINUX_PROCESS
          - CONDITION_LINUX_Daemon
          - CONDITION_LINUX_PROCESS_RESOURCE
          - CONDITION_LINUX_PROCESS_RESOURCE_CPU
          - CONDITION_LINUX_PROCESS_RESOURCE_MEMORY
          - CONDITION_LINUX_DISK_FREE_SPACE
          - CONDITION_LINUX_DISK_USAGE
          - CONDITION_VM_AGGREGATE_CPU_USAGE
          - CONDITION_VM_DISK_USAGE
          - CONDITION_VM_HOST_DATASTORE
          - CONDITION_VM_HOST_UPTIME
          - CONDITION_VM_HOST_DEVICE_DOWN
          - CONDITION_VM_HOST_BAD_SENSORS
          - CONDITION_VM_HOST_SENSOR_HEALTH
          - CONDITION_VM_GUEST_GUEST_OPERATIONAL_MODE
          - CONDITION_VM_GUEST_SNAPSHOT_SIZE
          - CONDITION_VM_GUEST_SNAPSHOT_LIFESPAN
          - CONDITION_VM_GUEST_TOOLS_NOT_RUNNING
          - CONDITION_HV_GUEST_CHECKPOINT_SIZE
          - CONDITION_HV_GUEST_CHECKPOINT_LIFESPAN
          - CONDITION_SOFTWARE
          - CONDITION_WINDOWS_PROCESS_STATE
          - CONDITION_WINDOWS_PROCESS_RESOURCE_CPU
          - CONDITION_WINDOWS_PROCESS_RESOURCE_MEMORY
          - CONDITION_MAC_PROCESS_STATE
          - CONDITION_MAC_PROCESS_RESOURCE_CPU
          - CONDITION_MAC_PROCESS_RESOURCE_MEMORY
          - CONDITION_MAC_DEAMON
          - CONDITION_CUSTOM_FIELD
          - CONDITION_PENDING_REBOOT
        sourceConfigUid:
          type: string
          description: Source configuration/policy element reference
          format: uuid
        sourceName:
          type: string
          description: Source configuration/policy element name
        subject:
          type: string
          description: Job subject
        userId:
          type: integer
          description: User identifier
          format: int32
        psaTicketId:
          type: object
          description: Related PSA ticket ID
        ticketTemplateId:
          type: integer
          description: PSA ticket template
          format: int32
        data:
          type: object
          additionalProperties: true
          description: Job data
        device:
          $ref: '#/components/schemas/NodeWithDetailedReferences'
        jobStatus:
          type: string
          description: Job Status
          enum:
          - START_REQUESTED
          - STARTED
          - IN_PROCESS
          - COMPLETED
          - CANCEL_REQUESTED
          - CANCELLED
          - WAITING_FOR_USER_RESPONSE
          - TRIGGERED
          - RESET
          - ACKNOWLEDGED
          - DISABLED
        jobResult:
          type: string
          description: Job result
          enum:
          - SUCCESS
          - FAILURE
          - UNSUPPORTED
          - UNCOMPLETED
        jobType:
          type: string
          description: Job Type
          enum:
          - ACTIONSET
          - ACTION
          - CONDITION
          - CONDITION_ACTIONSET
          - CONDITION_ACTION
          - ANTIVIRUS
          - PATCH_MANAGEMENT
          - TEAMVIEWER
          - MONITOR
          - SYSTEM
          - COMMENT
          - SHADOWPROTECT
          - IMAGEMANAGER
          - HELP_REQUEST
          - SOFTWARE_PATCH_MANAGEMENT
          - SPLASHTOP
          - CLOUDBERRY
          - CLOUDBERRY_BACKUP
          - SCHEDULED_TASK
          - RDP
          - SCRIPTING
          - SECURITY
          - REMOTE_TOOLS
          - VIRTUALIZATION
          - PSA
          - MDM
          - NINJA_REMOTE
          - NINJA_QUICK_CONNECT
          - NINJA_NETWORK_DISCOVERY
          - NINJA_BACKUP
          - NINJA_TICKETING
          - KNOWLEDGE_BASE
          - RELATED_ITEM
          - CLIENT_CHECKLIST
          - CHECKLIST_TEMPLATE
          - DOCUMENTATION
          - MICROSOFT_INTUNE
    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 for end-users
          format: int32
        deviceIds:
          type: array
          description: Device IDs which end-user is authorized to access
          items:
            type: integer
            description: Device IDs which end-user is authorized to access
            format: int32
        assignedDeviceIds:
          type: array
          description: Device IDs which user is assigned
          items:
            type: integer
            description: Device IDs which user is assigned
            format: int32
        tags:
          type: array
          description: Tags
          items:
            type: string
            description: Tags
        fields:
          type: object
          additionalProperties:
            type: object
            description: Custom Fields
          description: Custom Fields
        roles:
          type: array
          descrip

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