---
title: Ninjaone
slug: connectors/ninjaone
docTags: 
createdAt: 2026-06-09T16:30:32.106Z
---

The NinjaOne connector allows for automated IT operations and endpoint management through Swimlane Turbine, providing efficient patch management and device monitoring.

NinjaOne is a unified IT operations platform that simplifies the way IT teams work, offering a suite of tools for device management, monitoring, and security. The NinjaOne connector for Swimlane Turbine enables users to automate the retrieval of critical device and network information, manage alerts, and oversee software and OS patching directly within the Swimlane ecosystem. By integrating with NinjaOne, Swimlane Turbine users gain the ability to streamline their security operations, enhance endpoint visibility, and maintain system health with minimal manual intervention.

## Prerequisites or Asset Setup

This connector supports the following authentication types:

- API Key Authentication
- OAuth2.0 Client Credentials Authentication

### API Key Authentication

- **Session Key** and **URL** are required.

### OAuth2.0 Client Credentials Authentication

Below fields are required to get access token for authorizing API's.

- **Client ID**(**required**)
- **Client Secret**(**required**)
- **URL**(**required**)
- **Scopes**(**required**)= Array of scopes.
- **Token URL**

## Capabilities

This connector provides the following capabilities:

- Get Alerts
- Get Device by ID
- Get Device Disk Drives
- Get Last Logged on User
- Get OS Patch Installs
- Get OS Patches by Device ID
- Get Software Patch History
- List Logged on Users
- List Network Interfaces
- List OS Patches
- List Software Inventory
- List Software Patches

## Notes

