1
Navigate to the API settings
- Log in to your NinjaOne instance (e.g. app.ninjarmm.com for North America,
us2.ninjarmm.com,eu.ninjarmm.com,ca.ninjarmm.com, oroc.ninjarmm.comdepending on where your tenant is hosted). - Navigate to Administration > Apps > API.
- Click on the Client App IDs tab.
2
Create a Web OAuth application
- Click the Add button to open the Application Configuration form.
- Select Web as the Application Platform (do not select “API Services / Machine-to-Machine”).
- Fill in the details:
- Name: A descriptive name for your application
- Redirect URI:
https://api.nango.dev/oauth/callback - Allowed Grant Types: Check both Authorization Code and Refresh Token
- Scopes/Permissions: Select the appropriate scopes for your use case (e.g., Monitoring, Management, Control)
- Click Save to create the application. You may need to complete a multi-factor authentication step.
3
Obtain your app credentials
- After creating the application, the Client ID and Client Secret will be displayed.
- Copy and securely store both values immediately. The Client Secret is only shown once and cannot be retrieved later.
4
Next
Follow the Quickstart.
Important notes for NinjaOne RMM API
- The Client Secret is only displayed once after creation. If you lose it, you’ll need to create a new application.
- NinjaOne access tokens expire within approximately 1 hour. Include the
offline_accessscope to ensure refresh tokens are issued for automatic token renewal. - NinjaOne tenants are hosted on regional instances (
app.ninjarmm.com,us2.ninjarmm.com,eu.ninjarmm.com,ca.ninjarmm.com,oc.ninjarmm.com). OAuth credentials and API access only work against the tenant’s own instance. Set theinstanceconnection config to the tenant’s hostname when creating a connection; existing connections without aninstancefall back toapp.ninjarmm.com. - This OAuth2 Authorization Code provider supports endpoints that require user-context authorization (e.g., running scripts on devices). If you only need machine-to-machine access, see the NinjaOne RMM (Client Credentials) integration instead.