NinjaOne RMM
NinjaOne RMM (Remote Monitoring and Management) is a cloud-based IT management platform that enables MSPs and IT teams to monitor, manage, patch, and secure endpoints, devices, and networks from a unified console. It centralizes device inventory, organization and client management, alerting, and activity auditing across every endpoint under management. Organizations use the NinjaOne API to pull device, organization, alert, and activity data into external systems for reporting, automation, and asset tracking.

Power end-to-end data operations for your NinjaOne RMM API with Nexla. Our bi-directional NinjaOne RMM connector is purpose-built for NinjaOne RMM, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to NinjaOne RMM or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your NinjaOne RMM workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
To connect Nexla to NinjaOne, you need a Client ID and Client Secret for a NinjaOne API application, obtained from the NinjaOne Administration portal. NinjaOne uses OAuth 2.0 for API access; Nexla's connector uses the two-legged (client credentials) grant, which is intended for machine-to-machine access and does not require an interactive user login.
To register an API application and obtain your credentials:
-
Sign in to your NinjaOne dashboard as a system administrator.
-
Navigate to Administration > Apps > API, then open the Client App IDs tab.
-
Click Add (or Add Client App) to create a new application.
-
From the Application Platform dropdown, select API Services (machine-to-machine). This platform option supports the client credentials grant type used for server-to-server integrations like Nexla.
-
Enter a Name for the application (for example,
Nexla Integration) so you can identify it later in your list of client apps. -
Under Scopes, enable the resource types your Nexla flows will need — for example, Monitoring for read-only access to devices, organizations, and activity data. Enable additional scopes such as Management only if you plan to use endpoints that modify NinjaOne data.
-
Under Allowed Grant Types, select Client Credentials.
-
Click Save. NinjaOne displays the Client Secret at this point — copy it immediately and store it securely, as it is shown only once and cannot be retrieved again later.
-
After closing the confirmation dialog, the new application appears in your Client App IDs list along with its Client ID. Copy this value as well.
-
Note the region of your NinjaOne instance (US, EU, or OC/Oceania). This determines the base URL you will enter in Nexla —
https://app.ninjarmm.com,https://eu.ninjarmm.com, orhttps://oc.ninjarmm.com, respectively.
Your NinjaOne Client Secret grants API access scoped to the permissions you selected when creating the application. Treat it as sensitive credential material. If it is ever exposed, delete the affected Client App ID in Administration > Apps > API and create a replacement.
For the full NinjaOne API reference, including authentication, available resources, and regional endpoints, see the NinjaOne API documentation.
Authenticate
Credentials required
Two-legged OAuth2 client credentials flow for machine-to-machine authentication with NinjaOne API. Requires a Client ID and Client Secret obtained from the NinjaOne Administration portal.
| Field | Required | Secret | Description |
|---|---|---|---|
| Client ID | Yes | No | The unique public identifier for your NinjaOne API application, obtained from Administration > Apps > API > Client App IDs in the NinjaOne portal. |
| Client Secret | Yes | Yes | The confidential secret associated with your NinjaOne API application Client ID. This is shown only once when the application is created — store it securely. |
| Instance URL | Yes | No | The base URL of your NinjaOne instance. Use https://app.ninjarmm.com for US-based accounts, https://eu.ninjarmm.com for EU-based accounts, or https://oc.ninjarmm.com for OC-based accounts. |
Create a credential in Nexla
-
After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter the Client ID from your NinjaOne API application in the Client ID field. This is the public identifier obtained from Administration > Apps > API > Client App IDs in the NinjaOne portal, as described in Prerequisites.
-
Enter the Client Secret from your NinjaOne API application in the Client Secret field. This value is shown only once when the application is created; if you did not save it, you will need to delete and recreate the Client App ID to obtain a new one.
-
Enter the base URL for your NinjaOne instance in the Instance URL field —
https://app.ninjarmm.comfor US-based accounts,https://eu.ninjarmm.comfor EU-based accounts, orhttps://oc.ninjarmm.comfor OC-based accounts.Nexla uses the Client ID and Client Secret to obtain an OAuth 2.0 access token from your NinjaOne instance's token endpoint using the client credentials grant. No end-user login or consent screen is involved.
If your Client Secret is compromised, delete the Client App ID in NinjaOne under Administration > Apps > API and create a new one, then update this credential with the new value.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source creation and can be selected for use with a new data source.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the NinjaOne RMM connector tile, then select the credential that will be used to connect to the NinjaOne instance, and click Next; or, create a new NinjaOne RMM credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common NinjaOne endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
NinjaOne RMM data sources can also be manually configured to ingest data from any valid NinjaOne API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
NinjaOne's Public API is documented at app.ninjarmm.com/apidocs. You do not need to add an authentication header manually — Nexla obtains and refreshes the OAuth 2.0 access token automatically from the configured credential.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new NinjaOne RMM data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.