API Documentation
Introduction and Overview
What is this API?
This API is a comprehensive platform that manages IT services, incidents, changes, and assets within an organization. It provides programmatic access to core functionality, enabling integration with chatbots, automated workflows, and custom applications.
API Overview
- Host:
your-api-host.com - Base Path:
/api/v1 - Protocol:HTTPS only
- Authentication:API Key Management (subscription keys required)
What You Can Do With This API
- Create and manage incidents(IT support tickets)
- Search and retrieve knowledge base articles
- Access asset informationfrom the Configuration Management Database (CMDB)
- Manage change requestsand their lifecycle
- Retrieve supporting data(users, categories, operators, etc.)
Understanding Core Concepts
Core Entities and Their Relationships
Key Terminology
| Term | Description | Example |
|---|---|---|
| Caller | The person who reports an issue | John Doe reporting a broken laptop |
| Incident | A support ticket for an IT problem | "Email not working" ticket |
| Operator | IT support staff member | Sarah from the Help Desk team |
| Operator Group | IT support team | "1st Line Support", "Network Team" |
| Category/Subcategory | Classification system for tickets | Hardware > Laptop, Software > Email |
| Priority/Urgency/Impact | Ticket severity indicators | P1 (Critical), P5 (Low priority) |
| Processing Status | Where the ticket is in its lifecycle | New, In Progress, Resolved, Closed |
| Change | Planned modification to IT systems | "Upgrade email server on Sunday" |
| Asset | IT equipment or software in CMDB | Laptop ABC123, Windows Server XYZ |
Typical Incident Lifecycle
Getting Started
Authentication Setup
You'll need API Management credentials. All requests require these headers:
Content-Type: application/json
Access-Control-Allow-Origin: *
Accept-Encoding: gzip, deflate, brYour First API Call - Find a Person
Before creating tickets, you need to find user IDs:
// Find a user by name
const response = await fetch('/api/persons?query=dynamicName=="John Doe"', {
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Accept-Encoding': 'gzip, deflate, br'
}
});
const persons = await response.json();
console.log(persons[0].id); // Use this ID when creating ticketsUnderstanding Dynamic Dropdowns
This platform is highly configurable. Each organization customizes their instance with their own categories, operator groups, priorities, and call types.
What This Means for Integration:
// ❌ WRONG - These IDs won't work in your environment
const ticketData = {
category: { id: "12345-hardware" }, // Your org might not have this
operatorGroup: { id: "67890-helpdesk" } // Different ID in your instance
};// ✅ CORRECT - Always fetch current options first
const categories = await getDropdownOptions('/api/categories/parent');
const operatorGroups = await getDropdownOptions('/api/operatorgroups');
const ticketData = {
category: { id: categories.find(c => c.name === "Hardware").id },
operatorGroup: { id: operatorGroups.find(g => g.groupName === "IT Support").id }
};Why This Approach is Essential:
- Configuration Changes:Admins add/remove/rename categories regularly
- Environment Differences:Dev, test, and prod environments have different IDs
- Organization Differences:Every company's setup is configured differently
- API Failures:Using invalid IDs results in 400 Bad Request errors
API Reference
Essential Endpoints for Getting Started
1. Find Users (Required for ticket creation)
/api/persons?query=dynamicName=="[Full Name]"Purpose:Get user ID needed for creating tickets
Returns:User object with id, dynamicName, email
2. Get Dropdown Options (Required for ticket creation)
/api/categories/parentGet categories for ticket classification
/api/categories/subGet subcategories
/api/incidents/call_typesGet call types (incident, service request, etc.)
/api/operatorgroups?fields=id,groupName&page_size=100Get operator groups (which team should handle this?)
3. Create Incident Ticket
/api/incidentsPurpose:Create a new support ticket
Requires:Caller ID + all the dropdown IDs from step 2
4. Search Knowledge Base
/api/knowledgeItems/search?query=[search terms]&lang=en&status=activePurpose:Find help articles and solutions
Contact Information
Support Team:Technical Support Team
Email:support@365devnet.eu
Website:www.365devnet.eu
For technical support and integration assistance, please contact our support team with specific endpoint details and error information.