NinjaOne system API

Core system Entities and Resources

Operations 24

GET /v2/contacts Contact list #
GET /v2/contact/{id} Contact details #
GET /v2/organizations List organizations #
GET /v2/policies List policies #
GET /v2/jobs List active jobs #
GET /v2/activities List activities #
GET /v2/alerts List active alerts (triggered conditions) #
GET /v2/automation/scripts List all available automation scripts #
GET /v2/device-custom-fields Device Custom Fields #
GET /v2/devices List devices #
GET /v2/devices-detailed List devices (detailed) #
GET /v2/notification-channels/enabled List enabled notification channels #
GET /v2/groups List groups (saved searches) #
GET /v2/locations List locations #
GET /v2/roles List device roles #
GET /v2/notification-channels List notification channels #
GET /v2/organizations-detailed List organizations (Detailed) #
GET /v2/tasks List scheduled tasks #
GET /v2/software-products List supported 3rd party software #
GET /v2/users List users #
GET /v2/user/end-users End user list #
GET /v2/user/technicians Technicians list #
GET /v2/user/roles Get user roles #

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-system-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-system-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NinjaOne Public API 2.0 Asset Tags System 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: system
  description: Core system Entities and Resources
paths:
  /v2/contacts:
    get:
      tags:
      - system
      summary: Contact list
      description: Get all contacts
      operationId: getContacts
      responses:
        '200':
          description: List of contacts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Contact'
        '403':
          description: Forbidden
  /v2/contact/{id}:
    get:
      tags:
      - system
      summary: Contact details
      description: Get a contact by their ID
      operationId: getContactById
      parameters:
      - name: id
        in: path
        description: Contact identifier
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Contact details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
        '404':
          description: Contact not found
        '403':
          description: Forbidden
        '401':
          description: Unauthorized
  /v2/organizations:
    get:
      tags:
      - system
      summary: List organizations
      description: Returns list of organizations (Brief mode)
      operationId: getOrganizations
      parameters:
      - name: pageSize
        in: query
        description: Limit number of organizations to return
        schema:
          type: integer
          format: int32
      - name: after
        in: query
        description: Last Organization Identifier from previous page
        schema:
          type: integer
          format: int32
      - name: of
        in: query
        description: Organization filter
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Organization'
  /v2/policies:
    get:
      tags:
      - system
      summary: List policies
      description: Returns list of policies
      operationId: getPolicies
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Policy'
  /v2/jobs:
    get:
      tags:
      - system
      summary: List active jobs
      description: Returns list of running jobs
      operationId: getActiveJobs
      parameters:
      - name: jobType
        in: query
        description: Job Type filter
        schema:
          type: string
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - 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:
                type: array
                items:
                  $ref: '#/components/schemas/Job'
  /v2/activities:
    get:
      tags:
      - system
      summary: List activities
      description: Returns activity log in reverse chronological order
      operationId: getActivities
      parameters:
      - name: class
        in: query
        description: Activity Class (System/Device) filter
        schema:
          type: string
          default: ALL
          enum:
          - SYSTEM
          - DEVICE
          - USER
          - ALL
      - name: before
        in: query
        description: Return activities recorded prior to specified date
        schema:
          type: string
      - name: after
        in: query
        description: Return activities recorded after to specified date
        schema:
          type: string
      - name: olderThan
        in: query
        description: Return activities recorded that are newer than specified activity ID
        schema:
          type: integer
          format: int64
      - name: newerThan
        in: query
        description: Return activities recorded that are older than specified activity ID
        schema:
          type: integer
          format: int64
      - name: type
        in: query
        description: Return activities of type
        schema:
          type: string
      - name: status
        in: query
        description: Return activities with status(es)
        schema:
          type: string
      - name: user
        in: query
        description: Return activities for user(s)
        schema:
          type: string
      - name: seriesUid
        in: query
        description: Return activities related to alert (series)
        schema:
          type: string
      - name: df
        in: query
        description: Device filter
        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
      - name: sourceConfigUid
        in: query
        description: Allows users to make a request directed to a specific script
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivitiesResponse'
  /v2/alerts:
    get:
      tags:
      - system
      summary: List active alerts (triggered conditions)
      description: Returns list of active alerts/triggered conditions
      operationId: getAlerts
      parameters:
      - name: sourceType
        in: query
        schema:
          type: string
          description: Alert Source filter
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - 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:
                type: array
                items:
                  $ref: '#/components/schemas/Alert'
  /v2/automation/scripts:
    get:
      tags:
      - system
      summary: List all available automation scripts
      description: Returns list of all available automation scripts
      operationId: getAutomationScripts
      parameters:
      - name: lang
        in: query
        description: Language
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AutomationScript'
  /v2/device-custom-fields:
    get:
      tags:
      - system
      summary: Device Custom Fields
      description: Returns list of all custom fields
      operationId: getDeviceGlobalCustomFields
      parameters:
      - name: scopes
        in: query
        description: Comma-separated list of scopes
        schema:
          type: string
          enum:
          - all,node,location,organization
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AttributePublicApiDTO'
  /v2/devices:
    get:
      tags:
      - system
      summary: List devices
      description: Returns list of devices (basic node information)
      operationId: getDevices
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: pageSize
        in: query
        description: Limit number of devices to return
        schema:
          type: integer
          format: int32
      - name: after
        in: query
        description: Last Node ID from previous page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NodeWithDetailedReferences'
  /v2/devices-detailed:
    get:
      tags:
      - system
      summary: List devices (detailed)
      description: Returns list of devices with additional information
      operationId: getDevicesDetailed
      parameters:
      - name: df
        in: query
        description: Device filter
        schema:
          type: string
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Limit number of devices to return
          format: int32
      - name: after
        in: query
        schema:
          type: integer
          description: Last Node ID from previous page
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Device'
  /v2/notification-channels/enabled:
    get:
      tags:
      - system
      summary: List enabled notification channels
      description: Returns list of enabled notification channels
      operationId: getEnabledNotificationChannels
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NotificationChannel'
  /v2/groups:
    get:
      tags:
      - system
      summary: List groups (saved searches)
      description: Returns list of groups
      operationId: getGroups
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Group'
  /v2/locations:
    get:
      tags:
      - system
      summary: List locations
      description: Returns flat list of all locations for all organizations
      operationId: getLocations
      parameters:
      - name: pageSize
        in: query
        description: Limit number of locations to return
        schema:
          type: integer
          format: int32
      - name: after
        in: query
        description: Last Location Identifier from previous page
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LocationWithOrganizationRef'
  /v2/roles:
    get:
      tags:
      - system
      summary: List device roles
      description: Returns list of device roles
      operationId: getNodeRoles
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NodeRole'
  /v2/notification-channels:
    get:
      tags:
      - system
      summary: List notification channels
      description: Returns list of notification channels
      operationId: getNotificationChannels
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NotificationChannel'
  /v2/organizations-detailed:
    get:
      tags:
      - system
      summary: List organizations (Detailed)
      description: Returns list of organizations with locations and policy mappings
      operationId: getOrganizationsDetailed
      parameters:
      - name: pageSize
        in: query
        description: Limit number of organizations to return
        schema:
          type: integer
          format: int32
      - name: after
        in: query
        description: Last Organization Identifier from previous page
        schema:
          type: integer
          format: int32
      - name: of
        in: query
        description: Organization filter
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganizationDetailed'
  /v2/tasks:
    get:
      tags:
      - system
      summary: List scheduled tasks
      description: Returns list of registered scheduled tasks
      operationId: getScheduledTasks
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScheduledTask'
  /v2/software-products:
    get:
      tags:
      - system
      summary: List supported 3rd party software
      description: Returns available software products (3rd party patching)
      operationId: getSoftwareProducts
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwareProduct'
  /v2/users:
    get:
      tags:
      - system
      summary: List users
      description: Returns list of users
      operationId: getUsers
      parameters:
      - name: userType
        in: query
        description: User type filter
        schema:
          type: string
          enum:
          - TECHNICIAN
          - END_USER
      - name: includeRoles
        in: query
        description: Includes user role information
        schema:
          type: boolean
          default: false
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
  /v2/devices/search:
    get:
      tags:
      - system
      summary: Find devices
      description: Returns list of entities matching search term
      operationId: search
      parameters:
      - name: q
        in: query
        description: Search query (name, logged on user name, IP address, etc.)
        schema:
          type: string
      - name: limit
        in: query
        description: Limit number of devices to return
        schema:
          type: integer
          format: int32
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceSearchResults'
  /v2/user/end-users:
    get:
      tags:
      - system
      summary: End user list
      description: Get all end users
      operationId: getEndUsers_1
      responses:
        '200':
          description: End user
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EndUser'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /v2/user/technicians:
    get:
      tags:
      - system
      summary: Technicians list
      description: Get all technicians
      operationId: getTechnicians
      responses:
        '200':
          description: Technician
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Technician'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /v2/user/roles:
    get:
      tags:
      - system
      summary: Get user roles
      description: Get list of user roles
      operationId: getUserRoles
      parameters:
      - name: roleType
        in: query
        description: User role type filter
        schema:
          type: string
          enum:
          - TECHNICIAN
          - END_USER
      responses:
        '200':
          description: User roles
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRole'
        '401':
          description: Unauthorized
components:
  schemas:
    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
    ScriptVariable:
      type: object
      properties:
        id:
          type: string
          description: Script Variable ID
        name:
          type: string
          description: Script Variable Name
        description:
          type: string
          description: Script Variable Description
        type:
          type: string
          description: Script Variable Type
          enum:
          - CHECKBOX
          - DATE
          - DATETIME
          - DECIMAL
          - INTEGER
          - IPADDRESS
          - DROPDOWN
          - TEXT
          - OTHER
        source:
          type: string
          description: Script Variable Source
          enum:
          - LITERAL
          - OTHER
        defaultValue:
          type: string
          description: Script Variable Default Value
        required:
          type: boolean
          description: Script Variable is Required
        valueList:
          type: array
          description: Script Variable List of Possible Values
          items:
            type: string
            description: Script Variable List of Possible Values
      description: Script Variables
    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
     

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