NinjaOne Ticket Management
Overview
NinjaOne includes a built-in ticketing system that integrates with device monitoring. Tickets can be manually created or auto-generated from alerts, providing a complete service desk solution.
API Endpoints
Create Ticket
http
POST /api/v2/ticketing/ticket
Content-Type: application/json
Authorization: Bearer {token}
json
{
"clientId": 123,
"subject": "Server disk space critical",
"description": "C: drive on SERVER-01 is at 95% capacity",
"priority": "HIGH",
"status": "OPEN",
"assignedTechnicianId": 456,
"deviceId": 789,
"tags": ["disk", "server", "critical"]
}
Update Ticket
http
PUT /api/v2/ticketing/ticket/{ticketId}
Content-Type: application/json
json
{
"status": "IN_PROGRESS",
"priority": "MEDIUM",
"assignedTechnicianId": 456
}
Get Ticket Log Entries
http
GET /api/v2/ticketing/ticket/{ticketId}/log-entry
Returns all log entries (comments, status changes, time entries) for a ticket.
Ticket Fields
Core Fields
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | System | Auto-generated ID |
subject | string | Yes | Brief issue summary |
description | text | No | Detailed description |
clientId | integer | Yes | Organization ID |
deviceId | integer | No | Related device |
Status Fields
| Field | Type | Description |
|---|---|---|
status | string | Current ticket status |
priority | string | Urgency level |
assignedTechnicianId | integer | Assigned tech |
Metadata
| Field | Type | Description |
|---|---|---|
tags | array | Categorization tags |
createTime | datetime | Creation timestamp |
updateTime | datetime | Last modified |
Status Values
| Status | Description |
|---|---|
OPEN | New ticket, awaiting triage |
IN_PROGRESS | Actively being worked |
WAITING | Waiting for customer/vendor |
ON_HOLD | Paused pending action |
RESOLVED | Issue resolved |
CLOSED | Ticket complete |
Priority Levels
| Priority | Description | SLA Target |
|---|---|---|
CRITICAL | Business down | Immediate |
HIGH | Major impact | 1 hour |
MEDIUM | Moderate impact | 4 hours |
LOW | Minor issue | 24 hours |
NONE | No urgency | Best effort |
Log Entries
Log entries track all ticket activity:
Entry Types
| Type | Description |
|---|---|
COMMENT | Public or private comment |
STATUS_CHANGE | Status transition |
ASSIGNMENT | Technician assignment change |
TIME_ENTRY | Logged work time |
Log Entry Structure
json
{
"id": 123,
"type": "COMMENT",
"content": "Investigated and found corrupted index",
"public": false,
"createdBy": {
"id": 456,
"name": "John Tech"
},
"createTime": "2024-02-15T14:30:00Z"
}
Common Workflows
Create Ticket from Alert
- •Receive alert notification
- •Get device and organization context
- •Create ticket with device linked
- •Add alert details to description
- •Set priority based on alert severity
- •Assign to appropriate technician
Ticket Resolution Flow
- •Update status to IN_PROGRESS
- •Add log entries documenting work
- •Log time entries for billing
- •Update status to RESOLVED
- •Add resolution notes
- •Close ticket
Escalation Workflow
- •Review ticket age and SLA
- •Update priority if needed
- •Reassign to senior tech
- •Add escalation note
- •Notify stakeholders
Integration with Devices
Link tickets to devices for context:
json
{
"subject": "Outlook crashes repeatedly",
"deviceId": 12345,
"description": "User reports Outlook crashes when opening attachments"
}
Benefits:
- •Quick access to device details
- •View device alerts in ticket context
- •Run remote actions from ticket
Tags for Categorization
json
{
"tags": [
"email",
"outlook",
"crash",
"user-reported"
]
}
Common tag patterns:
- •Issue type:
hardware,software,network - •Application:
outlook,office,vpn - •Source:
user-reported,alert,scheduled - •Priority override:
vip,urgent
Best Practices
- •Link to devices - Provides context and quick actions
- •Use descriptive subjects - Include who, what, where
- •Log all work - Essential for billing and knowledge
- •Update status promptly - Keeps queues accurate
- •Use tags consistently - Enables better reporting
- •Document resolution - Helps with future issues
Error Handling
| Code | Description | Resolution |
|---|---|---|
| 400 | Invalid request | Check required fields |
| 404 | Ticket not found | Verify ticket ID |
| 403 | Access denied | Check organization permissions |
| 422 | Validation error | Review field values |
Related Skills
- •Devices - Device context
- •Alerts - Alert-to-ticket flow
- •Organizations - Client context
- •API Patterns - Authentication