Inventory Device Name Setting
The Inventory Device Name Setting API endpoints
provide complete CRUD operations for managing device-specificmanage configuration parametersandforsettings.specific devices in your inventory. These endpoints allow you to retrieve,update,modify, andmodifyupdate device-specific settingsforby device name, making it easy to configure individual devicesbywithout needing to know theirname,internalenabling granular control over device configurations in your inventory management system.IDs.
Base URL: https://control.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The Inventory Device Name Setting API categoryprovides enablesa comprehensivestreamlined managementway ofto device-specificmanage configuration settingsparameters withinfor devices in your inventory system. ThisUnlike APItraditional isdevice designedmanagement that requires internal device IDs, these endpoints use human-readable device names, making them particularly useful for scenariosautomation wherescripts, youconfiguration needmanagement tools, and administrative interfaces.
Key Concepts:
Common Integration Scenarios:
TheseThe endpointsAPI worksupports togetherboth complete updates (PUT) and partial modifications (PATCH), with built-in change tracking and pending status monitoring to provideensure aconfiguration completechanges deviceare settingsproperly management workflow: use the GET endpoint to retrieve current settings and filter by various parameters, then use PUT or PATCH endpoints to update configurations as needed. The filtering capabilities allow you to find specific settings by parameter names, variable names, or check for pending configurations that require attention.
Common use cases include managing network device configurations, updating firmware settings, configuring device-specific operational parameters, and maintaining compliancesynchronized with organizationalphysical policies across your device inventory.devices.
Endpoints
GET /inventory_device_name_setting/
Description: Retrieves a paginated list of deviceconfiguration settings for adevices, specifiedfiltered parentby device.device name and optionally by parameter characteristics. This endpoint supportsis comprehensiveessential filteringfor optionsauditing todevice helpconfigurations, youbulk find specific settings based on parameter characteristics,operations, and cansynchronization identify pending configuration changes that haven't been applied yet.processes.
Use Cases:
- Audit
currentall configuration settings for a specific device
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_name_setting/?parent__name=router-01main-office¶meter__name=bandwidth_limithostname&limit=50
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent__name | string | query | Yes | The name of the |
| parameter_id | string | query | No | Filter |
| parameter__variable_name | string | query | No | Filter settings by |
| parameter__name | string | query | No | Filter settings by |
| parameter__short_name | string | query | No | Filter settings by |
| limit | integer | query | No | Number of results |
| offset | integer | query | No | |
| pending | boolean | query | No | Filter to show only |
cURL Example:
curl -X GET "https://control.zequenze.com/api/v1/inventory_device_name_setting/?parent__name=network-switch-01router-branch-001¶meter__name=port_configparameter__variable_name=wifi_enabled&limit=25" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"count": 15,
"next": "https://control.zequenze.com/api/v1/inventory_device_name_setting/?limit=25&offset=25&parent__name=network-switch-01"router-branch-001",
"previous": null,
"results": [
{
"id": 1247,12847,
"parent_id": "dev_001",
"parent__name": "network-switch-01",
"parameter_id": "port_config_001"router-branch-001",
"parameter": {
"id": "port_config_001",45,
"name": "PortWiFi Configuration"Network Enabled",
"short_name": "port_cfg"wifi-enabled",
"variable_name": "PORT_CONFIG"wifi_enabled",
"data_type"type": "string"boolean",
"position": 10,
"required": true,
"read_only": false,
"metric": false,
"group": {
"id": 5,
"name": "Wireless Configuration",
"service": "networking",
"discovery_group": "wireless",
"title": "WiFi Settings"
}
},
"value": "auto_negotiate"true",
"created": "2024-01-15T09:30:00Z",
"last_change": "2024-01-20T14:22:00Z",
"pending": false,
"last_updated": "2024-01-15T14:30:22Z",
"created_at": "2024-01-10T09:15:33Z"false
},
{
"id": 1248,12848,
"parent_id": "dev_001",
"parent__name": "network-switch-01",
"parameter_id": "bandwidth_limit_002"router-branch-001",
"parameter": {
"id": "bandwidth_limit_002",46,
"name": "BandwidthNetwork Limit"SSID",
"short_name": "bw_limit"ssid",
"variable_name": "BANDWIDTH_LIMIT"wifi_ssid",
"data_type"type": "integer"string",
"position": 15,
"required": true,
"read_only": false,
"metric": false,
"group": {
"id": 5,
"name": "Wireless Configuration",
"service": "networking",
"discovery_group": "wireless",
"title": "WiFi Settings"
}
},
"value": "1000"BranchOffice-WiFi",
"created": "2024-01-15T09:30:00Z",
"last_change": "2024-01-18T11:45:00Z",
"pending": true,
"last_updated": "2024-01-16T11:45:10Z",
"created_at": "2024-01-10T09:15:33Z"true
}
]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns paginated list of device settings |
| 400 | Bad Request - Missing required parent__name parameter |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device with specified name does not exist |
PUT /inventory_device_name_setting/{parent__name}/
Description: Performs a complete update of device settingssettings, forreplacing all configurable parameters with the specifiedprovided parent device.values. This endpoint replaces the entire settings configuration, making itis ideal for bulk updates or when you need to ensure a specificfull configuration statedeployments, acrossdevice allprovisioning, parameters.and configuration restoration scenarios.
Use Cases:
ApplyDeploystandardizedcompleteconfigurationdevicetemplatesconfigurationstoduringdevicesinitial setupPerform bulk updates of multipleRestore devicesettingsconfigurationssimultaneouslyfrom backup
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_name_setting/router-primary-01/branch-001/
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent__name | string | path | Yes | The name of the device to update settings for |
| data | body | Yes |
cURL Example:
curl -X PUT "https://control.zequenze.com/api/v1/inventory_device_name_setting/router-primary-01/branch-001/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"settings": [
{
"parameter_id"wifi_enabled": "max_connections"true",
"value"wifi_ssid": "500"
}BranchOffice-Secure",
{
"parameter_id"admin_timeout": "timeout_seconds"1800",
"value"backup_enabled": "30"
}true",
{
"parameter_id"log_level": "logging_level",
"value": "INFO"
}
]info"
}'
Example Response:
{
"id": 12847,
"parent_id": "dev_001",
"parent__name": "router-primary-01"branch-001",
"updated_settings"parameter": 3,
"settings": [ {
"id": 2156,45,
"parameter_id"name": "max_connections"WiFi Network Enabled",
"parameter_name"short_name": "Maximumwifi-enabled",
Connections""variable_name": "wifi_enabled",
"type": "boolean",
"position": 10,
"required": true,
"read_only": false,
"metric": false,
"group": {
"id": 5,
"name": "Wireless Configuration",
"service": "networking",
"discovery_group": "wireless",
"title": "WiFi Settings"
}
},
"value": "500"true",
"previous_value"created": "250"2024-01-15T09:30:00Z",
"last_change": "2024-01-22T16:30:00Z",
"pending": true,
"updated_at": "2024-01-16T15:22:45Z"
},
{
"id": 2157,
"parameter_id": "timeout_seconds",
"parameter_name": "Connection Timeout",
"value": "30",
"previous_value": "60",
"pending": true,
"updated_at": "2024-01-16T15:22:45Z"
},
{
"id": 2158,
"parameter_id": "logging_level",
"parameter_name": "Logging Level",
"value": "INFO",
"previous_value": "DEBUG",
"pending": true,
"updated_at": "2024-01-16T15:22:45Z"
}
],
"message": "Device settings updated successfully. Changes are pending deployment."true
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - |
| 400 | Bad Request - Invalid configuration data |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device with specified name does not |
| 422 | Unprocessable Entity - |
PATCH /inventory_device_name_setting/{parent__name}/
Description: Performs a partial updatesupdate onof device settingssettings, formodifying only the specified parentparameters device.while leaving others unchanged. This endpoint allowsis you to modify specific settings without affecting other configured parameters, making it idealperfect for targeted configuration changeschanges, incremental updates, and incrementalautomated updates.configuration adjustments.
Use Cases:
- Update
individualspecificdevice parameterssettings without affectingother settingsothers - Apply configuration
patcheschangesor hotfixes to specific settings
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_name_setting/firewall-edge-02/router-branch-001/
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent__name | string | path | Yes | The name of the device to partially update settings for |
| data | body | Yes |
cURL Example:
curl -X PATCH "https://control.zequenze.com/api/v1/inventory_device_name_setting/firewall-edge-02/router-branch-001/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"settings": [
{
"parameter_id"wifi_ssid": "firewall_rule_timeout"NewBranchOffice-WiFi",
"value"log_level": "3600"
},
{
"parameter_id": "max_concurrent_sessions",
"value": "10000"
}
]debug"
}'
Example Response:
{
"id": 12848,
"parent_id": "dev_001",
"parent__name": "firewall-edge-02",
"updated_settings": 2,
"settings": [
{
"id": 3401,
"parameter_id": "firewall_rule_timeout"router-branch-001",
"parameter": {
"id": 46,
"name": "FirewallNetwork RuleSSID",
Timeout""short_name": "ssid",
"variable_name": "RULE_TIMEOUT"wifi_ssid",
"data_type"type": "integer"string",
"position": 15,
"required": true,
"read_only": false,
"metric": false,
"group": {
"id": 5,
"name": "Wireless Configuration",
"service": "networking",
"discovery_group": "wireless",
"title": "WiFi Settings"
}
},
"value": "3600"NewBranchOffice-WiFi",
"previous_value"created": "1800"2024-01-15T09:30:00Z",
"last_change": "2024-01-22T17:15:00Z",
"pending": true,
"updated_at": "2024-01-16T16:05:12Z"
},
{
"id": 3402,
"parameter_id": "max_concurrent_sessions",
"parameter": {
"name": "Maximum Concurrent Sessions",
"variable_name": "MAX_SESSIONS",
"data_type": "integer"
},
"value": "10000",
"previous_value": "5000",
"pending": true,
"updated_at": "2024-01-16T16:05:12Z"
}
],
"unchanged_settings": 23,
"message": "Selected device settings updated successfully. Other settings remain unchanged."true
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device |
| 422 | Unprocessable Entity - |
Common Use Cases
Use Case 1: Device Configuration Compliance Audit
Retrieve all deviceconfiguration settings for a device to perform compliance reportingchecking andor identifygenerate anyconfiguration configurations that don't meet organizational standards.reports. Use the GET endpoint with filtering to checkfocus on specific parameter types across multiple devices.groups.
Use Case 2: EmergencyBulk Configuration UpdatesDeployment
WhenDeploy securitystandardized vulnerabilitiesconfigurations requireacross immediatemultiple configurationdevices changes, useusing the PATCHPUT endpoint toin quicklya updateloop, specificensuring security-relatedall parametersdevices withoutin disruptinga otherlocation deviceor role have identical baseline settings.
Use Case 3: DeviceAutomated TemplateConfiguration DeploymentUpdates
ApplyMonitor standardizeddevice metrics and automatically adjust configuration templates to new devicesparameters using the PUTPATCH endpoint towhen ensurethresholds consistentare settingsexceeded acrossor yourconditions infrastructure, then monitor with GET requests to verify successful deployment.change.
Use Case 4: PerformanceConfiguration OptimizationBackup and Restore
MonitorExport complete device performanceconfigurations andusing usethe PATCHGET requestsendpoint tofor adjustbackup, specificthen parametersrestore likethem connectionusing limits,PUT timeouts,during disaster recovery or bufferdevice sizesreplacement based on real-world usage patterns and performance metrics.scenarios.
Use Case 5: StagedGradual ConfigurationSetting RolloutsUpdates
UseImplement phased configuration rollouts by using PATCH to update specific settings across device groups, monitoring the pending parameter filtering in GET requestsstatus to track configurationensure changes thatare haven'tapplied been deployed yet, allowing for staged rollouts and rollback capabilities.successfully.
Best Practices
-
AlwaysUsefilterDescriptivebyDeviceparentNames: Since these endpoints rely on devicenamenames,whenensureusingyourthenamingGETconventionendpointisto avoid retrieving unnecessary dataconsistent andimprovemeaningfulresponsefortimeseasier automation and maintenance. -
UseMonitorPATCHPendingforStatus:targetedAlwaysupdatescheckandthePUTpendingonlyfieldwheninyou needresponses toreplaceunderstandthe entire configuration to minimize the risk of unintended changes
Implement Proper Error Handling: Device configuration changes can fail due to hardware constraints, network issues, or validation rules. Implement retry logic and proper error handling for validationproduction errorssystems.
Leverage Parameter Filtering: Use paginationparameter withfiltering appropriate(by limitname, valuesvariable_name, whenor retrievingtype) settingsto forfocus deviceson withspecific manyconfiguration configuredareas, parametersimproving performance and reducing complexity in large-scale deployments.
Batch Related Changes: When updating multiple related settings, use PATCH with multiple parameters in a single request rather than making individual calls to maintain configuration consistency and reduce API overhead.
Validate Configuration Data: Always validate parameter IDstypes and values against the parameter definitions before making update requests to avoid creatingunnecessary orphanedAPI orerrors invalidand configurations