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
POST /api/v2/ticketing/ticket
Content-Type: application/json
Authorization: Bearer {token}
{
"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
PUT /api/v2/ticketing/ticket/{ticketId}
Content-Type: application/json
{
"status": "IN_PROGRESS",
"priority": "MEDIUM",
"assignedTechnicianId": 456
}
Get Ticket Log Entries
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
{
"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:
{
"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
{
"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](../devices/SKILL.md) - Device context
- [Alerts](../alerts/SKILL.md) - Alert-to-ticket flow
- [Organizations](../organizations/SKILL.md) - Client context
- [API Patterns](../api-patterns/SKILL.md) - Authentication