NinjaRMM

version: 2.0.0

NinjaRMM provides intuitive endpoint management software to managed service providers (MSPs) and IT professionals.

Create New Organization

Creates new organization with optional list of locations and policy mappings. Template organization ID can be specified to copy various settings

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Template Organization IDJinja-templated text containing the value of the templated organization ID. Example: {{org_id}}Required
NameJinja-templated text containing the value of the Organization full name. Example: {{name}}Required
DescriptionJinja-templated text containing the value of the Organization Description. Example: {{description}}Required
Device Approval ModeJinja-templated text containing the value of the approval mode (Options are AUTOMATIC, MANUAL, REJECT). Example: {{approval_mode}}Required
User DataJinja-templated text containing the JSON of the user data. Example: {{user_data}}Required
TagsJinja-templated text containing JSON array of tags. Example: ["tag1", {{tags}}]Required
FieldsJinja-templated text containing the JSON of the fields. Example: {{fields}}Required
LocationsJinja-templated text containing the JSON array of the locations. Example: {{locations}}Required
PoliciesJinja-templated text containing the JSON array of the policies. Example: {{policies}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Create New Organization Data

Update Organization

Change organization name, description and policy mappings

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Organization IDJinja-templated text containing the value of the organization ID. Example: {{org_id}}Required
NameJinja-templated text containing the value of the Organization full name. Example: {{name}}Required
DescriptionJinja-templated text containing the value of the Organization Description. Example: {{description}}Required
Device Approval ModeJinja-templated text containing the value of the approval mode (Options are AUTOMATIC, MANUAL, REJECT). Example: {{approval_mode}}Required
User DataJinja-templated text containing the JSON of the user data. Example: {{user_data}}Required
TagsJinja-templated text containing JSON array of tags. Example: ["tag1", {{tags}}]Required
FieldsJinja-templated text containing the JSON of the fields. Example: {{fields}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Update Organization Data

Create Location

Creates new location for organization

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Organization IDJinja-templated text containing the value of the Organization ID. Example: {{org_id}}Required
Location nameJinja-templated text containing the value of the location name. Example: {{name}}Required
Location addressJinja-templated text containing the value of the location address. Example: {{address}}Required
DescriptionJinja-templated text containing the value of the description. Example: {{description}}Required
User DataJinja-templated text containing the JSON of the user data. Example: {{user_data}}Required
TagsJinja-templated text containing JSON array of tags. Example: {{tags}}Required
FieldsJinja-templated text containing the JSON of the fields. Example: {{fields}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Create Location Data

Update Location

Change location name, address, description, custom data

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Organization IDJinja-templated text containing the value of the Organization ID. Example: {{org_id}}Required
Location IDJinja-templated text containing the value of the Location ID. Example: {{location_id}}Required
Location nameJinja-templated text containing the value of the location name. Example: {{name}}Required
Location address:Jinja-templated text containing the value of the location address. Example: {{address}}Required
DescriptionJinja-templated text containing the value of the description. Example: {{description}}Required
User DataJinja-templated text containing the JSON of the user data. Example: {{user_data}}Required
TagsJinja-templated text containing JSON array of tags. Example: {{tags}}Required
FieldsJinja-templated text containing the JSON of the fields. Example: {{fields}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Update Location Data

List Devices

Returns list of devices (basic node information)

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
FilterJinja-templated text containing the value of device filter. Example: {{filter}}Required
LimitJinja-templated text containing the value of device filter (Default is 100000). Example: {{filter}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: List Devices Data

Device Link

Returns link to device

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of the Device ID. Example: {{device_id}}Required
Return redirect responseJinja-templated text containing the value of redirect (Options are true, false). Example: {{redirect}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Device Link Data

Update Device Information

Change device friendly name, user data.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of the device_id. Example: {{device_id}}Required
Display NameJinja-templated text containing the value of display name. Example: {{display_name}}Required
User DataJinja-templated text containing the JSON of the user data. Example: {{user_data}}Required
Node Role IDJinja-templated text containing the value of Node Role identifier. Example: {{node_role_id}}Required
Policy IDJinja-templated text containing the value of policy ID. Example: {{policy_id}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Update Device Information Data

Approve/Reject Devices

Approve or reject devices that are waiting for approval

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
ModeJinja-templated text containing the value of the mode (options are APPROVE, REJECT). Example: {{mode}}Required
DevicesJinja-templated text containing the JSON array of the device IDs. Example: [1, {{device_ids}}]Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Approve/Reject Devices Data

Reboot Device

Sends a command to restart the computer

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of device ID. Example: {{device_id}}Required
Reboot modeJinja-templated text containing the value of type (Options are NORMAL, FORCED). Example: {{device_id}}Required
Reboot reasonJinja-templated text containing the value of reboot reason. Example: {{reason}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Reboot Device Data

Windows Services and Status

Lists Windows Services and their statuses

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of device ID. Example: {{device_id}}Required
Service NameJinja-templated text containing the value of Service identifier. Example: {{service_name}}Required
Service StateJinja-templated text containing the value of Service State (Options are UNKNOWN, STOPPED, START_PENDING, RUNNING, STOP_PENDING, PAUSE_PENDING, PAUSED, CONTINUE_PENDING). Example: {{service_state}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Windows Services and Status Data

Windows Service Control

Start/Stop/Restart Windows Service on a device

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of device ID. Example: {{device_id}}Required
Service IDJinja-templated text containing the value of Service identifier. Example: {{service_id}}Required
ActionJinja-templated text containing the value of action (Options are START, PAUSE, STOP, RESTART). Example: {{action}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Windows Service Control Data

List Scripting Options

Returns scripting options (built-in actions, custom scripts) available for device

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of device ID. Example: {{device_id}}Required
LanguageJinja-templated text containing the value of language. Example: {{lang}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: List Scripting Options Data

Run Script

Run script or built-in action on a device

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of device ID. Example: {{device_id}}Required
Script IDJinja-templated text containing the value of Script identifier. Example: {{script_id}}Required
TypeJinja-templated text containing the value of type (Options are ACTION, SCRIPT). Example: {{type}}Required
UIDJinja-templated text containing the value of Built-in action identifier. Example: {{uid}}Required
ParametersJinja-templated text containing the value of Action/Script parameters. Example: {{params}}Required
Run AsJinja-templated text containing the value of Credential role/identifier. Example: {{run_as}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond)Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Run Script Data

Schedule Maintenance

Schedule maintenance window for device

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of the (options are APPROVE, REJECT). Example: {{mode}}Required
List of features that will be disabled during maintenanceJinja-templated text containing the JSON array of the features (Options are ALERTS, PATCHING, AVSCANS, TASKS). Example: ["{{feature1}}", "ALERTS"]Required
Maintenance window startJinja-templated text containing the value of maintenance start time, the ISO 8601 date and time (Default is Batch end time). Example: to specify July 16, 2017, use the form YYYY-MM-DDTHH:mm:ss, or 2017-07-16T00:00:00. Can also be timezone specific YYYY-MM-DDTHH:mm:ss-HH:mm, or 2017-07-16T00:00:00-4:00.Required
Maintenance window endJinja-templated text containing the value of maintenance end time, the ISO 8601 date and time (Default is Batch end time). Example: to specify July 16, 2017, use the form YYYY-MM-DDTHH:mm:ss, or 2017-07-16T00:00:00. Can also be timezone specific YYYY-MM-DDTHH:mm:ss-HH:mm, or 2017-07-16T00:00:00-4:00.Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Schedule Maintenance Data

Cancel Maintenance

Cancel pending or active maintenance for device

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device IDJinja-templated text containing the value of the (options are APPROVE, REJECT). Example: {{mode}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond).Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Cancel Maintenance Data

List active alerts (triggered conditions)

Returns list of active alerts/triggered conditions

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Source TypeJinja-templated text containing the value of the source type. Example: {{source_type}}Required
Device FilterJinja-templated text containing the value of the device filter. Example: {{device_filter}}Required
LanguageJinja-templated text containing the value of the language. Example: {{language}}Required
TimezoneJinja-templated text containing the value of the timezone. Example: {{timezone}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond)Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: List active alerts (triggered conditions) Data

Generates Installer

Generates and returns URL for installer for specified organization/location

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Organization IDJinja-templated text containing the value of the Organization ID. Example: {{org_id}}Required
Location IDJinja-templated text containing the value of the location ID. Example: {{location_id}}Required
Installer TypeJinja-templated text containing the value of the installer type (options are WINDOWS_MSI, MAC_DMG, MAC_PKG, LINUX_DEB, LINUX_RPM). Example: {{installer_type}}Required
Time between consecutive API requests (in millis)Time to wait between consecutive API requests in milliseconds (Default is 300 millisecond)Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Generates Installer Data

Release Notes

  • v2.0.0 - Updated architecture to support IO via filesystem