- [API Documentation](https://app.ninjarmm.com/apidocs/?links.active=core)

# Configurations

## NinjaOne API Key Authentication

Authenticates using an API Key

### Configuration Parameters

| **Parameter** | **Description**                    | **Type** | **Required** |
| ------------- | ---------------------------------- | -------- | ------------ |
| url           | A URL to the target host.          | string   | Required     |
| sessionKey    | Session key                        | string   | Required     |
| verify\_ssl   | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy   | A proxy to route requests through. | string   | Optional     |

## NinjaOne Oauth 2.0 Client Credentials

Authenticates using oauth 2.0 client credentials

### Configuration Parameters

| **Parameter**  | **Description**                    | **Type** | **Required** |
| -------------- | ---------------------------------- | -------- | ------------ |
| url            | A URL to the target host.          | string   | Required     |
| token\_url     |                                    | string   | Optional     |
| client\_id     | The client ID                      | string   | Required     |
| client\_secret | The client secret.                 | string   | Required     |
| scope          | Permission scopes for this action. | array    | Required     |
| verify\_ssl    | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy    | A proxy to route requests through. | string   | Optional     |

# Actions

## Get Alerts

Fetches a list of alerts from NinjaOne, providing an overview of triggered conditions across the network.

### Endpoint

- **URL:** `/v2/alerts`
- **Method:** `GET`

### Input

| **Argument Name**       | **Type** | **Required** | **Description** |
| ----------------------- | -------- | ------------ | --------------- |
| `parameters.sourceType` | string   | Optional     | Source type.    |
| `parameters.df`         | string   | Optional     | Device filter.  |
| `parameters.lang`       | string   | Optional     | Language tag.   |
| `parameters.tz`         | string   | Optional     | Time zone.      |

### Input Example

`{"parameters":{"sourceType":"string","df":"string","lang":"string","tz":"string"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`[]`

## Get Device by ID

Retrieve detailed information for a specific device in NinjaOne using its unique identifier.

### Endpoint

- **URL:** `/v2/device/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**    |
| -------------------- | -------- | ------------ | ------------------ |
| `path_parameters.id` | number   | Required     | Device identifier. |

### Input Example

`{"path_parameters":{"id":1}}`

### Output

| **Parameter**              | **Type** | **Description**                      |
| -------------------------- | -------- | ------------------------------------ |
| `status_code`              | number   | HTTP status code of the response     |
| `reason`                   | string   | Response reason phrase               |
| `id`                       | number   | Unique identifier                    |
| `parentDeviceId`           | number   | Unique identifier                    |
| `organizationId`           | number   | Unique identifier                    |
| `locationId`               | number   | Unique identifier                    |
| `nodeClass`                | string   | Output field: nodeClass              |
| `nodeRoleId`               | number   | Unique identifier                    |
| `rolePolicyId`             | number   | Unique identifier                    |
| `policyId`                 | number   | Unique identifier                    |
| `approvalStatus`           | string   | Status value                         |
| `offline`                  | boolean  | Output field: offline                |
| `displayName`              | string   | Name of the resource                 |
| `systemName`               | string   | Name of the resource                 |
| `dnsName`                  | string   | Name of the resource                 |
| `netbiosName`              | string   | Name of the resource                 |
| `created`                  | number   | Output field: created                |
| `lastContact`              | number   | Output field: lastContact            |
| `lastUpdate`               | number   | Date value                           |
| `userData`                 | object   | Response data                        |
| `userData.additionalProp1` | object   | Response data                        |
| `tags`                     | array    | Output field: tags                   |
| `fields`                   | object   | Output field: fields                 |
| `fields.additionalProp1`   | object   | Output field: fields.additionalProp1 |
| `fields.additionalProp2`   | object   | Output field: fields.additionalProp2 |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"id":0,"parentDeviceId":0,"organizationId":0,"locationId":0,"nodeClass":"WINDOWS_SERVER","nodeRoleId":0,"rolePolicyId":0,"policyId":0,"approvalStatus":"PENDING","offline":true,"displayName":"string","systemName":"string","dnsName":"string","netbiosName":"string","created":0}}`

## Get Device Disk Drives

Retrieve disk drive information from a specified device using NinjaOne, including storage capacity and usage.

### Endpoint

- **URL:** `/v2/device/{{id}}/disks`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**    |
| -------------------- | -------- | ------------ | ------------------ |
| `path_parameters.id` | number   | Required     | Device identifier. |

### Input Example

`{"path_parameters":{"id":1}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"bytesPerSector":0,"description":"string","interfaceType":"string","manufacturer":"string","mediaType":"string","model":"string","name":"string","partitionCount":0,"serialNumber":"string","size":0,"smartCapable":true,"status":"string"}]}`

## Get Last Logged on User

Retrieve the last logged-on user details from a specified device using Ninja One.

### Endpoint

- **URL:** `/v2/device/{{id}}/last-logged-on-user`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**    |
| -------------------- | -------- | ------------ | ------------------ |
| `path_parameters.id` | number   | Required     | Device identifier. |

### Input Example

`{"path_parameters":{"id":1}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `userName`    | string   | Name of the resource             |
| `logonTime`   | number   | Time value                       |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"userName":"string","logonTime":0}}`

## Get OS Patch Installs

Retrieve a list of installed OS patches from NinjaOne, providing an overview of system updates and security fixes.

### Endpoint

- **URL:** `/v2/device/{{id}}/os-patch-installs`
- **Method:** `GET`

### Input

| **Argument Name**            | **Type** | **Required** | **Description**                                  |
| ---------------------------- | -------- | ------------ | ------------------------------------------------ |
| `path_parameters.id`         | number   | Required     | Device identifier.                               |
| `parameters.status`          | string   | Optional     | Patch Status filter (FAILED, INSTALLED).         |
| `parameters.installedBefore` | string   | Optional     | Include patches installed before specified date. |
| `parameters.installedAfter`  | string   | Optional     | Include patches installed after specified date.  |

### Input Example

`{"parameters":{"status":"FAILED","installedBefore":"","installedAfter":""},"path_parameters":{"id":1}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"string","severity":"string","status":"string","type":"string","installedAt":0,"kbNumber":"string"}]}`

## Get OS Patches by Device ID

Retrieve a list of operating system patches available for a specific device using its unique identifier.

### Endpoint

- **URL:** `/v2/device/{{id}}/os-patches`
- **Method:** `GET`

### Input

| **Argument Name**     | **Type** | **Required** | **Description**        |
| --------------------- | -------- | ------------ | ---------------------- |
| `path_parameters.id`  | number   | Required     | Device identifier.     |
| `parameters.status`   | string   | Optional     | Patch status filter.   |
| `parameters.type`     | string   | Optional     | Patch type filter.     |
| `parameters.severity` | string   | Optional     | Patch severity filter. |

### Input Example

`{"path_parameters":{"id":1}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"string","severity":"string","status":"string","type":"string","installedAt":0,"kbNumber":"string"}]}`

## Get Software Patch History

Retrieve the historical patching data for software managed by NinjaOne, including patch dates and statuses.

### Endpoint

- **URL:** `/v2/device/{{id}}/software-patch-installs`
- **Method:** `GET`

### Input

| **Argument Name**              | **Type** | **Required** | **Description**                                  |
| ------------------------------ | -------- | ------------ | ------------------------------------------------ |
| `path_parameters.id`           | number   | Required     | Device identifier.                               |
| `parameters.type`              | string   | Optional     | Patch type filter.                               |
| `parameters.impact`            | string   | Optional     | Patch impact filter.                             |
| `parameters.status`            | string   | Optional     | Patch status filter.                             |
| `parameters.productIdentifier` | string   | Optional     | Product identifier.                              |
| `parameters.installedBefore`   | string   | Optional     | Include patches installed before specified date. |
| `parameters.installedAfter`    | string   | Optional     | Include patches installed after specified date.  |

### Input Example

`{"path_parameters":{"id":1}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","productIdentifier":"3fa85f64-5717-4562-b3fc-2c963f66afa6","title":"string","impact":"string","status":"string","type":"string","installedAt":0}]}`

## List Logged on Users

Retrieve a list of users currently logged on to a system using NinjaOne, providing real-time session information.

### Endpoint

- **URL:** `/v2/queries/logged-on-users`
- **Method:** `GET`

### Input

| **Argument Name**     | **Type** | **Required** | **Description**                   |
| --------------------- | -------- | ------------ | --------------------------------- |
| `parameters.df`       | string   | Optional     | Device filter.                    |
| `parameters.cursor`   | string   | Optional     | Cursor name.                      |
| `parameters.pageSize` | number   | Optional     | Limit number of records per page. |

### Input Example

`{"parameters":{"pageSize":1}}`

### Output

| **Parameter**       | **Type** | **Description**                  |
| ------------------- | -------- | -------------------------------- |
| `status_code`       | number   | HTTP status code of the response |
| `reason`            | string   | Response reason phrase           |
| `cursor`            | object   | Output field: cursor             |
| `cursor.name`       | string   | Name of the resource             |
| `cursor.offset`     | number   | Output field: cursor.offset      |
| `cursor.count`      | number   | Count value                      |
| `cursor.expires`    | number   | Output field: cursor.expires     |
| `results`           | array    | Result of the operation          |
| `results.userName`  | string   | Name of the resource             |
| `results.logonTime` | number   | Result of the operation          |
| `results.deviceId`  | number   | Unique identifier                |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"cursor":{"name":"string","offset":0,"count":0,"expires":0},"results":[{}]}}`

## List Network Interfaces

Retrieve a list of network interfaces from NinjaOne, providing an overview of each interface's status and configuration.

### Endpoint

- **URL:** `/v2/queries/network-interfaces`
- **Method:** `GET`

### Input

| **Argument Name**     | **Type** | **Required** | **Description**                   |
| --------------------- | -------- | ------------ | --------------------------------- |
| `parameters.df`       | string   | Optional     | Device filter.                    |
| `parameters.cursor`   | string   | Optional     | Cursor name.                      |
| `parameters.pageSize` | number   | Optional     | Limit number of records per page. |

### Input Example

`{"parameters":{"pageSize":1}}`

### Output

| **Parameter**            | **Type** | **Description**                  |
| ------------------------ | -------- | -------------------------------- |
| `status_code`            | number   | HTTP status code of the response |
| `reason`                 | string   | Response reason phrase           |
| `cursor`                 | object   | Output field: cursor             |
| `cursor.name`            | string   | Name of the resource             |
| `cursor.offset`          | number   | Output field: cursor.offset      |
| `cursor.count`           | number   | Count value                      |
| `cursor.expires`         | number   | Output field: cursor.expires     |
| `results`                | array    | Result of the operation          |
| `results.adapterName`    | string   | Name of the resource             |
| `results.defaultGateway` | string   | Result of the operation          |
| `results.interfaceType`  | string   | Type of the resource             |
| `results.dnsHostName`    | string   | Name of the resource             |
| `results.dnsServers`     | string   | Result of the operation          |
| `results.interfaceIndex` | string   | Result of the operation          |
| `results.interfaceName`  | string   | Name of the resource             |
| `results.ipAddress`      | array    | Result of the operation          |
| `results.linkSpeed`      | string   | Result of the operation          |
| `results.macAddress`     | array    | Result of the operation          |
| `results.mtu`            | string   | Result of the operation          |
| `results.status`         | string   | Status value                     |
| `results.subnetMask`     | string   | Result of the operation          |
| `results.deviceId`       | number   | Unique identifier                |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"cursor":{"name":"string","offset":0,"count":0,"expires":0},"results":[{}]}}`

