Get Apps Flow Topology

Get Apps Flow Topology
Get application-level flow topology graph

Returns a topology graph where applications are nodes and inter-application communication paths are edges. Each edge represents that at least one flow exists between two applications 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.
  • Application membership is determined by the current compute-to-application mapping at query time, not at the time each flow was observed.
  • Use entity_limit to cap the number of application nodes returned (default 500). VMs and IPs that do not belong to any application are aggregated into a special OTHER_VMS_AND_IPS node.
  • filters accepts up to 300 filter entries.
  • The app-id of each application node can be used with POST /visualization/flow-analysis/applications/{app-id}/flow-details to drill into flow records for that application, or with POST /visualization/security-analysis/applications/{app-id}/related-dfw-rules to see its associated DFW rules.
Request
URI
POST
https://{api_host}/intelligence/visualization/topology/apps-flow-topology
COPY
Request Body

Wrapper request for AppsFlowTopology with restricted filter keys

VizAppsFlowTopologyRequest of type(s) application/json
Required  
This request body class requires all of the following: VizFlowsTopologyRequest , InlineVizAppsFlowTopologyRequest1
{
    "site_id": "2996d590-1afe-49a1-905b-3f39b8228da7",
    "start_time": 1781807020443,
    "entity_limit": 10000,
    "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": 1781808080000,
        "end_time": 1781808524000
    },
    "topology": {
        "partial_result": [
            "GROUP_NUMBER_IN_FLOW_THRESHOLD_EXCEEDED"
        ],
        "entities": [
            {
                "entity_type": "OTHER_VMS_AND_IPS",
                "id": "OTHER_VMS_AND_IPS",
                "reference_id": "OTHER_VMS_AND_IPS",
                "name": "Other VMs & IPs",
                "config_events": [],
                "fw_properties": {
                    "ew_allowed": 12,
                    "ew_blocked": 0,
                    "ew_unmicrosegmented": 600,
                    "ew_vds": 0
                },
                "highlight": false
            }
        ],
        "connections": {
            "flow_connections": [
                {
                    "from": "OTHER_VMS_AND_IPS",
                    "to": "OTHER_VMS_AND_IPS",
                    "fw_properties": {
                        "ew_allowed": 0,
                        "ew_blocked": 0,
                        "ew_unmicrosegmented": 296,
                        "ew_vds": 0
                    }
                }
            ]
        },
        "uuid_mapping": {},
        "has_communities": false,
        "communities": []
    }
}
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/apps-flow-topology