Use this skill when working with NinjaOne organizations - creating, listing, managing locations, and configuring policies. Organizations are the top-level container for all devices and represent MSP clients.
Organizations in NinjaOne represent your MSP clients. Each organization contains devices, locations, and has policy mappings that determine how devices are monitored and managed.
GET /api/v2/organizations
Authorization: Bearer {token}
Query parameters:
pageSize - Results per page (default: 50)after - Cursor for paginationResponse:
{
"organizations": [
{
"id": 1,
"name": "Acme Corporation",
"description": "Main client account",
"nodeApprovalMode": "AUTOMATIC",
"tags": ["premium", "24x7"],
"fields": {
"customField1": "value"
}
}
],
"pageInfo": {
"hasNextPage": true,
"endCursor": "abc123"
}
}
POST /api/v2/organizations
Content-Type: application/json
{
"name": "New Client Inc",
"description": "Description of the organization",
"nodeApprovalMode": "AUTOMATIC",
"tags": ["standard"],
"fields": {
"primaryContact": "John Smith",
"contractType": "Managed"
},
"locations": [
{
"name": "Headquarters",
"address": "123 Main St",
"description": "Main office location"
}
],
"policies": {
"nodeRoleId": 1,
"policyId": 100
}
}
| Mode | Description |
|---|---|
AUTOMATIC | New devices auto-approved |
MANUAL | Devices require manual approval |
REJECT | New devices rejected by default |
Locations represent physical sites within an organization.
| Field | Type | Description |
|---|---|---|
id | integer | Location identifier |
name | string | Location name |
address | string | Physical address |
description | string | Additional details |
Policies define monitoring and management behavior for devices.
{
"policies": [
{
"nodeRoleId": 1,
"policyId": 100
},
{
"nodeRoleId": 2,
"policyId": 101
}
]
}
| ID | Role |
|---|---|
| 1 | Windows Workstation |
| 2 | Windows Server |
| 3 | Mac |
| 4 | Linux Workstation |
| 5 | Linux Server |
Organizations can have custom fields for tracking business data:
{
"fields": {
"contractStart": "2024-01-01",
"contractEnd": "2024-12-31",
"primaryContact": "Jane Doe",
"billingCode": "ACME-001"
}
}
Tags help categorize and filter organizations:
{
"tags": ["premium", "healthcare", "24x7-support"]
}
Common tag patterns:
premium, standard, basichealthcare, finance, education24x7, business-hoursmanaged, break-fix, projectNinjaOne uses cursor-based pagination:
GET /api/v2/organizations?pageSize=50
GET /api/v2/organizations?pageSize=50&after=cursor123
Continue fetching while pageInfo.hasNextPage is true.
| Code | Description | Resolution |
|---|---|---|
| 400 | Invalid request | Check required fields |
| 409 | Name conflict | Organization name must be unique |
| 403 | Access denied | Check API permissions |