Documentation Index

Fetch the complete documentation index at: https://help.claritysecurity.com/llms.txt

Use this file to discover all available pages before exploring further.

Ninja One

Prev Next

Overview

The Clarity NinjaOne connector reads your technicians (the staff who operate the NinjaOne platform) and their user roles, and can provision role membership and technician accounts:

What Clarity syncs / writes

NinjaOne source

Direction

Users (technicians)

GET /v2/user/technicians

read

Roles

GET /v2/user/roles

read

Per-user role assignments

inline members[] on each role

read

Add / remove a technician’s role

PATCH /v2/user/role/{roleId}/add-members · remove-members

write

Create a technician

POST /v2/user/technicians

write

Delete a technician

DELETE /v2/user/technician/{id}

write

Population note: Clarity imports technicians — your MSP/IT staff who log into NinjaOne — not end users (the contacts at your client organizations). Technicians are the population an access review cares about.

Lifecycle note: the NinjaOne API supports hard delete only — there is no reversible deactivate/disable endpoint for technicians. Clarity can create and permanently delete technicians and add/remove their roles, but it cannot suspend an account.

Authentication uses OAuth 2.0 Client Credentials (machine-to-machine). No user is impersonated; the connector authenticates as an API application you create in NinjaOne.

Prerequisites

  • NinjaOne Administrator access with permission to create API applications (Administration → Apps → API).

  • Authority to grant the API application the Monitoring and Management scopes.

  • Knowledge of your NinjaOne regional instance (the domain you sign in at).

Step 1 — Identify your regional instance host

NinjaOne is multi-region, and the API lives on the same host you log in at. Using the wrong region causes authentication to fail. Enter the host only — no https:// and no trailing path.

Region

Instance host

US

app.ninjarmm.com

US2

us2.ninjarmm.com

EU

eu.ninjarmm.com

Canada

ca.ninjarmm.com

Oceania

oc.ninjarmm.com

If unsure, look at the domain in your browser while signed in to NinjaOne.

Step 2 — Create an API application

  1. In NinjaOne go to Administration → Apps → API and add a new application.

  2. Choose the API Services (machine-to-machine) application type — this is the Client Credentials flow. (Do not pick an authorization-code/redirect app type; Clarity authenticates without a user.)

  3. Grant the application these scopes:

    • Monitoring — read access to users, roles, and organization structure.

    • Management — required for role-membership provisioning and technician create/delete.

  4. Save. NinjaOne generates a Client ID and a Client Secret.

⚠️ The Client Secret is shown only once, at creation time. Copy it immediately. If you lose it, generate a new secret and update Clarity.

Step 3 — Enter the credentials in Clarity

In Clarity, add a new NinjaOne integration and fill in:

Clarity field

Value

Instance Host

Your regional host from Step 1 (e.g. app.ninjarmm.com). Defaults to app.ninjarmm.com.

OAuth Client ID

The Client ID from the API Services application.

OAuth Client Secret

The Client Secret from the same application (stored encrypted).

Save, then use Clarity’s Test credentials action to confirm connectivity before the first sync.

Troubleshooting

Symptom

Likely cause

Auth fails immediately

Instance Host points at the wrong region — it must match the console host for your tenant.

invalid_client on connect

Client ID/Secret typo, or the secret was regenerated in NinjaOne and not updated in Clarity.

Sync returns users but no role assignments

The application is missing the Monitoring scope, or roles have no members.

Provisioning (add/remove role, create/delete) fails

The application is missing the Management scope.

Rate-limited during large syncs

Expected under heavy load — Clarity honors NinjaOne’s Retry-After and retries automatically.

What Clarity does NOT do

  • No deactivation — the NinjaOne API cannot disable a technician; only hard delete is available.

  • No end-user import — only technicians (platform operators) are synced.

  • No attribute write-back — Clarity does not push identity attributes to NinjaOne.

Need Help?

If you have any problems, contact your customer success team. You can also get in touch with our general support via email, open a support ticket. Our general support team is available Monday - Friday from 8:00 AM - 6:30 PM CST.