Consolidate hosts
Merges all interfaces, ports, and services from other_host into
destination_host, then deletes other_host. Both hosts must be
on the same network.
Merge Behavior
- Interfaces: Transferred to destination. If an interface with matching subnet+IP or MAC already exists on destination, bindings are remapped to use the existing interface.
- Ports: Transferred to destination. If a port with the same number and protocol already exists, bindings are remapped to use the existing port.
- Services: Transferred to destination with deduplication. See upsert behavior for details.
Restrictions
- Cannot consolidate a host with itself.
- Cannot consolidate a host that has a daemon - consolidate into it instead.
User API key (Bearer scp_u_...). Create in Platform > API Keys.
In: header
Path Parameters
Destination host ID - will receive all children
uuidHost to merge into destination - will be deleted
uuidResponse Body
application/json
application/json
application/json
curl -X PUT "https://loading/api/v1/hosts/497f6eca-6276-4993-bfeb-53cbbbba6f08/consolidate/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"meta": {
"api_version": 1,
"server_version": "0.13.5"
},
"success": true,
"data": {
"created_at": "2026-01-15T10:30:00Z",
"description": "Primary web server",
"hidden": false,
"hostname": "web-server-01.local",
"id": "550e8400-e29b-41d4-a716-446655440003",
"interfaces": [
{
"created_at": "2026-01-15T10:30:00Z",
"host_id": "550e8400-e29b-41d4-a716-446655440003",
"id": "550e8400-e29b-41d4-a716-446655440005",
"ip_address": "192.168.1.100",
"mac_address": "DE:AD:BE:EF:12:34",
"name": "eth0",
"network_id": "550e8400-e29b-41d4-a716-446655440002",
"position": 0,
"subnet_id": "550e8400-e29b-41d4-a716-446655440004",
"updated_at": "2026-01-15T10:30:00Z"
}
],
"name": "web-server-01",
"network_id": "550e8400-e29b-41d4-a716-446655440002",
"ports": [
{
"created_at": "2026-01-15T10:30:00Z",
"host_id": "550e8400-e29b-41d4-a716-446655440003",
"id": "550e8400-e29b-41d4-a716-446655440006",
"network_id": "550e8400-e29b-41d4-a716-446655440002",
"number": 80,
"protocol": "Tcp",
"type": "Http",
"updated_at": "2026-01-15T10:30:00Z"
}
],
"services": [],
"source": {
"type": "Manual"
},
"tags": [],
"updated_at": "2026-01-15T10:30:00Z",
"virtualization": null
},
"error": "string"
}{
"success": true,
"error": "string"
}{
"success": true,
"error": "string"
}Create a new host
Creates a host with optional interfaces, ports, and services. The `source` field is automatically set to `Manual`. ### Tag Validation - Tags must exist and belong to your organization - Duplicate tag UUIDs are automatically deduplicated - Invalid or cross-organization tag UUIDs return a 400 error
Update a host
Updates host properties. Children (interfaces, ports, services) are managed via their own endpoints. ### Tag Validation - Tags must exist and belong to your organization - Duplicate tag UUIDs are automatically deduplicated - Invalid or cross-organization tag UUIDs return a 400 error