## List OS Patches

Retrieve a list of available operating system patches from NinjaOne for targeted endpoint management.

### Endpoint

- **URL:** `/v2/queries/os-patches`
- **Method:** `GET`

### Input

| **Argument Name**     | **Type** | **Required** | **Description**                   |
| --------------------- | -------- | ------------ | --------------------------------- |
| `parameters.df`       | string   | Optional     | Device filter.                    |
| `parameters.ts`       | string   | Optional     | Monitoring timestamp filter.      |
| `parameters.status`   | string   | Optional     | Patch status filter.              |
| `parameters.type`     | string   | Optional     | Patch type filter.                |
| `parameters.severity` | string   | Optional     | Patch severity filter.            |
| `parameters.cursor`   | string   | Optional     | Cursor name.                      |
| `parameters.pageSize` | number   | Optional     | Limit number of records per page. |

### Input Example

`{"parameters":{"pageSize":1}}`

### Output

| **Parameter**         | **Type** | **Description**                  |
| --------------------- | -------- | -------------------------------- |
| `status_code`         | number   | HTTP status code of the response |
| `reason`              | string   | Response reason phrase           |
| `cursor`              | object   | Output field: cursor             |
| `cursor.name`         | string   | Name of the resource             |
| `cursor.offset`       | number   | Output field: cursor.offset      |
| `cursor.count`        | number   | Count value                      |
| `cursor.expires`      | number   | Output field: cursor.expires     |
| `results`             | array    | Result of the operation          |
| `results.id`          | string   | Unique identifier                |
| `results.name`        | string   | Name of the resource             |
| `results.severity`    | string   | Result of the operation          |
| `results.status`      | string   | Status value                     |
| `results.type`        | string   | Type of the resource             |
| `results.installedAt` | number   | Result of the operation          |
| `results.deviceId`    | number   | Unique identifier                |
| `results.timestamp`   | number   | Result of the operation          |
| `results.kbNumber`    | string   | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"cursor":{"name":"string","offset":0,"count":0,"expires":0},"results":[{}]}}`

## List Software Inventory

Retrieve a comprehensive list of software installed across endpoints managed by NinjaOne.

### Endpoint

- **URL:** `/v2/queries/software`
- **Method:** `GET`

### Input

| **Argument Name**            | **Type** | **Required** | **Description**                                   |
| ---------------------------- | -------- | ------------ | ------------------------------------------------- |
| `parameters.df`              | string   | Optional     | Device filter.                                    |
| `parameters.cursor`          | string   | Optional     | Cursor name.                                      |
| `parameters.pageSize`        | number   | Optional     | Limit number of records per page.                 |
| `parameters.installedBefore` | string   | Optional     | Include software installed before specified date. |
| `parameters.installedAfter`  | string   | Optional     | Include software installed after specified date.  |

### Input Example

`{"parameters":{"pageSize":1}}`

### Output

| **Parameter**         | **Type** | **Description**                  |
| --------------------- | -------- | -------------------------------- |
| `status_code`         | number   | HTTP status code of the response |
| `reason`              | string   | Response reason phrase           |
| `cursor`              | object   | Output field: cursor             |
| `cursor.name`         | string   | Name of the resource             |
| `cursor.offset`       | number   | Output field: cursor.offset      |
| `cursor.count`        | number   | Count value                      |
| `cursor.expires`      | number   | Output field: cursor.expires     |
| `results`             | array    | Result of the operation          |
| `results.installDate` | string   | Result of the operation          |
| `results.location`    | string   | Result of the operation          |
| `results.name`        | string   | Name of the resource             |
| `results.publisher`   | string   | Result of the operation          |
| `results.size`        | number   | Result of the operation          |
| `results.version`     | string   | Result of the operation          |
| `results.productCode` | string   | Result of the operation          |
| `results.deviceId`    | number   | Unique identifier                |
| `results.timestamp`   | number   | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"cursor":{"name":"string","offset":0,"count":0,"expires":0},"results":[{}]}}`

