ITSM API
IT Service Management — Incidents, Problems, Changes, Service Catalog, Service Requests, SLA Policies, Knowledge Base, and CMDB.
All endpoints prefixed with /api/v1/itsm
Log, prioritize, and resolve incidents with SLA tracking.
/api/v1/itsm/incidents Create a new incident.
Auth: Bearer token · itsm.create
Request Body
{
"title": "Email server down",
"description": "Users cannot send or receive emails",
"category": "infrastructure",
"urgency": "high",
"impact": "high",
"reportedBy": "John Smith"
} /api/v1/itsm/incidents List incidents with pagination and filtering.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Search by title or description |
| status | string | Filter by status |
| priority | string | Filter by priority |
| category | string | Filter by category |
| assigneeId | number | Filter by assignee |
/api/v1/itsm/incidents/stats Get incident statistics by status and priority.
Auth: Bearer token · itsm.view
/api/v1/itsm/incidents/:id Get incident by ID (includes timeline and notes).
Auth: Bearer token · itsm.view
/api/v1/itsm/incidents/:id Update an incident.
Auth: Bearer token · itsm.edit
/api/v1/itsm/incidents/:id/status Update incident status.
Auth: Bearer token · itsm.edit
Request Body
{
"status": "in_progress"
} /api/v1/itsm/incidents/:id/assign Assign incident to a user.
Auth: Bearer token · itsm.edit
Request Body
{
"assigneeId": 2
} /api/v1/itsm/incidents/:id/notes Add a note or investigation update.
Auth: Bearer token · itsm.edit
Request Body
{
"content": "Investigating root cause",
"noteType": "investigation",
"isInternal": true
} /api/v1/itsm/incidents/:id/resolve Resolve the incident.
Auth: Bearer token · itsm.edit
Request Body
{
"resolutionNotes": "Restarted mail service"
} Root cause analysis with incident linking.
/api/v1/itsm/problems Create a new problem.
Auth: Bearer token · itsm.create
Request Body
{
"title": "Recurring email outages",
"description": "Email server crashes every 2 weeks",
"category": "infrastructure",
"priority": "high"
} /api/v1/itsm/problems List problems with pagination and filtering.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Search by title or description |
| status | string | Filter by status |
| priority | string | Filter by priority |
| category | string | Filter by category |
/api/v1/itsm/problems/stats Get problem statistics.
Auth: Bearer token · itsm.view
/api/v1/itsm/problems/:id Get problem by ID (includes linked incidents).
Auth: Bearer token · itsm.view
/api/v1/itsm/problems/:id Update a problem.
Auth: Bearer token · itsm.edit
/api/v1/itsm/problems/:id/status Update problem status.
Auth: Bearer token · itsm.edit
/api/v1/itsm/problems/:id/link-incident Link an incident to this problem.
Auth: Bearer token · itsm.edit
Request Body
{
"incidentId": 5
} /api/v1/itsm/problems/:id/convert-to-known-error Convert problem to a known error.
Auth: Bearer token · itsm.edit
Documented workarounds for known issues.
/api/v1/itsm/known-errors List known errors.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Search by title or description |
| status | string | Filter by status |
/api/v1/itsm/known-errors/:id Get known error by ID.
Auth: Bearer token · itsm.view
/api/v1/itsm/known-errors/:id Update workaround or status.
Auth: Bearer token · itsm.edit
Change request management with CAB approval workflow.
/api/v1/itsm/changes Create a new change request.
Auth: Bearer token · itsm.create
Request Body
{
"title": "Upgrade email server",
"description": "Upgrade to latest version",
"category": "infrastructure",
"changeType": "normal",
"riskLevel": "medium",
"plannedStartDate": "2026-07-15T02:00:00Z",
"plannedEndDate": "2026-07-15T06:00:00Z",
"implementationPlan": "...",
"rollbackPlan": "...",
"testPlan": "..."
} /api/v1/itsm/changes List change requests with pagination and filtering.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Search by title or description |
| status | string | Filter by status |
| changeType | string | Filter by change type |
| riskLevel | string | Filter by risk level |
| category | string | Filter by category |
/api/v1/itsm/changes/stats Get change request statistics.
Auth: Bearer token · itsm.view
/api/v1/itsm/changes/:id Get change request by ID (includes approvals and tasks).
Auth: Bearer token · itsm.view
/api/v1/itsm/changes/:id Update a change request.
Auth: Bearer token · itsm.edit
/api/v1/itsm/changes/:id/status Update change status (8-step transitions).
Auth: Bearer token · itsm.edit
/api/v1/itsm/changes/:id/submit Submit change for CAB approval.
Auth: Bearer token · itsm.edit
/api/v1/itsm/changes/:id/approve CAB member approval.
Auth: Bearer token · itsm.manage
/api/v1/itsm/changes/:id/reject CAB member rejection.
Auth: Bearer token · itsm.manage
/api/v1/itsm/changes/:id/tasks Add an implementation task.
Auth: Bearer token · itsm.edit
/api/v1/itsm/changes/:id/tasks/:taskId Update an implementation task.
Auth: Bearer token · itsm.edit
Self-service catalog with categories and service items.
/api/v1/itsm/service-catalog/categories Create a catalog category.
Auth: Bearer token · itsm.manage
Request Body
{
"name": "IT Equipment",
"description": "Hardware and peripherals"
} /api/v1/itsm/service-catalog/categories List catalog categories.
Auth: Bearer token · itsm.view
/api/v1/itsm/service-catalog/categories/:id Update a catalog category.
Auth: Bearer token · itsm.manage
/api/v1/itsm/service-catalog/categories/:id Delete a catalog category.
Auth: Bearer token · itsm.manage
/api/v1/itsm/service-catalog/items Create a service item.
Auth: Bearer token · itsm.manage
Request Body
{
"categoryId": 1,
"name": "New Laptop",
"description": "Request a new laptop",
"approvalRequired": true,
"estimatedDelivery": "5 business days"
} /api/v1/itsm/service-catalog/items List service items.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| categoryId | number | Filter by category |
| search | string | Search by name or description |
/api/v1/itsm/service-catalog/items/:id Get service item by ID.
Auth: Bearer token · itsm.view
/api/v1/itsm/service-catalog/items/:id Update a service item.
Auth: Bearer token · itsm.manage
/api/v1/itsm/service-catalog/items/:id Delete a service item.
Auth: Bearer token · itsm.manage
Fulfill service requests with approval workflow.
/api/v1/itsm/service-requests Create a service request.
Auth: Bearer token · itsm.create
Request Body
{
"catalogItemId": 1,
"description": "Need a new laptop for new hire",
"priority": "medium"
} /api/v1/itsm/service-requests List service requests with pagination and filtering.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Search by description |
| status | string | Filter by status |
| priority | string | Filter by priority |
| catalogItemId | number | Filter by catalog item |
/api/v1/itsm/service-requests/stats Get service request statistics.
Auth: Bearer token · itsm.view
/api/v1/itsm/service-requests/:id Get service request by ID.
Auth: Bearer token · itsm.view
/api/v1/itsm/service-requests/:id Update a service request.
Auth: Bearer token · itsm.edit
/api/v1/itsm/service-requests/:id/approve Approve the service request.
Auth: Bearer token · itsm.manage
/api/v1/itsm/service-requests/:id/reject Reject the service request.
Auth: Bearer token · itsm.manage
/api/v1/itsm/service-requests/:id/fulfill Mark the service request as fulfilled.
Auth: Bearer token · itsm.edit
Service level agreement policies with response and resolution targets.
/api/v1/itsm/sla/policies Create an SLA policy.
Auth: Bearer token · itsm.manage
Request Body
{
"name": "Critical Incident SLA",
"description": "For P1 incidents",
"priority": "critical",
"responseTarget": 15,
"resolutionTarget": 240,
"responseUnit": "minutes",
"resolutionUnit": "minutes"
} /api/v1/itsm/sla/policies List SLA policies.
Auth: Bearer token · itsm.view
/api/v1/itsm/sla/policies/:id Get SLA policy by ID.
Auth: Bearer token · itsm.view
/api/v1/itsm/sla/policies/:id Update an SLA policy.
Auth: Bearer token · itsm.manage
/api/v1/itsm/sla/policies/:id Delete an SLA policy.
Auth: Bearer token · itsm.manage
/api/v1/itsm/sla/compliance Get SLA compliance statistics.
Auth: Bearer token · itsm.view
Searchable articles with categories.
/api/v1/itsm/kb/categories Create a knowledge base category.
Auth: Bearer token · itsm.manage
/api/v1/itsm/kb/categories List knowledge base categories.
Auth: Bearer token · itsm.view
/api/v1/itsm/kb/categories/:id Update a knowledge base category.
Auth: Bearer token · itsm.manage
/api/v1/itsm/kb/categories/:id Delete a knowledge base category.
Auth: Bearer token · itsm.manage
/api/v1/itsm/kb/articles Create a knowledge base article.
Auth: Bearer token · itsm.create
Request Body
{
"categoryId": 1,
"title": "How to reset your password",
"content": "Step 1...",
"status": "published"
} /api/v1/itsm/kb/articles List and search knowledge base articles.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Full-text search |
| categoryId | number | Filter by category |
| status | string | Filter by status |
/api/v1/itsm/kb/articles/:id Get article by ID.
Auth: Bearer token · itsm.view
/api/v1/itsm/kb/articles/:id Update an article.
Auth: Bearer token · itsm.edit
/api/v1/itsm/kb/articles/:id Delete an article.
Auth: Bearer token · itsm.delete
Configuration management database for IT asset tracking.
/api/v1/itsm/cmdb/config-items Create a configuration item.
Auth: Bearer token · itsm.create
Request Body
{
"name": "Mail Server 01",
"ciType": "server",
"status": "active",
"environment": "production",
"owner": "IT Ops",
"description": "Primary mail server"
} /api/v1/itsm/cmdb/config-items List configuration items with pagination and filtering.
Auth: Bearer token · itsm.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Items per page |
| search | string | Search by name or description |
| ciType | string | Filter by CI type |
| status | string | Filter by status |
| environment | string | Filter by environment |
/api/v1/itsm/cmdb/config-items/:id Get configuration item by ID (includes relationships and linked incidents).
Auth: Bearer token · itsm.view
/api/v1/itsm/cmdb/config-items/:id Update a configuration item.
Auth: Bearer token · itsm.edit
/api/v1/itsm/cmdb/config-items/:id Delete a configuration item.
Auth: Bearer token · itsm.delete
/api/v1/itsm/cmdb/config-items/:id/relationships Add a relationship to another CI.
Auth: Bearer token · itsm.edit
Request Body
{
"relatedItemId": 2,
"relationshipType": "depends_on"
} /api/v1/itsm/cmdb/config-items/:id/relationships/:relId Remove a CI relationship.
Auth: Bearer token · itsm.edit
/api/v1/itsm/cmdb/config-items/:id/link-incident Link an incident to this configuration item.
Auth: Bearer token · itsm.edit
Request Body
{
"incidentId": 5
}