Inventory Device Serial
Endpoints Summary
GET
/inventory_device_serial/
Swagger ↗
POST
/inventory_device_serial/
Swagger ↗
GET
/inventory_device_serial/{serial_number}/
Swagger ↗
PUT
/inventory_device_serial/{serial_number}/
Swagger ↗
PATCH
/inventory_device_serial/{serial_number}/
Swagger ↗
DELETE
/inventory_device_serial/{serial_number}/
Swagger ↗
The
inventory_device_serialInventoryendpointsDeviceprovideSerial API provides comprehensive device managementcapabilities for inventory systems,capabilities, allowing you to perform CRUD operations on network devices using their serial numbers as identifiers.TheseThisendpointsAPIareis essential for managing devicelifecycleinventory,management,monitoringstatusdevicemonitoring,status, performing remote operations like reboots andremotefactory resets, and maintaining deviceoperationsconfigurationsinacrossenterpriseyourenvironments.organization's infrastructure.
Base URL: https://control.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The inventory_device_serialInventory Device Serial API enables complete lifecycle management of network devices within the Zequenze Control platform. This API category providesis a complete set of endpoints for managing network devices and equipment through their serial numbers. This API isspecifically designed for organizations that need to track,manage monitor,large andinventories controlof devicesnetwork acrossequipment, theirIoT infrastructure.devices, or CWMP/TR-069 compatible devices.
Key Capabilities:
-
Device Discovery
& Registration:CreateandregisterRegistration: Add new devicesinto your inventory and manage their basic properties -
Status
Monitoring:Monitoring:Real-timeTrack device operational status, connection state, and configuration statustrackinginwith filtering capabilitiesreal-time -
Remote
Operations:Operations:ExecutePerformdeviceremoteoperationsactions like reboots, factory resets, configuration synchronization, andconfigurationfirmwaresynchronizationupdates -
Location
Management:and Organization Management:TrackOrganizedevicedeviceslocationsbywithlocation,GPS coordinatesorganization, andlocationcustomhierarchiesattributes -
FirmwareConfigurationManagement:Management:HandleTrackfirmwarependingupgradessettings, apply configurations, andversion tracking
Common IntegrationUse Scenarios:Cases:
- Network operations
centersteams monitoring device health across multiple locations FieldServiceserviceprovidersapplicationsmanagingtrackingcustomer premises equipmentdeployments(CPE)
The API uses serial numbers as the primary identifier for individual device statusoperations,
Endpoints
GET /inventory_device_serial/
Description: Retrieves a paginated list of all inventory devices in your inventory with powerfulcomprehensive filtering capabilities.options. This endpoint is theessential primaryfor waybuilding todevice discoverdashboards, generating reports, and monitor devices across your organization, providing comprehensiveimplementing device informationdiscovery including status, location, and configuration details.workflows.
Use Cases:
Dashboard applications showingBuilding devicefleetmanagementoverviewdashboards with real-time status information
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial/?organization=123&status=true&organization=123&limit=50&update_status=true
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| type | integer | query | No | Filter devices by device |
| status | string | query | No | Filter by device status. Use '0' |
| last_status_change_from | string | query | No | Filter |
| organization | integer | query | No | Filter devices by organization ID |
| limit | integer | query | No | Number of results to return per page (default pagination |
| offset | integer | query | No | Starting index for pagination |
| pending | boolean | query | No | Include information about pending device settings |
| update_status | boolean | query | No |
cURL Example:
curl -X GET "https://control.zequenze.com/api/v1/inventory_device_serial/?organization=123&status=true&organization=123&limit=20"25" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"count": 245,156,
"next": "https://control.zequenze.com/api/v1/inventory_device_serial/?limit=2025&offset=2025&organization=123&status=true",
"previous": null,
"results": [
{
"id": 1001,
"uuid": "550e8400-e29b-41d4-a716-446655440000"f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Router-Branch-Office-01"Office Router - Main Floor",
"customer_id": "CUST-001-RTR"12345",
"is_active": true,
"status": "Up",
"status_change": "2024-01-15T08:30:00Z",
"type": 5,
"type_short_name": "enterprise-router"enterprise_router",
"software_version": "15.1.4"2.3",
"hardware_version": "2.v2.1",
"manufacturer": "CiscoZequenze Systems",
"unique_identifier": "cisco-2921-router",
"product_class": "Router"Networks",
"serial_number": "FCZ1234567890"ZN123456789",
"serial_number_alt": "ALT-FCZ1234567890"789",
"description": "MainPrimary routerinternet gateway for branchmain office network infrastructure"office",
"organization_id": 123,
"firmware_image": 42,
"firmware_image_is_pending": false,
"location_name": "Branch OfficeHeadquarters - NetworkBuilding Room"A",
"location": 15,45,
"location_short_name": "branch-01-netroom"HQ_BLDG_A",
"latitude": "40.7128"37.7749",
"longitude": "-74.0060"122.4194",
"username": "device_agent_001",
"update_frequency": 300,
"address": "192.168.1.1",
"last_connection": "2024-01-15T14:22:00Z"25:30Z",
"last_configuration": "2024-01-15T09:15:00Z",
"last_change": "2024-01-15T09:15:00Z",
"created": "2024-01-10T16:45:10T10:00:00Z",
"debug": false,
"pending_settings": "None"firmware_upgrade,location_update"
}
]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns paginated device list |
| 401 | Unauthorized - Invalid or missing API token |
| 403 | Forbidden - Insufficient permissions for requested organization |
POST /inventory_device_serial/
Description: Creates a new device record in yourthe inventory system. This endpoint is used duringfor device onboarding,registration, allowingeither youduring initial deployment or when adding discovered devices to register new devices with their configuration, location, andyour management settings before they come online.platform.
Use Cases:
- Registering new devices during installation or deployment
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial/
Parameters:
Request Body Example:
{
"name": "Switch-Floor-2-East",
"customer_id": "CUST-002-SW",
"is_active": true,
"type": 3,
"serial_number": "SN-SW-987654321",
"serial_number_alt": "ALT-987654321",
"description": "48-port access switch for second floor east wing",
"organization_id": 123,
"location_name": "Building A - Floor 2 - Network Closet",
"location": 22,
"latitude": "40.7589",
"longitude": "-73.9851",
"username": "switch_agent_002",
"password": "SecurePassword123!",
"update_frequency": 600
}
cURL Example:
curl -X POST "https://control.zequenze.com/api/v1/inventory_device_serial/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Switch-Floor-2-East"Branch Office Router",
"serial_number": "ZN987654321",
"customer_id": "CUST-002-SW"67890",
"type": 5,
"organization_id": 123,
"location_name": "Branch Office - Seattle",
"description": "Primary router for Seattle branch",
"username": "device_admin",
"password": "secure_password_123",
"is_active": true
}'
Example Request Body:
{
"name": "Branch Office Router",
"serial_number": "ZN987654321",
"customer_id": "CUST-67890",
"type": 5,
"organization_id": 123,
"location_name": "Branch Office - Seattle",
"description": "Primary router for Seattle branch",
"username": "device_admin",
"password": "secure_password_123",
"is_active": true,
"type": 3,
"serial_number"latitude": "SN-SW-987654321"47.6062",
"description"longitude": "48-port access switch for second floor east wing",
"organization_id": 123,
"location": 22,
"username": "switch_agent_002",
"password": "SecurePassword123!",
"update_frequency": 600-122.3321"
}'
Example Response:
{
"id": 1002,
"uuid": "660f9511-f3ac-52e5-b827-557766551111"a1b2c3d4-e5f6-4789-a012-3456789abcdef",
"name": "Switch-Floor-2-East"Branch Office Router",
"serial_number": "ZN987654321",
"customer_id": "CUST-002-SW"67890",
"is_active": true,
"status": "Down",
"status_change": null,
"type": 3,5,
"type_short_name": "access-switch",
"serial_number": "SN-SW-987654321",
"serial_number_alt": "ALT-987654321",
"description": "48-port access switch for second floor east wing"enterprise_router",
"organization_id": 123,
"location": 22,
"location_short_name"location_name": "bldg-a-floor-2"Branch Office - Seattle",
"description": "Primary router for Seattle branch",
"username": "device_admin",
"latitude": "40.7589"47.6062",
"longitude": "-73.9851"122.3321",
"username": "switch_agent_002",
"update_frequency": 600,
"created": "2024-01-15T15:30:00Z",
"debug": false,
"pending_settings": "None"null
}
Response Codes:
| Status | Description |
|---|---|
| 201 | Created - Device successfully |
| 400 | Bad Request - Invalid data or missing required fields |
| 401 | Unauthorized - Invalid or missing API token |
| 409 | Conflict - Device with |
GET /inventory_device_serial/{serial_number}/
Description: Retrieves detailed information for a specific device using its serial number as the identifier.number. This endpoint provides complete device details including current status, configuration,configuration state, and operational data.metrics.
Use Cases:
DeviceDisplayingdetaildevicepagesdetails in management interfacesTroubleshooting workflows requiring specificRetrieving device information for troubleshooting workflowsStatusCheckingchecksdeviceforstatusindividualbeforedevicesperformingduringremotemaintenanceoperationsIntegrationGeneratingwith monitoring systems trackingdevice-specificequipmentreports and documentation
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/ZN123456789/?update_status=true&pending=true
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| serial_number | string | path | Yes | |
| pending | boolean | query | No | Include |
| update_status | boolean | query | No |
cURL Example:
curl -X GET "https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/ZN123456789/?update_status=true" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"id": 1001,
"uuid": "550e8400-e29b-41d4-a716-446655440000"f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Router-Branch-Office-01"Office Router - Main Floor",
"customer_id": "CUST-001-RTR"12345",
"is_active": true,
"status": "Up",
"status_change": "2024-01-15T08:30:00Z",
"type": 5,
"type_short_name": "enterprise-router"enterprise_router",
"software_version": "15.1.4"2.3",
"hardware_version": "2.v2.1",
"manufacturer": "CiscoZequenze Systems"Networks",
"unique_identifier": "cisco-2921-router"ZN:ROUTER:12345",
"product_class": "Router"InternetGatewayDevice",
"serial_number": "FCZ1234567890"ZN123456789",
"serial_number_alt": "ALT-789",
"description": "MainPrimary routerinternet gateway for branchmain office network infrastructure"office",
"organization_id": 123,
"firmware_image": 42,15,
"firmware_image_is_pending": false,
"location_name": "Branch OfficeHeadquarters - NetworkBuilding Room"A",
"location": 15,45,
"location_short_name": "branch-01-netroom"HQ_BLDG_A",
"latitude": "40.7128"37.7749",
"longitude": "-74.0060"122.4194",
"username": "device_agent_001"admin_user",
"update_frequency": 300,
"address": "192.168.1.1",
"last_connection": "2024-01-15T14:22:00Z"25:30Z",
"last_configuration": "2024-01-15T09:15:00Z",
"last_change": "2024-01-15T09:15:15T13:45:00Z",
"created": "2024-01-10T16:45:10T10:00:00Z",
"debug": false,
"reboot": false,
"factory": false,
"device_factory": false,
"sync": false,
"reconf": false,
"pending_settings": "firmware_upgrade, location_update"
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns complete device |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device with specified serial number does not exist |
PUT /inventory_device_serial/{serial_number}/
Description: PerformsCompletely updates a completedevice's updateconfiguration of a device record,by replacing all modifiableupdatable fields with the provided data.fields. This endpoint isperforms useda forfull comprehensiveupdate deviceoperation, reconfigurationrequiring orall whenfields synchronizingto devicebe dataspecified fromin externalthe systems.request body.
Use Cases:
- Complete device reconfiguration during
networkmaintenancechangeswindows SynchronizingUpdating devicedatainformationfromafterexternalhardwareinventory systemsreplacement- Bulk device updates
whenwithdevicestandardizedprofilesconfigurations
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/
Parameters:
Request Body Example:
{
"name": "Router-Branch-Office-01-Updated",
"customer_id": "CUST-001-RTR-NEW",
"is_active": true,
"type": 6,
"description": "Updated main router with enhanced security features",
"organization_id": 123,
"firmware_image": 45,
"firmware_image_is_pending": true,
"location_name": "Branch Office - Updated Network Room",
"location": 16,
"latitude": "40.7130",
"longitude": "-74.0062",
"username": "updated_device_agent_001",
"password": "NewSecurePassword456!",
"update_frequency": 180,
"debug": true,
"reboot": true
}ZN123456789/
cURL Example:
curl -X PUT "https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/ZN123456789/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Router-Branch-Office-01-Updated"Updated Office Router - Main Floor",
"customer_id": "CUST-12345",
"is_active": true,
"type": 6,5,
"description": "Updated maindescription router- withPrimary enhancedinternet security features"gateway",
"organization_id": 123,
"firmware_image": 45,
"firmware_image_is_pending": true,
"location": 16,
"update_frequency": 180,
"reboot": true
}'
Example Response:
{
"id": 1001,
"uuid"location_name": "550e8400-e29b-41d4-a716-446655440000",Headquarters "name":- "Router-Branch-Office-01-Updated",Building "customer_id":A "CUST-001-RTR-NEW",- "is_active":Floor true,
"status": "Up",
"type": 6,
"type_short_name": "enhanced-enterprise-router",
"serial_number": "FCZ1234567890",
"description": "Updated main router with enhanced security features",
"organization_id": 123,
"firmware_image": 45,
"firmware_image_is_pending": true,
"location": 16,
"location_short_name": "branch-01-updated-netroom"2",
"latitude": "40.7130"37.7749",
"longitude": "-74.0062"122.4194",
"username": "updated_device_agent_001"admin_user",
"password": "new_secure_password",
"update_frequency": 180,
"last_change": "2024-01-15T16:45:00Z",
"debug": true,
"reboot": true,
"pending_settings": "firmware_upgrade, reboot_scheduled"600
}'
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Device successfully updated |
| 400 | Bad Request - Invalid data format or |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device with specified serial number does not exist |
PATCH /inventory_device_serial/{serial_number}/
Description: PerformsPartially aupdates partial update of aspecific device record, modifying only the specified fields whilewithout leavingaffecting othersother unchanged.properties. This endpoint is ideal for targeted updates like changing device status, triggering operations,location, or updatingperforming specificremote configuration parameters.operations.
Use Cases:
- Updating device location without changing other settings
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/
Parameters:
Request Body Examples:
Trigger a device reboot:
{
"reboot": true,
"debug": true
}
Update location and firmware:
{
"location": 20,
"location_name": "New Data Center - Rack 15",
"firmware_image": 47,
"firmware_image_is_pending": true
}
Synchronize device configuration:
{
"sync": true,
"reconf": true
}ZN123456789/
cURL Example:Example (Location Update):
curl -X PATCH "https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/ZN123456789/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"location": 20,
"location_name": "New Data CenterHeadquarters - RackBuilding 15"B",
"firmware_image"latitude": 47,"37.7750",
"firmware_image_is_pending"longitude": "-122.4195"
}'
cURL Example (Remote Reboot):
curl -X PATCH "https://control.zequenze.com/api/v1/inventory_device_serial/ZN123456789/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reboot": true
}'
cURL Example Response:(Configuration Sync):
curl -X PATCH "https://control.zequenze.com/api/v1/inventory_device_serial/ZN123456789/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 1001,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"name": "Router-Branch-Office-01",
"customer_id": "CUST-001-RTR",
"is_active"sync": true,
"status"debug": "Up",
"serial_number": "FCZ1234567890",
"description": "Main router for branch office network infrastructure",
"organization_id": 123,
"firmware_image": 47,
"firmware_image_is_pending": true,
"location_name": "New Data Center - Rack 15",
"location": 20,
"location_short_name": "datacenter-rack-15",
"last_change": "2024-01-15T17:20:00Z",
"pending_settings": "location_update, firmware_upgrade"true
}'
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Device partially updated |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device with specified serial number does not exist |
DELETE /inventory_device_serial/{serial_number}/
Description: Permanently removes a device record from the inventory system. This operation iscannot irreversiblebe undone and shouldwill bedelete usedall whenassociated devicesconfiguration aredata, decommissioned,history, replaced,and orsettings nofor longerthe partspecified of your managed infrastructure.device.
Use Cases:
DecommissioningRemovingold equipment during hardware refreshes
Full URL Example:
https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/ZN123456789/
Parameters:
cURL Example:
curl -X DELETE "https://control.zequenze.com/api/v1/inventory_device_serial/FCZ1234567890/ZN123456789/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response Codes:
| Status | Description |
|---|---|
| 204 | No Content - Device successfully deleted |
| 401 | Unauthorized - Invalid or missing API token |
| 404 | Not Found - Device with specified serial number does not exist |
Common Use Cases
Use Case 1: Device Health Monitoring Dashboard
Build a real-time dashboard showing device status across your organization.organization Useby using the GET list endpoint with /inventory_device_serial/status filtering and automatic status updates.
#organizationfilters,Getcombinedall active devices withcurrent status https://control.zequenze.com/api/v1/inventory_device_serial/?is_active=true&update_status=true&limit=100to get current device health. Implement pagination for large device fleets and uselast_status_change_fromto identify recently changed devices.
Use Case 2: AutomatedRemote Device ProvisioningTroubleshooting
ImplementWhen zero-touchtroubleshooting connectivity issues, retrieve device provisioningdetails, byperform usinga configuration sync, and optionally reboot the device.
ZN123456789/?update_status=truePOST# 1. Get device details GET /inventory_device_serial/to#pre-register2.devices with their serial numbers, location, andSync configurationtemplates.PATCHOnce/inventory_device_serial/ZN123456789/devices{"sync":cometrue}online,#use3.Reboot if necessary PATCH /inventory_device_serial/ZN123456789/ {"reboot": true}operations to trigger initial configuration sync and firmware updates.
Use Case 3: RemoteBulk Device MaintenanceDeployment
PerformDuring maintenancelarge operationsdeployments, acrossuse yourPOST deviceto fleetregister usingdevices targetedand PATCH requests.to Setconfigure in reboot:them truefor device restarts, sync: true for configuration synchronization, or firmware_image_is_pending: true with a specific firmware_image for scheduled upgrades.batches.
Use Case 4: AssetOrganization Tracking and Location ManagementMigration
TrackTransfer devicedevices movementsbetween and locationsorganizations by updating location,the latitude,organization_id field and longitude fields using PATCH operations. Use therelated location filtering in GET requests to generate location-based reports and verify device placement.information.
Use Case 5: BulkFirmware DeviceUpdate OperationsCampaign
ProcessIdentify largedevices deviceneeding inventoriesupdates, efficientlyset firmware images, and monitor the upgrade process using the filteringfirmware_image capabilitiesand offirmware_image_is_pending the list endpoint combined with bulk update operations. Filter by type or organization to identify device groups, then use individual PATCH requests to apply configuration changes or operational commands.fields.
Best Practices
Pagination Strategy:Management:
limit and offset parameters Status Updates:
update_status=true parameter Error Handling:
pending_settingsbeen Security Considerations:
- Never log or
exposestore device passwords inyourplainapplicationstext - Use HTTPS for all API
calls to protect authentication tokenscommunications - Implement proper token rotation and
storage practicesmanagement ConsiderValidateratedevicelimitingownershipyourbeforeAPIperformingcallsoperationstoinavoidmulti-tenantoverwhelming the systemenvironments
PerformanceRemote Optimization:Operations:
UseRemotespecificoperationsfilters(reboot,ratherfactorythanreset,retrievingsync)allare asynchronous - monitor device status to confirm completion
Operational Safety:
debug: truepending_settings