Get Computes Flow Topology

Get Computes Flow Topology
Get compute-level flow topology graph

Returns a topology graph where computes (VMs and IPs) are nodes and flow connections are edges. Each edge represents that at least one flow exists between two computes within the time window, with aggregated unique flow counts attached.

Notes:

  • start_time is required. Either site_id or site_ids must also be provided.
  • filters accepts up to 300 filter entries.
  • Use the id of any compute node in the response with POST /visualization/flow-analysis/computes/{compute-id}/flow-details to drill into flow records for that VM.
  • To see flows between two specific computes, use POST /visualization/flow-analysis/compute-connections. To first check whether any flows exist between them, use the lightweight POST /visualization/flow-analysis/compute-connections/flow-type.
Request
URI
POST
https://{api_host}/intelligence/visualization/topology/compute-flow-topology
COPY
Request Body

Wrapper request for ComputeFlowTopology with restricted filter keys

VizComputeFlowTopologyRequest of type(s) application/json
Required  
This request body class requires all of the following: VizFlowsTopologyRequest , InlineVizComputeFlowTopologyRequest1
{
    "start_time": 1781452306172,
    "site_id": "8c27e777-2917-447c-a68f-566b985fe546",
    "filters": [],
    "cluster_info": {
        "cluster_type": "FLOW"
    }
}
Authentication
This operation uses the following authentication methods.
Responses
200

success

Returns TopologyResponse of type(s) application/json
{
    "time_interval": {
        "start_time": 1781453919000,
        "end_time": 1781453937000
    },
    "topology": {
        "partial_result": [],
        "entities": [
            {
                "entity_type": "GROUP",
                "id": "primary",
                "name": "primary",
                "config_events": [],
                "highlight": false,
                "members": [
                    {
                        "entity_type": "COMPUTE",
                        "compute_type": "VM",
                        "id": "50037a16-8651-ade1-88bf-ad54a8458c23",
                        "reference_id": "50037a16-8651-ade1-88bf-ad54a8458c23",
                        "name": "inc_1_nesx-node1_vm_1",
                        "config_events": [],
                        "fw_properties": {
                            "ew_allowed": 0,
                            "ew_blocked": 1,
                            "ew_unmicrosegmented": 0,
                            "ew_vds": 0
                        },
                        "highlight": false
                    }
                ],
                "ip_addresses_only": false,
                "pinned": false
            }
        ],
        "connections": {
            "flow_connections": [
                {
                    "from": "0",
                    "to": "27",
                    "fw_properties": {
                        "ew_allowed": 0,
                        "ew_blocked": 1,
                        "ew_unmicrosegmented": 0,
                        "ew_vds": 0
                    }
                }
            ]
        },
        "uuid_mapping": {
            "50037a16-8651-ade1-88bf-ad54a8458c23": "0",
            "External": "27"
        },
        "has_uuid_mapping": true,
        "has_communities": false,
        "communities": [],
        "topology_token": "6d310475-7c77-4380-afa1-1fd6df42cac9"
    }
}
object
time_interval
Optional

Represents a continuous span of time defined by a required start and end timestamp.

object
topology
Optional

The graph representation of a network topology, consisting of entities (nodes) and connections (edges) between them.


400

Bad Request

Returns BadRequest of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


401

Unauthorized

Returns Unauthorized of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


403

Forbidden

Returns Forbidden of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


412

Precondition Failed

Returns PreconditionFailed of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


428

Precondition Required

Returns PreconditionRequired of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


429

Too Many Requests

Returns TooManyRequests of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


default

Error

Returns Error of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{}' https://{api_host}/intelligence/visualization/topology/compute-flow-topology