What you'll need
- Client ID + Client secret — both issued when you create an API client
- Region — one of
us,eu,ca,oc. Must match where your NinjaOne tenant lives.
1. Create the API client
- In NinjaOne, go to Administration → Apps → API → Client App IDs.
- Click Add. Name it “Vectis”.
- Application platform: API Services (machine-to-machine).
- Scopes: enable monitoring (read alerts/devices) and management (acknowledge/resolve alerts). Skip control unless you plan to add remote actions later.
- Redirect URIs: leave empty (client-credentials flow doesn’t need them).
- Allowed Grant Types: enable client_credentials.
- Save. Copy the Client ID and Client secret — the secret is shown only once.
2. Pick the right region
Your NinjaOne login URL tells you the region:
app.ninjarmm.comorus.ninjarmm.com→ useu.ninjarmm.com→ euca.ninjarmm.com→ caoc.ninjarmm.com→ oc
3. Paste credentials into Vectis
- Go to Admin → Integrations and click Configure on NinjaOne.
- Paste Client ID, Client secret, and pick your Region.
- Click Test. You should see “Connected to NinjaOne” with your region.
- Click Save, then Sync now.
4. Match organizations to your PSA customers
After the first sync, Vectis shows a list of NinjaOne organizations and tries to fuzzy-match each to one of your ConnectWise/PSA customers by name. Anything it can’t auto-match appears as unlinked — drop down and pick the right customer, or mark “Keep separate” for non-MSP-customer orgs (internal, demo, etc.).
Matching is required for the account hub to show devices + alerts next to tickets for the same customer. Until a Ninja org is linked to a PSA customer, its devices appear only in the RMM section.
Common errors
401 Unauthorized — Client ID or Client secret is wrong. Re-copy from the NinjaOne admin panel. If the secret was rotated there, update here too.
403 Forbidden — The client lacks required scopes. Go back to the API client in NinjaOne and enable monitoring and management.
404 Not Found — Region is wrong. The API endpoint is region-specific; a US-region client won’t resolve from the EU endpoint.
Connection timed out — Check firewall/VPN — NinjaOne’s API IPs need to be reachable from wherever Vectis is running.