/systems/{id} - Update system
Update a system. All fields are optional. Users can update systems created by their organization based on hierarchical permissions.
PUT
/systems/{id}
curl \
--request PUT 'https://collect.your-domain.com/api/systems/sys_123456789' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"name":"Production Server 01","organization_id":"org_123456789","custom_data":{"tier":"web","datacenter":"EU-West-1","environment":"production"},"notes":"Production web server for EU region"}'
Request examples
{
"name": "Production Server 01",
"organization_id": "org_123456789",
"custom_data": {
"tier": "web",
"datacenter": "EU-West-1",
"environment": "production"
},
"notes": "Production web server for EU region"
}
Response examples (200)
{
"code": 200,
"message": "system updated successfully",
"data": {
"id": "4cf3053f-d0d5-4b10-b752-ff8f7b63c2f7",
"name": "Production Server 01",
"type": "nsec",
"status": "unknown",
"fqdn": "prod-web-01.example.com",
"ipv4_address": "192.168.1.100",
"ipv6_address": "2001:db8::1",
"version": "2.1.4",
"system_key": "ABC123DEF456",
"organization_id": "org_123456789",
"organization_name": "Acme Corporation",
"custom_data": {
"tier": "web",
"datacenter": "EU-West-1",
"environment": "production"
},
"system_secret": "my_a1b2c3d4e5f6g7h8i9j0.k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0",
"notes": "Production web server for EU region",
"created_at": "2025-07-01T09:00:00Z",
"updated_at": "2025-07-10T10:30:00Z",
"created_by": {
"user_id": "53h5zxpwu4vc",
"name": "Edoardo Super",
"email": "edoardo.spadoni@nethesis.it",
"organization_id": "lbswt1rxdhbz",
"organization_name": "Nethesis Italia"
},
"heartbeat_status": "alive",
"last_heartbeat": "2025-07-21T10:25:00Z",
"heartbeat_minutes": 5,
"registered_at": "2025-11-06T10:30:00Z"
}
}
Response examples (400)
{
"code": 400,
"message": "validation failed",
"data": {
"type": "validation_error",
"errors": [
{
"key": "username",
"message": "required",
"value": "string"
}
]
}
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (403)
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}
Response examples (404)
{
"code": 400,
"message": "validation failed",
"data": {
"type": "validation_error",
"errors": [
{
"key": "username",
"message": "required",
"value": "string"
}
]
}
}