Inventory Device Serial Setting
The Inventory Device Serial
SettingSettings APIendpointsallowsprovide accessyou to manage configuration parameters and settings for specific devicesinidentifiedyourbyinventory.their serial numbers. These endpointsallowenable you to retrieve, update, and modify device-specificsettingsparameters,usingtrackthependingdevice'schanges,serialandnumbermonitorasconfigurationthestatusprimaryacrossidentifier. Common use cases include reading currentyour deviceconfigurations, updating device parameters, and managing device-specific operational settings.inventory.
Base URL: https://control.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The Device Serial SettingSettings API categoryprovides managesgranular configurationcontrol parameters and operational settings forover individual devicesdevice inconfigurations within your inventory management system. EachThese deviceendpoints isare uniquelydesigned identifiedfor bymanaging itsdevice-specific parameters, configuration values, and settings that are tied to a device's serial number and can have multiple configurable parameters that control various aspects of device behavior and operation.number.
Key Concepts:Capabilities:
-
DeviceParameterSettings:Management:ConfigurationAccess and modify device-specific configuration parametersthatincludingdefinenetworkhowsettings,aoperationaldevice operates
Common UseIntegration Cases:Scenarios:
RetrievingDevicecurrentprovisioning and initial configurationfor a specific devicesetupUpdatingRemote deviceoperationalmanagementparametersand configuration updatesCheckingConfigurationforcompliancependingmonitoringconfigurationandchangesreportingBulk configuration management across device fleets
These endpoints work together to provide complete CRUD operations for device settings, with the GET endpoint for reading configurations and PUT/PATCH endpoints for updating them. The API supports filteringboth byfull variousupdates parameter(PUT) attributesand topartial helpupdates you(PATCH) findfor specificmaximum settingsflexibility quickly.in configuration management workflows.
Endpoints
GET /inventory_device_serial_setting/
Description: Retrieves a paginated list of configuration settings for devices based on their serial number.numbers. This endpoint allows you to query device settings with various filters to find specific parameters or check for pending configuration changes. It'sis essential for monitoringviewing current device configurationsconfigurations, checking parameter values, and ensuringidentifying devicespending arechanges properlyacross configured.your device inventory.
Use Cases:
Retrieve all settings for a specificAudit devicebyconfigurationsserialandnumberparameter values- Check
if a device hasfor pending configuration changes before maintenance windows FindFilter device settings by specificparametersparameterby nametypes orvariable namenamesMonitor deviceGenerate configuration reports for complianceacrossoryour fleetdocumentation
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial_setting/?parent__serial_number=DEV001234ABC123456&pending=trueparameter__name=network_config&limit=5020
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent__serial_number | string | query | Yes | The serial number of the parent device whose settings you want to retrieve |
| parameter_id | string | query | No | Filter by specific parameter ID |
| 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 to return per page (default |
| offset | integer | query | No | |
| pending | boolean | query | No |
cURL Example:
curl -X GET "https://control.zequenze.com/api/v1/inventory_device_serial_setting/?parent__serial_number=DEV001234RTR001234¶meter__variable_name=network_timeout"parameter__name=interface_config&limit=10" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"count": 3,25,
"next": null,"https://control.zequenze.com/api/v1/inventory_device_serial_setting/?limit=10&offset=10&parent__serial_number=RTR001234",
"previous": null,
"results": [
{
"id": 101,1001,
"parent_device_serial"parent_id": "DEV001234"RTR001234",
"parent__name": "Router-Branch-Office-01",
"parameter": {
"id": 45,
"net_timeout"name": "WAN Interface IP Address",
"short_name": "wan-ip",
"variable_name": "network_timeout"wan_interface_ip",
"type": "string",
"position": 1,
"required": true,
"read_only": false,
"metric": false,
"group": {
"id": 3,
"name": "Network Timeout"Configuration",
"short_name"service": "NetTO"routing",
"data_type"discovery_group": "integer"network",
"unit"title": "seconds"Network Settings"
}
},
"current_value"value": "30"192.168.100.1",
"pending_value": "45",
"is_pending": true,
"last_modified": "2024-01-15T14:30:00Z",
"applied_at"created": "2024-01-15T10:15:30:00Z",
"last_change": "2024-01-20T14:22:15Z",
"pending": false
},
{
"id": 102,1002,
"parent_device_serial"parent_id": "DEV001234"RTR001234",
"parent__name": "Router-Branch-Office-01",
"parameter": {
"id": 46,
"auto_backup"name": "DHCP Pool Range",
"short_name": "dhcp-range",
"variable_name": "automatic_backup"dhcp_pool_range",
"type": "string",
"position": 2,
"required": false,
"read_only": false,
"metric": false,
"group": {
"id": 3,
"name": "AutomaticNetwork Backup"Configuration",
"short_name"service": "AutoBak"dhcp",
"data_type"discovery_group": "boolean"network",
"title": "Network Settings"
}
},
"current_value"value": "true"192.168.100.100-192.168.100.200",
"pending_value": null,
"is_pending": false,
"last_modified"created": "2024-01-14T09:20:15T10:30:00Z",
"applied_at"last_change": "2024-01-14T09:20:00Z"18T09:15:30Z",
"pending": true
}
]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns |
| 400 | Bad Request - Missing required parent__serial_number parameter |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - Device with specified serial number not found |
PUT /inventory_device_serial_setting/{parent__serial_number}/
Description: Performs a complete update of device settings for the specified device serial number. This endpoint replaces allthe existingentire settingsconfiguration set with the provided data, making it ideal for bulk configuration data. Use this method when you need to set multiple parameters at onceupdates or perform a complete configurationdevice overwrite.reconfiguration scenarios.
Use Cases:
- Apply
acomplete configurationtemplatetemplates toadevices
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial_setting/DEV001234/RTR001234/
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent__serial_number | string | path | Yes | |
| data | body | Yes |
cURL Example:
curl -X PUT "https://control.zequenze.com/api/v1/inventory_device_serial_setting/DEV001234/RTR001234/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"settings": [
{
"parameter_id": "network_timeout",45,
"value": "60"192.168.100.10"
},
{
"parameter_id": "automatic_backup",46,
"value": "true"
},
{
"parameter_id": "log_level",
"value": "info"192.168.100.50-192.168.100.150"
}
]
}'
Example Response:
{
"device_serial"id": 1001,
"parent_id": "DEV001234"RTR001234",
"updated_settings"parent__name": ["Router-Branch-Office-01",
"parameter": {
"parameter_id"id": 45,
"name": "network_timeout"WAN Interface IP Address",
"parameter_name"short_name": "wan-ip",
"variable_name": "wan_interface_ip",
"type": "string",
"position": 1,
"required": true,
"read_only": false,
"metric": false,
"group": {
"id": 3,
"name": "Network Timeout"Configuration",
"old_value"service": "30"routing",
"new_value"discovery_group": "60"network",
"status"title": "pending"Network Settings"
}
},
{
"parameter_id"value": "automatic_backup"192.168.100.10",
"parameter_name": "Automatic Backup",
"old_value": "true",
"new_value": "true",
"status": "unchanged"
},
{
"parameter_id": "log_level",
"parameter_name": "Logging Level",
"old_value": "debug",
"new_value": "info",
"status": "pending"
}
],
"pending_changes": 2,
"updated_at"created": "2024-01-15T15:15T10:30:00Z",
"last_change": "2024-01-22T11:45:00Z"20Z",
"pending": true
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - Device with specified serial number not found |
| 422 | Unprocessable Entity - |
PATCH /inventory_device_serial_setting/{parent__serial_number}/
Description: Performs a partial update of device settingssettings, for the specified device serial number. This endpoint allowsallowing you to updatemodify specific settingsconfiguration parameters without affecting other existingsettings. configurations.This Useendpoint thisis methodperfect whenfor youtargeted onlyconfiguration needchanges and incremental updates to modifydevice a few specific parameters while leaving the rest unchanged.parameters.
Use Cases:
- Update
a single device parameter
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial_setting/DEV001234/RTR001234/
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent__serial_number | string | path | Yes | |
| data | body | Yes |
cURL Example:
curl -X PATCH "https://control.zequenze.com/api/v1/inventory_device_serial_setting/DEV001234/RTR001234/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"settings": [
{
"parameter_id": "network_timeout",46,
"value": "45"
}
]192.168.100.75-192.168.100.175"
}'
Example Response:
{
"device_serial"id": 1002,
"parent_id": "DEV001234"RTR001234",
"updated_settings"parent__name": ["Router-Branch-Office-01",
"parameter": {
"parameter_id"id": 46,
"name": "network_timeout"DHCP Pool Range",
"parameter_name"short_name": "dhcp-range",
"variable_name": "dhcp_pool_range",
"type": "string",
"position": 2,
"required": false,
"read_only": false,
"metric": false,
"group": {
"id": 3,
"name": "Network Timeout"Configuration",
"old_value"service": "30"dhcp",
"new_value"discovery_group": "45"network",
"status"title": "pending"Network Settings"
}
},
"change_reason"value": "Performance optimization"
}
]192.168.100.75-192.168.100.175",
"pending_changes": 1,
"total_settings": 15,
"updated_at"created": "2024-01-15T16:20:15T10:30:00Z",
"last_change": "2024-01-22T15:30:45Z",
"pending": true
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - Device or |
| 422 | Unprocessable Entity - |
Common Use Cases
Use Case 1: Device Configuration Audit
Retrieve all current settings for amultiple devicedevices to perform agenerate configuration auditreports orand ensure compliance check.with organizational standards. Use the GET endpoint with thevarious device serial numberfilters to getidentify adevices completewith overviewspecific ofconfigurations allor parameterspending and their current values.changes.
Use Case 2: CheckingBulk forDevice PendingProvisioning
When deploying new devices, use the PUT endpoint to apply complete configuration templates. This ensures consistent setup across similar device types and reduces manual configuration errors.
Use Case 3: Dynamic Configuration Management
Monitor device performance and automatically adjust specific parameters using the PATCH endpoint. For example, modify DHCP ranges, update QoS settings, or adjust security parameters based on network conditions.
Use Case 4: Pending Changes Management
Use the pending=true filter with the GET endpoint to identify all devices that havewith configuration changes waiting to be applied by using the GET endpoint with pending=true parameter.applied. This helpsis trackcrucial deploymentfor statusmaintenance planning and ensurechange changesmanagement are properly applied.
Use Case 3: Single Parameter Update
When you need to adjust just one setting (like increasing a timeout value), use the PATCH endpoint to modify only that specific parameter without affecting other configurations.
Use Case 4: Configuration Template Deployment
Deploy a standard configuration template to new devices using the PUT endpoint to set all parameters at once, ensuring consistent device setup across your fleet.workflows.
Use Case 5: ParameterParameter-Specific Search and FilteringUpdates
FindFilter settings by parameter names or variable names to update specific configuration types of settings across devicesmultiple bydevices. usingFor parameterexample, nameupdate filters,all helpingWiFi you identify devices with particular configuration patternspasswords or locatemodify specificfirewall parametersrules quickly.across your device fleet.
Best Practices
-
UsePaginationSerial Numbers Correctly:Strategy: Alwaysverifyuse appropriatelimitvalues (typically 10-50) for large deviceserialinventoriesnumberstobeforemaintainmakingAPIupdates,performanceasandincorrectavoidserial numbers will result in 404 errors or unintended device modifications.timeouts. -
HandleSerial Number Validation: Ensure serial numbers are properly formatted and exist in your inventory before making update requests to avoid 404 errors.
Pending Changes:Changes Workflow: Check for pending changes before applying new settings.configurations. Consider theimplementing impacta ofchange overwritingapproval pendingprocess configurationsfor thatcritical haven'tdevice been applied yet.parameters.
ImplementParameter ProperType ErrorAwareness: Handling:Understand Alwaysparameter checktypes response(string, statusinteger, codesboolean, etc.) and handleformat values correctly. Invalid formats will result in validation errors appropriately. Parameter validation failures (422 status) should be clearly communicated to users.errors.
UseError AppropriateHandling: HTTPImplement Methods:robust Useerror PATCHhandling for single422 responses, as these indicate parameter updatesvalidation andfailures. PUTParse forerror complete configuration replacementsmessages to followidentify RESTspecific bestvalidation practices and avoid unintended side effects.issues.
ImplementChange Pagination:Tracking: For devices with many settings, useUse the limitlast_change timestamp to track configuration history and offsetcoordinate parametersupdates toacross implementmultiple propersystems paginationor andteam avoid performance issues with large result sets.members.
MonitorSecurity ConfigurationConsiderations: Changes:Treat Regularlydevice serial numbers as sensitive identifiers. Implement proper access controls and audit devicelogging configurationsfor all configuration changes.
Batch Operations: For updating multiple parameters on the same device, prefer PUT operations over multiple PATCH requests to reduce API calls and trackimprove pending changes to ensure your device fleet maintains proper operational parameters and security compliance.consistency.