Complete API Reference Guide
All /api/* endpoints require an API key sent via the x-api-key header.
curl -H "x-api-key: YOUR_KEY" https://your-host/api/hr/workers
Add header: x-api-key: YOUR_KEY
Add the x-api-key header to your HTTP requests. Most automation platforms support custom headers in their HTTP activities.
Non-API routes (/health, static files) do not require authentication. If API_KEY is not set on the server, authentication is bypassed (local dev mode).
Employee records, organizational hierarchy, and workforce analytics
The HR Workers endpoints enable automation of employee data management, supporting use cases like:
Retrieve all employee records in the system with complete profile information
| Field | Type | Description |
|---|---|---|
| id | UUID | Unique identifier for the employee |
| descriptor | String | Employee's full name |
| primaryWorkEmail | String | Corporate email address |
| isActive | Boolean | Employment status (active/inactive) |
| department | String | Department name (R&D, Sales, Marketing, etc.) |
| primaryJob | Object | Job details including title, level, and salary |
| managerId | UUID | Direct manager's employee ID |
| location | String | Office location or remote status |
[
{
"id": "b5f3d421-8c9a-4e2b-a1d3-7f8e9c4b2a6d",
"descriptor": "Sarah Johnson",
"primaryWorkEmail": "sarah.johnson@company.com",
"isActive": true,
"managerId": "a2c4e6f8-1b3d-5a7c-9e2f-4d6b8c1a3e5f",
"department": "R&D",
"supervisoryOrgId": "org_RD",
"primaryJob": {
"title": "Senior Engineer",
"department": "R&D",
"level": "Senior",
"salary": 95000
},
"startDate": "2023-03-15",
"location": "San Francisco"
}
]
Use Case: Build an employee directory bot that retrieves specific employee information based on natural language queries like "Find all senior engineers in R&D" or "Show me employees who report to John Smith"
Get only active employees (returns all workers - filter by isActive=true client-side)
This endpoint demonstrates client-side filtering. Use a Filter Data Table activity, LINQ expression, or equivalent to filter where isActive = true. This simulates real-world scenarios where API endpoints return more data than needed.
Retrieve detailed information for a specific employee by their ID
| Parameter | Type | Description |
|---|---|---|
| id | UUID | Employee's unique identifier |
Get all direct reports for a manager (returns all workers - filter by managerId client-side)
Performance reviews, ratings, goals tracking, and employee development
Performance management endpoints support:
Retrieve all performance review records for the current period
| Field | Type | Description |
|---|---|---|
| workerId | UUID | Employee being reviewed |
| period | String | Review period (e.g., "2025-Q2") |
| rating | String | Performance rating (Outstanding/Exceeds/Meets/Below) |
| score | Float | Numerical score (2.5-5.0) |
| goalsCompleted | Integer | Number of completed goals |
| nextReviewDate | Date | Next scheduled review date |
New employee onboarding tracking, equipment assignment, and progress monitoring
Onboarding endpoints enable:
Retrieve all employee onboarding records with progress tracking
| Field | Type | Description |
|---|---|---|
| workerId | UUID | New employee's ID |
| status | String | Onboarding status (pending/in_progress/completed) |
| completedTasks | Integer | Number of completed onboarding tasks |
| totalTasks | Integer | Total number of onboarding tasks |
| equipmentAssigned | Boolean | Whether equipment has been assigned |
| accessGranted | Boolean | System access provisioning status |
| assignedBuddy | UUID | Assigned buddy/mentor employee ID |
Combine this with the /hr/workers endpoint to create a comprehensive onboarding dashboard that shows employee names, departments, and progress percentages. Calculate risk scores based on days in onboarding and completion rates.
Invoice processing, approval workflows, vendor payments, and financial controls
Invoice management endpoints support:
Retrieve all invoices with vendor, amount, and approval status information
| Field | Type | Description |
|---|---|---|
| id | String | Invoice number (INV-XXXXX format) |
| vendorName | String | Vendor/supplier name |
| amount | Float | Invoice amount |
| status | String | Status (pending/approved/paid/rejected/overdue) |
| dueDate | Date | Payment due date |
| category | String | Expense category |
Approve an invoice for payment processing
{
"status": "approved",
"approvedBy": "manager-id",
"approvalNotes": "Verified against PO-12345"
}
Use Case: Create an intelligent invoice approval bot that routes invoices based on amount thresholds: Under $5,000 (auto-approve), $5,000-$25,000 (manager approval), Over $25,000 (C-level approval)
Customer accounts, health scores, relationship tracking, and churn prevention
Customer management endpoints enable:
Retrieve all customer accounts with health scores and contract information
| Field | Type | Description |
|---|---|---|
| id | String | Customer ID (CUST-XXXXX format) |
| companyName | String | Customer company name |
| status | String | Status (active/prospect/churned/at_risk) |
| tier | String | Customer tier (Enterprise/Mid-Market/SMB) |
| healthScore | Integer | Customer health score (1-100) |
| contractValue | Float | Annual contract value |
| renewalDate | Date | Contract renewal date |
Combine customer data with support tickets (/crm/support/tickets) and relationship metrics (/analytics/customer/relationships) to calculate a comprehensive customer health score that predicts churn risk.
Device inventory, status monitoring, assignments, and remote management
IoT device endpoints support:
Retrieve all IoT devices with status, location, and maintenance information
| Field | Type | Description |
|---|---|---|
| id | String | Device ID (DEV-XXXXXX format) |
| type | String | Device type (sensor/camera/detector) |
| status | String | Status (online/offline/maintenance) |
| battery | Integer | Battery level percentage |
| location | String | Physical location |
| nextMaintenance | Date | Next scheduled maintenance |
Get real-time telemetry data from a specific device (dynamically generated)
Use Case: Build a predictive maintenance workflow that monitors device battery levels and telemetry data, automatically creating maintenance tickets when batteries drop below 20% or anomalies are detected
Business intelligence, KPI dashboards, and executive reporting
Reporting endpoints provide:
Get comprehensive employee analytics by department including headcount, tenure, and turnover
| Field | Type | Description |
|---|---|---|
| department | String | Department name |
| headcount | Integer | Total employees in department |
| activeEmployees | Integer | Active employee count |
| avgTenure | Float | Average employee tenure in years |
| avgSalary | Float | Average department salary |
| turnoverRate | Float | Annual turnover percentage |
Process automation triggers, workflow monitoring, and orchestration
Workflow endpoints enable:
Get all workflow automation triggers with execution metrics
| Field | Type | Description |
|---|---|---|
| workflowName | String | Workflow process name |
| triggerType | String | Type (manual/scheduled/event-driven) |
| status | String | Status (active/paused/error) |
| successRate | Float | Success percentage |
| avgExecutionTime | Integer | Average runtime in seconds |
Use this endpoint to create a workflow health monitoring dashboard that alerts when success rates drop below 90% or execution times exceed thresholds, enabling proactive automation maintenance.
IT incident tracking, assignment, escalation, and resolution workflows. Open ITSM Console →
The ITSM Incident endpoints enable automation of IT support workflows, including:
Retrieve all incidents in the ITSM system with full details including caller info, assignment, SLA targets, and work notes
Get specific incident details by ID (e.g., INC-001)
General-purpose partial update for any incident field. Read-only fields (id, createdAt, notes, attachments) are ignored. Priority auto-recalculates if impact or urgency change.
{
"status": "In Progress",
"impact": "High",
"urgency": 2,
"assignmentGroup": "Network Operations",
"assignedTo": "Jane Doe",
"description": "Updated description with new findings"
}
{
"message": "Incident INC-001 updated successfully",
"incident": { "..." },
"changes": [
{ "field": "status", "from": "New", "to": "In Progress" },
{ "field": "impact", "from": 3, "to": 1 },
{ "field": "priority", "from": "P3", "to": "P1" }
]
}
Note: Accepts string values ("High", "Medium", "Low") or numeric (1–4) for impact and urgency. Any subset of fields can be sent — only provided fields are updated.
Create a new incident with auto-priority calculation from impact and urgency scores
{
"title": "Email service unavailable",
"description": "Users reporting inability to send/receive emails since 9am",
"impact": 2,
"urgency": 1,
"category": "Email",
"callerName": "John Smith",
"callerEmail": "john.smith@acme.com"
}
Update incident status (enforces valid workflow transitions: New → Open → In Progress → Pending → Resolved → Closed)
Add a work note to an incident for tracking investigation progress and communication
Assign incident to a team or technician
Escalate an incident to a higher priority level or management tier
Resolve incident with resolution code and notes
Link an incident to other records (problems, changes, or other incidents) for cross-referencing
Get incident statistics: counts by status/priority, SLA compliance rates, average resolution times
Use Case: Build an intelligent incident triage bot that auto-classifies incoming incidents, searches the knowledge base for matching solutions, and either auto-resolves with KB articles or routes to the appropriate team based on category and skill matching.
Change request lifecycle, CAB approvals, and implementation tracking
Get all change requests with full details including risk assessment, implementation plans, and approval status
Create a new change request (Standard, Normal, or Emergency)
Update the status of a change request (enforces valid workflow transitions)
CAB approve a change request with approver and comments
Reject a change request with reason and comments from a CAB reviewer
Start implementation of an approved change request, transitioning it to active work
Mark a change request as completed after successful implementation
Get change calendar grouped by scheduled date for conflict detection
Get change management statistics: counts by type/status, approval rates, and success metrics
Use Case: Automate change approval workflows by checking policies, risk levels, and scheduling conflicts. Auto-approve low-risk standard changes and route high-risk changes to CAB for approval.
Service request submission, approval workflows, and fulfillment tracking with 12 catalog items
Get all service requests with full lifecycle details (submission, approval, fulfillment, closure)
Create a new service request from the catalog (laptops, software, VPN access, peripherals, etc.)
Update service request status (enforces valid workflow transitions)
Approve a pending service request
Reject a service request with reason and comments
Mark a service request as fulfilled after completing the requested work
Assign a service request to a team or technician for fulfillment
Add a work note to a service request for tracking progress and communication
Get service request statistics: counts by status/category, average fulfillment times
Get all service requests that are waiting for approval
Get all 12 service catalog items with form fields, approval requirements, fulfillment times, and costs
Use Case: Build a self-service request automation that reads the service catalog, creates requests with proper form data, routes for approval, and tracks fulfillment status.
Root cause analysis, known error tracking, and incident-to-problem linking
Get all problem records with root cause analysis details and linked incidents
Create a new problem record for root cause investigation
Update problem status (enforces valid workflow transitions)
Update the root cause analysis for a problem record
Link one or more incidents to a problem record for tracking related occurrences. Supports multiple input formats for flexibility.
// Option 1: Array of IDs (preferred for multiple) { "incidentIds": ["INC-001", "INC-002", "INC-003"] } // Option 2: Semicolon-separated string { "incidentIds": "INC-001; INC-002; INC-003" } // Option 3: Single ID (backward compatible) { "incidentId": "INC-001" } // Option 4: Comma/semicolon-separated via incidentId { "incidentId": "INC-001, INC-002; INC-003" }
{
"message": "Linked 3 incident(s) to problem PRB-001",
"problem": { "..." },
"linked": ["INC-001", "INC-002", "INC-003"],
"linkedCount": 3,
"notFound": []
}
Unlink an incident from a problem record. Also clears the incident's back-reference to this problem.
{ "incidentId": "INC-001" }
{
"success": true,
"message": "INC-001 unlinked from PRB-001",
"data": { "..." }
}
Get all known errors with documented workarounds for self-service resolution
Use Case: Automate problem identification by analyzing recurring incidents, creating problem records, linking related incidents, and tracking root cause analysis through to resolution.
Configuration management database, asset lifecycle tracking, and inventory management
Get all CMDB assets (workstations, servers, network devices, printers, mobile devices)
Create a new asset record in the CMDB
Update asset status (e.g., Active, In Maintenance, Retired, Decommissioned)
Filter assets by type (e.g., workstation, server, network, printer, mobile)
Get the change history and audit trail for a specific asset
Get asset statistics: counts by type/status, warranty expiration summaries
Use Case: Automate asset lifecycle management by tracking inventory, monitoring warranty expirations, and linking assets to incidents for impact analysis.
Knowledge article management, search, publishing workflows, and usage analytics
Get all knowledge base articles for context grounding and self-service automation
Create a new knowledge base article (draft status by default)
Publish a draft knowledge base article, making it available for search and self-service
Archive an outdated knowledge base article
Mark a knowledge article as helpful (increments helpfulness counter for ranking)
Track a view on a knowledge article (increments view counter for analytics)
Search knowledge base by keyword (searches titles, content, and tags)
Use Case: Build an AI-powered IT support agent that uses knowledge base search for context grounding, checks asset details from the CMDB, and provides intelligent responses to user queries with relevant articles and troubleshooting steps.
Cross-module reporting for incidents, SLA compliance, team performance, changes, and request fulfillment
Get incident summary report with breakdowns by status, priority, category, and trends
Get SLA compliance report with response/resolution metrics and breach analysis
Get team performance report with workload distribution, resolution rates, and response times per team
Get change success rate report with implementation outcomes and rollback statistics
Get request fulfillment report with average fulfillment times, approval rates, and catalog item popularity
Use Case: Build an executive dashboard that aggregates ITSM reports into actionable insights, highlighting SLA breaches, team bottlenecks, and change failure trends for management review.
Audit trail, notification management, runbook execution, dashboard stats, teams, and demo reset
Get aggregate dashboard statistics across all ITSM modules (incidents, changes, requests, assets)
Get recent audit log entries showing all actions performed across ITSM modules
Get audit log entries for a specific target record (e.g., INC-001, CHG-002)
Get audit log entries for a specific actor (user or system) to track their actions
Mark a specific notification as read
Mark all notifications as read in bulk
Execute a runbook (predefined automated procedure) for incident remediation or maintenance tasks
Get support teams, technicians with skills/workload, and IT governance policies
Reset all ITSM demo data back to its initial state (useful for workshop resets between sessions)
Use Case: Build compliance and audit automation that tracks all ITSM changes, monitors notification delivery, and executes runbooks for automated remediation workflows.
Common patterns and integration tips