## List Software Patches

Retrieve a list of available software patches from NinjaOne for efficient update management.

### Endpoint

- **URL:** `/v2/queries/software-patches`
- **Method:** `GET`

### Input

| **Argument Name**              | **Type** | **Required** | **Description**                   |
| ------------------------------ | -------- | ------------ | --------------------------------- |
| `parameters.df`                | string   | Optional     | Device filter.                    |
| `parameters.ts`                | string   | Optional     | Monitoring timestamp filter.      |
| `parameters.status`            | string   | Optional     | Patch status filter.              |
| `parameters.productIdentifier` | string   | Optional     | Product identifier.               |
| `parameters.type`              | string   | Optional     | Patch type filter.                |
| `parameters.impact`            | string   | Optional     | Patch impact filter.              |
| `parameters.cursor`            | string   | Optional     | Cursor name.                      |
| `parameters.pageSize`          | number   | Optional     | Limit number of records per page. |

### Input Example

`{"parameters":{"pageSize":1}}`

### Output

| **Parameter**               | **Type** | **Description**                  |
| --------------------------- | -------- | -------------------------------- |
| `status_code`               | number   | HTTP status code of the response |
| `reason`                    | string   | Response reason phrase           |
| `cursor`                    | object   | Output field: cursor             |
| `cursor.name`               | string   | Name of the resource             |
| `cursor.offset`             | number   | Output field: cursor.offset      |
| `cursor.count`              | number   | Count value                      |
| `cursor.expires`            | number   | Output field: cursor.expires     |
| `results`                   | array    | Result of the operation          |
| `results.id`                | string   | Unique identifier                |
| `results.productIdentifier` | string   | Unique identifier                |
| `results.title`             | string   | Result of the operation          |
| `results.impact`            | string   | Result of the operation          |
| `results.status`            | string   | Status value                     |
| `results.type`              | string   | Type of the resource             |
| `results.installedAt`       | number   | Result of the operation          |
| `results.deviceId`          | number   | Unique identifier                |
| `results.timestamp`         | number   | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"cursor":{"name":"string","offset":0,"count":0,"expires":0},"results":[{}]}}`

# Response Headers

| **Header**   | **Description**                                       | **Example**                   |
| ------------ | ----------------------------------------------------- | ----------------------------- |
| Content-Type | The media type of the resource                        | application/json              |
| Date         | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |
