IT Glue Configurations Management
Overview
Configurations in IT Glue represent trackable assets such as servers, workstations, network devices, printers, and more. They serve as the central repository for asset documentation, enabling technicians to quickly find device information, network details, warranty status, and related documentation.
Key Concepts
Configuration Types
Configuration types classify assets at the highest level:
| Type | Description | Examples | |------|-------------|----------| | Server | Physical or virtual servers | Domain controllers, file servers, application servers | | Workstation | End-user devices | Desktops, laptops | | Network Device | Network infrastructure | Routers, switches, firewalls, access points | | Printer | Print devices | Network printers, multifunction devices | | Mobile Device | Portable devices | Tablets, phones | | Domain | Internet domains | Primary domains, subdomains | | SSL Certificate | Security certificates | Web certificates, code signing | | Cloud Service | Cloud subscriptions | Microsoft 365, AWS, Azure | | Software | Software licenses | Application licenses | | Other | Miscellaneous | UPS, cameras, IoT devices |
Configuration Statuses
| Status | Description | Business Logic | |--------|-------------|----------------| | Active | Currently in use | Standard operational state | | Inactive | Not currently in use | Spare or standby equipment | | Decommissioned | End of life | Historical record only | | Missing | Cannot locate | Requires investigation |
Configuration Interfaces
Network interfaces associated with a configuration:
Configuration: DC-01 (Server)
├── Interface: Ethernet0 (192.168.1.10, AA:BB:CC:DD:EE:01)
├── Interface: Ethernet1 (10.0.0.10, AA:BB:CC:DD:EE:02)
└── Interface: iLO (192.168.100.10, AA:BB:CC:DD:EE:03)
Field Reference
Core Identification Fields
| Field | Type | Required | Description | |-------|------|----------|-------------| | id | integer | System | Auto-generated unique identifier | | organization-id | integer | Yes | Parent organization | | name | string | Yes | Display name | | hostname | string | No | Network hostname | | configuration-type-id | integer | No | Type classification | | configuration-status-id | integer | No | Status classification |
Hardware Fields
| Field | Type | Description | |-------|------|-------------| | manufacturer-id | integer | Manufacturer reference | | model-id | integer | Model reference | | serial-number | string | Serial number | | asset-tag | string | Internal asset tag |
Network Fields
| Field | Type | Description | |-------|------|-------------| | primary-ip | string | Primary IP address | | mac-address | string | Primary MAC address | | default-gateway | string | Default gateway | | installed-by | string | Installer name |
Lifecycle Fields
| Field | Type | Description | |-------|------|-------------| | purchased-at | date | Purchase date | | installed-at | date | Installation date | | warranty-expires-at | date | Warranty expiration |
Documentation Fields
| Field | Type | Description | |-------|------|-------------| | notes | string | Detailed notes (HTML) | | operating-system-notes | string | OS-specific notes |
PSA Integration Fields
| Field | Type | Description | |-------|------|-------------| | psa-id | string | PSA configuration item ID | | psa-integration-type | string | PSA platform type | | rmm-id | string | RMM agent/device ID | | rmm-integration-type | string | RMM platform type |
API Patterns
List Configurations
GET /configurations
x-api-key: YOUR_API_KEY
Content-Type: application/vnd.api+json
By Organization:
GET /organizations/123/relationships/configurations
With Filters:
GET /configurations?filter[organization-id]=123&filter[configuration-type-id]=456&filter[configuration-status-id]=1
With Pagination:
GET /configurations?page[size]=100&page[number]=1&sort=name
Get Single Configuration
GET /configurations/789
x-api-key: YOUR_API_KEY
With Includes:
GET /configurations/789?include=organization,configuration-interfaces,related-items
Create Configuration
POST /configurations
Content-Type: application/vnd.api+json
x-api-key: YOUR_API_KEY
Server Example:
{
"data": {
"type": "configurations",
"attributes": {
"organization-id": 123456,
"name": "DC-01",
"hostname": "dc-01.acme.local",
"configuration-type-id": 12,
"configuration-status-id": 1,
"primary-ip": "192.168.1.10",
"serial-number": "ABC123456789",
"notes": "<p>Primary domain controller for Acme Corporation</p>"
}
}
}
Workstation Example:
{
"data": {
"type": "configurations",
"attributes": {
"organization-id": 123456,
"name": "WS-JSMITH",
"hostname": "ws-jsmith.acme.local",
"configuration-type-id": 15,
"configuration-status-id": 1,
"primary-ip": "192.168.1.150",
"asset-tag": "ACME-WS-0042",
"notes": "<p>User: John Smith (Sales)</p>"
}
}
}
Update Configuration
PATCH /configurations/789
Content-Type: application/vnd.api+json
x-api-key: YOUR_API_KEY
{
"data": {
"type": "configurations",
"attributes": {
"primary-ip": "192.168.1.20",
"notes": "<p>Updated IP after network migration</p>"
}
}
}
Delete Configuration
DELETE /configurations/789
x-api-key: YOUR_API_KEY
Search by Various Fields
By Hostname:
GET /configurations?filter[hostname]=dc-01
By Serial Number:
GET /configurations?filter[serial-number]=ABC123
By IP Address:
GET /configurations?filter[primary-ip]=192.168.1.10
By PSA ID:
GET /configurations?filter[psa-id]=54321
Configuration Interfaces
List Interfaces
GET /configurations/789/relationships/configuration-interfaces
Create Interface
POST /configuration-interfaces
Content-Type: application/vnd.api+json
{
"data": {
"type": "configuration-interfaces",
"attributes": {
"configuration-id": 789,
"name": "Ethernet0",
"ip-address": "192.168.1.10",
"mac-address": "AA:BB:CC:DD:EE:FF",
"primary": true,
"notes": "Primary LAN interface"
}
}
}
Related Items
List Related Items
GET /configurations/789/relationships/related-items
Create Relationship
POST /related-items
Content-Type: application/vnd.api+json
{
"data": {
"type": "related-items",
"attributes": {
"resource-id": 789,
"resource-type": "Configuration",
"destination-id": 456,
"destination-type": "Configuration",
"notes": "VM hosted on this hypervisor"
}
}
}
Common Workflows
Asset Onboarding
async function onboardAsset(orgId, assetData) {
// Step 1: Create configuration
const config = await createConfiguration({
'organization-id': orgId,
name: assetData.name,
hostname: assetData.hostname,
'configuration-type-id': assetData.typeId,
'configuration-status-id': ACTIVE_STATUS,
'primary-ip': assetData.ip,
'serial-number': assetData.serialNumber,
'asset-tag': assetData.assetTag,
'purchased-at': assetData.purchaseDate,
'warranty-expires-at': assetData.warrantyDate,
notes: assetData.notes
});
// Step 2: Add network interfaces
for (const iface of assetData.interfaces || []) {
await createInterface({
'configuration-id': config.id,
name: iface.name,
'ip-address': iface.ip,
'mac-address': iface.mac,
primary: iface.primary
});
}
// Step 3: Create relationships if applicable
if (assetData.hostServer) {
await createRelatedItem({
'resource-id': config.id,
'r