ScanopyScanopy
Hosts

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.
PUT
/api/v1/hosts/{destination_host}/consolidate/{other_host}
Authorization<token>

User API key (Bearer scp_u_...). Create in Platform > API Keys.

In: header

Path Parameters

destination_host*string

Destination host ID - will receive all children

Formatuuid
other_host*string

Host to merge into destination - will be deleted

Formatuuid

Response 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"
}