{"type":"api","title":"Retrieve endpoint local network topology","meta":{"id":"/apps/pubhub/media/000-v7-apis/5b3454a4300b838cc17f7b2cdc0690fdd15058d5/85928a65-da17-3012-a6df-bb224dd8278a","info":{"description":"Retrieve results for scheduled and dynamic tests on endpoint agents.","title":"Endpoint Test Results API","version":"7.0.34"},"security":[{"BearerAuth":[]}],"tags":[{"name":"Network Endpoint Scheduled Test Results"},{"name":"HTTP Server Endpoint Scheduled Test Results"},{"name":"Network Dynamic Endpoint Test Results"},{"name":"Real User Endpoint Test Results"},{"name":"Local Network Endpoint Test Results"}],"openapi":"3.0.1","servers":[{"description":"ThousandEyes API production URL","url":"https://api.thousandeyes.com/v7"}],"securitySchemes":{"BearerAuth":{"description":"Bearer authentication token","scheme":"bearer","type":"http"}}},"spec":{"description":"Returns detailed data of a local network topology.\n","operationId":"getLocalNetworksTestResultsTopology","parameters":[{"description":"The network topology ID.","explode":false,"in":"path","name":"networkTopologyId","required":true,"schema":{"example":"00160:39c518560de9:1491651900:236e6f18","type":"string"},"style":"simple"},{"description":"A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.","in":"query","name":"aid","required":false,"schema":{"example":"1234","type":"string"}},{"description":"This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.","explode":false,"in":"query","name":"expand","required":false,"schema":{"example":["system-metric-detail"],"items":{"enum":["system-metric-detail"],"example":"system-metric-detail","type":"string","$$ref":"#/components/schemas/ExpandLocalNetworkTopologyOptions"},"type":"array"},"style":"form"}],"responses":{"200":{"content":{"application/hal+json":{"schema":{"properties":{"results":{"items":{"properties":{"agentId":{"description":"Unique ID of endpoint agent, from `/endpoint/agents` endpoint.","example":"861b7557-cd57-4bbb-b648-00bddf88ef49","format":"uuid","readOnly":true,"type":"string"},"date":{"description":"UTC date when endpoint network topology took place (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"networkTopologyId":{"description":"Network topology ID. Each network topology occurrence has a unique ID.","example":"00160:54c3a4b180c6:1490536500:c7a58c49","readOnly":true,"type":"string"},"roundId":{"description":"Epoch time (seconds) indicating the start time of the round.","example":1384309800,"readOnly":true,"type":"integer"},"target":{"description":"IP of the target the network topology was performed against. This is typically a default gateway, proxy or VPN endpoint.","example":"10.0.2.2","readOnly":true,"type":"string"},"targetPort":{"description":"Port of the target the network topology was performed against.","example":80,"readOnly":true,"type":"integer"},"type":{"enum":["vpn","proxy","gateway"],"example":"vpn","type":"string","$$ref":"#/components/schemas/NetworkTopologyType"},"icmpPing":{"properties":{"avgRtt":{"description":"Ping average response time.","example":7,"readOnly":true,"type":"integer"},"maxRtt":{"description":"Ping maximum response time.","example":66,"readOnly":true,"type":"integer"},"meanDevRtt":{"description":"Ping mean standard deviation response time.","example":11,"readOnly":true,"type":"integer"},"minRtt":{"description":"Ping minimum response time.","example":1,"readOnly":true,"type":"integer"},"pktsReceived":{"description":"Ping packets received.","example":10,"readOnly":true,"type":"integer"},"pktsSent":{"description":"Ping packets sent.","example":10,"readOnly":true,"type":"integer"},"error":{"description":"Only present when there is an error.","example":"An operation timed out.","readOnly":true,"type":"string"},"infoFlags":{"example":["TE_INFO_ICMP_BLOCKED_BY_FIREWALL"],"items":{"type":"string"},"readOnly":true,"type":"array"}},"type":"object","$$ref":"#/components/schemas/NetworkPing"},"isIcmpBlocked":{"description":"Set to `true` if network target is blocking ICMP echo (ping) queries.","example":true,"readOnly":true,"type":"boolean"},"tcpConnect":{"properties":{"rtt":{"description":"Represents the number of milliseconds required to establish TCP connectivity with the target","example":77.777,"format":"double","readOnly":true,"type":"number"},"errorCode":{"description":"Only present when there is an error","example":"ERR_TIMED_OUT","readOnly":true,"type":"string"},"error":{"description":"Only present when there is an error","example":"An operation timed out.","readOnly":true,"type":"string"},"infoFlags":{"example":["TE_INFO_ICMP_BLOCKED_BY_FIREWALL"],"items":{"type":"string"},"readOnly":true,"type":"array"}},"type":"object","$$ref":"#/components/schemas/TcpConnect"},"systemMetrics":{"properties":{"startTimeMs":{"description":"The start time of metrics collection, expressed in milliseconds since the Epoch.","example":1581508857327,"format":"int64","readOnly":true,"type":"integer"},"endTimeMs":{"description":"The end time of metrics collection, expressed in milliseconds since the Epoch.","example":1581508867333,"format":"int64","readOnly":true,"type":"integer"},"cpuUtilization":{"properties":{"min":{"description":"The minimum sampled usage value recorded during the monitored period.","example":0.22,"format":"double","maximum":1,"minimum":0,"readOnly":true,"type":"number"},"max":{"description":"The maximum sampled usage value recorded during the monitored period.","example":0.75,"format":"double","maximum":1,"minimum":0,"readOnly":true,"type":"number"},"mean":{"description":"The mean (average) sampled usage value recorded during the monitored period.","example":0.55,"format":"double","maximum":1,"minimum":0,"readOnly":true,"type":"number"},"median":{"description":"The median sampled usage value recorded during the monitored period.","example":0.61,"format":"double","maximum":1,"minimum":0,"readOnly":true,"type":"number"},"stdDev":{"description":"The standard deviation of sampled usage values recorded during the monitored period.","example":0.01,"format":"double","maximum":1,"minimum":0,"readOnly":true,"type":"number"},"count":{"description":"The total number of samples collected during the monitored period.","example":150,"readOnly":true,"type":"integer"}},"type":"object","$$ref":"#/components/schemas/CpuUtilization"},"physicalMemoryUsedBytes":{"properties":{"min":{"description":"The minimum sampled memory usage value recorded during the monitored period.","example":1.2,"format":"double","readOnly":true,"type":"number"},"max":{"description":"The maximum sampled memory usage value recorded during the monitored period.","example":2.5,"format":"double","readOnly":true,"type":"number"},"mean":{"description":"The mean (average) value of memory usage sampled over the monitored period.","example":1.77,"format":"double","readOnly":true,"type":"number"},"median":{"description":"The median value of memory usage sampled over the monitored period.","example":1.85,"format":"double","readOnly":true,"type":"number"},"stdDev":{"description":"The standard deviation of memory usage sampled during the monitored period.","example":0.25,"format":"double","readOnly":true,"type":"number"},"count":{"description":"The total number of samples collected during the monitored period.","example":155,"readOnly":true,"type":"integer"}},"type":"object","$$ref":"#/components/schemas/PhysicalMemoryUsedBytes"},"physicalMemoryTotalBytes":{"description":"Total physical memory of the system.","example":1024,"format":"int64","readOnly":true,"type":"integer"}},"type":"object","$$ref":"#/components/schemas/SystemMetrics"},"systemMetricDetails":{"description":"Details of system metrics that contain top applications by CPU/memory usage.\nNot populated by default.\n","properties":{"topCpuApplications":{"description":"A list of applications that consume more than 2% of the CPU.","items":{"properties":{"name":{"description":"The name of the application.","example":"Webex","type":"string"},"totalCpu":{"description":"The total CPU usage by all application processes.","example":0.5,"format":"double","type":"number"},"totalMemoryPercentage":{"description":"The total percentage of memory used by all application processes.","example":0.22,"format":"double","type":"number"},"totalMemoryBytes":{"description":"The total memory in bytes used by all application processes.","example":1023334,"format":"int64","type":"integer"},"processes":{"description":"A list of application processes.","items":{"properties":{"name":{"description":"The name of the process.","example":"Webex background","type":"string"},"pid":{"description":"The process ID.","example":15632,"type":"integer"},"cpu":{"description":"The CPU usage by the process as a percentage (e.g., 0.5 for 50% CPU usage).","example":0.5,"format":"double","type":"number"},"memoryPercentage":{"description":"The memory usage by the process as a percentage (e.g., 0.22 for 22%).","example":0.22,"format":"double","type":"number"},"memoryBytes":{"description":"The memory usage by the process in bytes.","example":1023334,"format":"int64","type":"integer"}},"type":"object","$$ref":"#/components/schemas/ProcessMetrics"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/ApplicationMetrics"},"readOnly":true,"type":"array"},"topMemoryApplications":{"description":"A list of applications that consume more than 2% of the RAM.","items":{"properties":{"name":{"description":"The name of the application.","example":"Webex","type":"string"},"totalCpu":{"description":"The total CPU usage by all application processes.","example":0.5,"format":"double","type":"number"},"totalMemoryPercentage":{"description":"The total percentage of memory used by all application processes.","example":0.22,"format":"double","type":"number"},"totalMemoryBytes":{"description":"The total memory in bytes used by all application processes.","example":1023334,"format":"int64","type":"integer"},"processes":{"description":"A list of application processes.","items":{"properties":{"name":{"description":"The name of the process.","example":"Webex background","type":"string"},"pid":{"description":"The process ID.","example":15632,"type":"integer"},"cpu":{"description":"The CPU usage by the process as a percentage (e.g., 0.5 for 50% CPU usage).","example":0.5,"format":"double","type":"number"},"memoryPercentage":{"description":"The memory usage by the process as a percentage (e.g., 0.22 for 22%).","example":0.22,"format":"double","type":"number"},"memoryBytes":{"description":"The memory usage by the process in bytes.","example":1023334,"format":"int64","type":"integer"}},"type":"object","$$ref":"#/components/schemas/ProcessMetrics"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/ApplicationMetrics"},"readOnly":true,"type":"array"}},"type":"object","$$ref":"#/components/schemas/SystemMetricDetails"},"coordinates":{"description":"Contains approximate GPS location of the endpoint agent, based on endpoint agent’s public IP address.","properties":{"latitude":{"description":"Numeric representations of GPS coordinates.","example":46.0552778,"format":"double","readOnly":true,"type":"number"},"location":{"description":"Represents named geographical location.","example":"Slovenia","readOnly":true,"type":"string"},"longitude":{"description":"Numeric representations of GPS coordinates.","example":14.5144444,"format":"double","readOnly":true,"type":"number"}},"type":"object","$$ref":"#/components/schemas/RealUserEndpointTestCoordinates"},"networkProfile":{"properties":{"ipAddress":{"description":"Network IP address.","example":"10.0.0.13","readOnly":true,"type":"string"},"subnetMask":{"description":"Network subnet mask - only for IPv4.","example":"255.255.255.0","readOnly":true,"type":"string"},"publicIpAddress":{"description":"Network public IP address.","example":"84.255.241.1","readOnly":true,"type":"string"},"localPrefix":{"description":"Network local prefix.","example":"10.0.0.0","readOnly":true,"type":"string"},"publicIpRange":{"description":"Network public IP range.","example":"84.255.241.0-84.255.241.255","readOnly":true,"type":"string"},"dnsServers":{"description":"Network DNS servers.","example":["8.8.8.8","8.8.8.4"],"items":{"type":"string"},"readOnly":true,"type":"array"},"hardwareType":{"enum":["unknown","wireless","ethernet","modem","virtual","loopback","other"],"example":"wireless","type":"string","$$ref":"#/components/schemas/InterfaceHardwareType"},"interfaceName":{"description":"Network interface name.","example":"en0","readOnly":true,"type":"string"},"error":{"description":"Only present when there is an error","example":"An operation timed out.","readOnly":true,"type":"string"},"gateway":{"description":"Network gateway address.","example":"10.0.0.1","readOnly":true,"type":"string"},"wirelessProfile":{"properties":{"ssid":{"description":"Wireless network SSID.","example":"Internet for the masses","readOnly":true,"type":"string"},"bssid":{"description":"Wireless network BSSID.","example":"4c:ba:ba:f4:fa:fa","readOnly":true,"type":"string"},"channel":{"description":"Wireless network channel.","example":1,"readOnly":true,"type":"integer"},"phyMode":{"description":"Wireless network PHY mode.","example":"802.11n","readOnly":true,"type":"string"},"rssi":{"description":"Wireless network RSSI.","example":-38,"readOnly":true,"type":"integer"},"noise":{"description":"Wireless network noise.","example":-95,"readOnly":true,"type":"integer"},"quality":{"description":"Wireless network quality.","example":100,"readOnly":true,"type":"integer"},"txRate":{"description":"Wireless network transmitted rate.","example":130,"readOnly":true,"type":"integer"},"vendor":{"description":"Wireless network device vendor.","example":"Cisco","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/NetworkWirelessProfile"},"proxyProfile":{"properties":{"method":{"description":"Proxy profile method.","example":"System","readOnly":true,"type":"string"},"proxies":{"items":{"properties":{"bypass":{"description":"Proxy bypass expression.","example":"*.local;169.254/16","readOnly":true,"type":"string"},"proxy":{"description":"Proxy mode.","example":"\u003cdirect\u003e","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/NetworkProxy"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/NetworkProxyProfile"},"ethernetProfile":{"properties":{"linkSpeed":{"description":"Ethernet profile link speed","example":860,"readOnly":true,"type":"integer"}},"type":"object","$$ref":"#/components/schemas/EndpointTestEthernetProfile"},"previousInterface":{"properties":{"ipAddress":{"description":"Network IP address.","example":"10.0.0.13","readOnly":true,"type":"string"},"subnetMask":{"description":"Network subnet mask - only for IPv4.","example":"255.255.255.0","readOnly":true,"type":"string"},"publicIpAddress":{"description":"Network public IP address.","example":"84.255.241.1","readOnly":true,"type":"string"},"localPrefix":{"description":"Network local prefix.","example":"10.0.0.0","readOnly":true,"type":"string"},"publicIpRange":{"description":"Network public IP range.","example":"84.255.241.0-84.255.241.255","readOnly":true,"type":"string"},"dnsServers":{"description":"Network DNS servers.","example":["8.8.8.8","8.8.8.4"],"items":{"type":"string"},"readOnly":true,"type":"array"},"hardwareType":{"enum":["unknown","wireless","ethernet","modem","virtual","loopback","other"],"example":"wireless","type":"string","$$ref":"#/components/schemas/InterfaceHardwareType"},"interfaceName":{"description":"Network interface name.","example":"en0","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/NetworkInterface"}},"type":"object","$$ref":"#/components/schemas/NetworkProfile","description":"Contains basic network connectivity parameters."},"icmpTraceroute":{"properties":{"destination":{"description":"The target IP address.","example":"13.32.22.232","readOnly":true,"type":"string"},"error":{"description":"Only present when there is an error","example":"An operation timed out.","readOnly":true,"type":"string"},"infoFlags":{"example":["TE_INFO_ICMP_BLOCKED_BY_FIREWALL"],"items":{"type":"string"},"readOnly":true,"type":"array"},"internalErrors":{"example":["TE_INFO_ICMP_BLOCKED_BY_FIREWALL"],"items":{"type":"string"},"readOnly":true,"type":"array"},"hops":{"items":{"properties":{"hop":{"description":"The hop index.","example":1,"readOnly":true,"type":"integer"},"ipAddress":{"description":"IP address of the hop.","example":"196.40.106.237","readOnly":true,"type":"string"},"prefix":{"description":"Prefix of IP address shown in CIDR.","example":"196.40.96.0/20","readOnly":true,"type":"string"},"asn":{"description":"Unique number assigned to an organization (also referred to as service provider).","example":34779,"readOnly":true,"type":"integer"},"delay":{"description":"Hop delay","example":5,"readOnly":true,"type":"integer"},"mpls":{"description":"Hop Multiprotocol Label Switching.","example":["L=301472,E=0,S=1,T=1"],"items":{"type":"string"},"readOnly":true,"type":"array"},"name":{"description":"The hop name.","example":"89-210-88-65.access.t-2.net","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/TracerouteHop"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/Traceroute"},"icmpTraceroutes":{"items":{"properties":{"destination":{"description":"The target IP address.","example":"13.32.22.232","readOnly":true,"type":"string"},"error":{"description":"Only present when there is an error","example":"An operation timed out.","readOnly":true,"type":"string"},"infoFlags":{"example":["TE_INFO_ICMP_BLOCKED_BY_FIREWALL"],"items":{"type":"string"},"readOnly":true,"type":"array"},"internalErrors":{"example":["TE_INFO_ICMP_BLOCKED_BY_FIREWALL"],"items":{"type":"string"},"readOnly":true,"type":"array"},"hops":{"items":{"properties":{"hop":{"description":"The hop index.","example":1,"readOnly":true,"type":"integer"},"ipAddress":{"description":"IP address of the hop.","example":"196.40.106.237","readOnly":true,"type":"string"},"prefix":{"description":"Prefix of IP address shown in CIDR.","example":"196.40.96.0/20","readOnly":true,"type":"string"},"asn":{"description":"Unique number assigned to an organization (also referred to as service provider).","example":34779,"readOnly":true,"type":"integer"},"delay":{"description":"Hop delay","example":5,"readOnly":true,"type":"integer"},"mpls":{"description":"Hop Multiprotocol Label Switching.","example":["L=301472,E=0,S=1,T=1"],"items":{"type":"string"},"readOnly":true,"type":"array"},"name":{"description":"The hop name.","example":"89-210-88-65.access.t-2.net","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/TracerouteHop"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/Traceroute"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/LocalNetworkTopologyResult"},"type":"array"},"_links":{"description":"A links object containing the self link.","properties":{"self":{"description":"A hyperlink from the containing resource to a URI.","properties":{"href":{"description":"Its value is either a URI [RFC3986] or a URI template [RFC6570].","example":"https://api.thousandeyes.com/v7/link/to/resource/id","type":"string"},"templated":{"description":"Should be true when the link object's \"href\" property is a URI template.","type":"boolean"},"type":{"description":"Used as a hint to indicate the media type expected when dereferencing the target resource.","type":"string"},"deprecation":{"description":"Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.","type":"string"},"name":{"description":"Its value may be used as a secondary key for selecting link objects that share the same relation type.","type":"string"},"profile":{"description":"A URI that hints about the profile of the target resource.","type":"string"},"title":{"description":"Intended for labelling the link with a human-readable identifier","type":"string"},"hreflang":{"description":"Indicates the language of the target resource","type":"string"}},"required":["href"],"type":"object","$$ref":"#/components/schemas/Link"}},"readOnly":true,"type":"object","$$ref":"#/components/schemas/SelfLinks"}},"type":"object","$$ref":"#/components/schemas/LocalNetworkTopologyDetailResults"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"properties":{"error":{"example":"invalid_token","type":"string"},"error_description":{"example":"Invalid access token","type":"string"}},"type":"object","$$ref":"#/components/schemas/UnauthorizedError"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Insufficient permissions to query endpoint"},"404":{"content":{"application/problem+json":{"example":{"type":"about:blank","title":"URI Resource Not Found","status":404,"detail":"Details explaining if the 404 error is related to an invalid URI or a wrong ID","instance":"/v7"},"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Not found"},"429":{"content":{"application/problem+json":{"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Exhausted rate limit for the organization"},"500":{"content":{"application/problem+json":{"example":{"type":"about:blank","title":"Internal server error","status":500,"detail":"Optional detail about the internal error message.","instance":"/v7"},"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Internal server error"},"502":{"content":{"application/problem+json":{"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Bad Gateway"}},"summary":"Retrieve endpoint local network topology","tags":["Local Network Endpoint Test Results"],"__originalOperationId":"getLocalNetworksTestResultsTopology","security":[{"BearerAuth":[]}],"method":"get","path":"/endpoint/test-results/local-networks/topologies/{networkTopologyId}"}}