- Home
- API Enriched
- Telemetry And Insights
- data
- Service Edge Query.
Service Edge Query.
const url = 'https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/data/namespaces/example/graph/service/edge';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"dst_id":{"app_type":"example","service":"example","site":"example","vip":"example","virtual_host":"example"},"end_time":"example","field_selector":{"api_endpoint":{},"healthscore":{"types":["HEALTHSCORE_NONE"]},"metric":{"features":["TIMESERIES_FEATURE_NONE"],"types":["METRIC_TYPE_NONE"]}},"namespace":"example","range":"example","src_id":{"app_type":"example","service":"example","site":"example","vip":"example","virtual_host":"example"},"start_time":"example","step":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/data/namespaces/example/graph/service/edge \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "dst_id": { "app_type": "example", "service": "example", "site": "example", "vip": "example", "virtual_host": "example" }, "end_time": "example", "field_selector": { "api_endpoint": {}, "healthscore": { "types": [ "HEALTHSCORE_NONE" ] }, "metric": { "features": [ "TIMESERIES_FEATURE_NONE" ], "types": [ "METRIC_TYPE_NONE" ] } }, "namespace": "example", "range": "example", "src_id": { "app_type": "example", "service": "example", "site": "example", "vip": "example", "virtual_host": "example" }, "start_time": "example", "step": "example" }'Request to GET time-series data for an edge in the service mesh graph.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Namespace namespace is used to scope the application traffic to a given namespace.
Request Bodyrequired
Section titled “Request Bodyrequired”While graph/service API is used to GET the service mesh for an app_type, where each node and edge contains the aggregated value for each field; graph/service/edge API is used to GET the time-series data (drill-down of aggregated data) for each field.
object
object
Application type associated with the service.
Network name or name of the virtual service Required: YES.
Site name where the service is running. If the service is deployed in multiple sites, only the metric from this site will be returned in the response.
VIP associated with the Virtual Host.
Virtual host associated with the service Required: YES.
End time of metric collection from which data will be considered to build graph. Format: unix_timestamp|RFC 3339
Optional: If not specified, then the end_time will be evaluated to start_time+10m
If start_time is not specified, then the end_time will be evaluated to
object
object
object
Healthscore types to be returned in the response.
object
Specify list of timeseries features that should be returned for each metric type in the request.
Specify list of metrics that should be returned for each edge in the connectivity graph.
Namespace is used to scope the application traffic to a given namespace.
Range decides how far to go back in time to fetch values for each step. For example, if the range is 5m, then for step t1, query will be evaluated for t1-5m and for t2, query will be evaluated for t2-5m and so on. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days
Note: For non-timeseries query, i.e., for step=end_time-start_time, range should be set to end_time-start_time
Optional: If not specified, range is set to 5m.
object
Application type associated with the service.
Network name or name of the virtual service Required: YES.
Site name where the service is running. If the service is deployed in multiple sites, only the metric from this site will be returned in the response.
VIP associated with the Virtual Host.
Virtual host associated with the service Required: YES.
Start time of metric collection from which data will be considered to build graph. Format: unix_timestamp|RFC 3339
Optional: If not specified, then the start_time will be evaluated to end_time-10m
If end_time is not specified, then the start_time will be evaluated to
Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response. The timestamps in the response will be t1=start_time, t2=t1+step, … Tn=tn-1+step, where tn <= end_time. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days
Optional: If not specified, then step size is evaluated to <end_time - start_time>
Responses
Section titled “Responses”A successful response.
Response for graph/service/edge API returns the time-series data for the service edge specified in the request.
object
object
Discovered API Endpoints between two services.
Details about the discovered API Endpoints between services. Each discovered Endpoint has a collapsed URL and the associated method. Probablity Density Function of request size, response size and latency per API Endpoint is also returned.
object
object
Access_discovery_time is the time when the API endpoint was updated from the access logs by the discovery mechanism. It is the UTC time and represented in RFC3339 form.
List of API Groups the API Endpoint is a member of.
List of API endpoint attributes.
List of authentication types found in the API endpoint and their locations.
API Endpoint’s Authentication Type and Location.
object
The detected authentication type by string format.
Average latency observed for the API Endpoint.
The base path for this Endpoint.
The category of the API Endpoint relative to API Inventory.
URL for automatically identified API.
List of compliance frameworks of the Endpoint.
List of Domains of the API endpoint.
For example - {“dyn_examples”: [ { “component_identifier”: “API/v1/user_id/DYN”, “component_examples”: [ “cmenomo007”, “marcusaurelius” “artattacksince1947”, “johndoe83”, ] }, { “component_identifier”: “API/v1/user_id/DYN/vehicle_id/DYN”, “component_examples”: [ “JN1CV6AR3AM458367”, “1GBCS10AXP2917522”, “JM1DE1KY9D0155647”, “JN1CA31D5YT533780” ] } ]} List of sample URL(s) that are collapsed and dynamic components to collapse them.
List of Examples of expanded URL components for API endpoints that are collapsed with a dynamic component that is identified automatically.
object
List of sample URL(s) that are collapsed.
Dynamic component used to collapse sample URLs given in Expanded URLs.
List of engines that detected the endpoint.
Number of request with 4xx or 5xx response for the API Endpoint.
Has Learnt Schema flag for request API endpoint.
API testing last tested time is the time when the API endpoint was last tested.
Maximum latency observed for the API Endpoint.
HTTP method for the API.
object
Creation_timestamp represents the time when this PDF was created It is represented in RFC3339 form and is in UTC.
List of Probability density points for PDF for error rate.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for latency of response begin.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for latency of response end.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for request rate.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for request size.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for response size.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for response throughput.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
Request rate for the API Endpoint.
Percentage of requests that were directed to this API Endpoint.
Number of requests seen for this API Endpoint for the specified time-range.
object
Score of the vulnerabilities found for this API Endpoint.
Schema status indicates the API Endpoint’s schema origin and if it’s outdated.
Number of sec_events seen for this API Endpoint for the specified time-range.
List of Sensitive Data found in the API endpoint.
Sensitive data location for the API Endpoint.
List of Sensitive Data found in the API endpoint.
Categories of the vulnerability as per the OWASP API Top 10.
Represents a category of vulnerability as defined in the OWASP API Top 10.
object
Link to the OWASP documentation for this category.
The name of the OWASP API security category.
object
Creation_timestamp represents the time when this PDF was created It is represented in RFC3339 form and is in UTC.
List of Probability density points for PDF for error rate.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for latency of response begin.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for latency of response end.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for request rate.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for request size.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for response size.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
List of Probability density points for PDF for response throughput.
Probability Density point in (PDF(x)) of the metric. X is the value of the metric, probability is the corresponding PDF(x). In the univariate case (current configuration), the value x of the metrics is a scaler. As PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.
object
Probability of given Value of the metric that can be plotted on y-axis.
Value of the metric that can be plotted on x-axis.
object
Pdf_95 represents the 95th percentile of PDF.
Pdf_mean represents the mean of PDF.
object
List of healthscores specified in the request.
HealthScoreTypeData contains healthscore type and the corresponding value.
object
A human readable string explaining the reason in case of bad healthscore.
Healthscore value.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
object
List of metric specified in the request for an edge.
MetricData contains the metric type and the corresponding metric value(s)
object
object
Number of anomalies for the given time range.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
Lower Bound of the metric value.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
Upper Bound of the metric value.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
Healscore of the metric calculated based on the number of anomalies and the value of the anomalies for the time range.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
List of metric values for a given metric type.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
Indicates the metric trend.
Each metric value consists of a timestamp and a value. Timestamp in the Metric Value is based on the start_time, end_time and step in the request. Valid values for timestamp are t1=start_time, t2=t1+step, t3=t2+step, … Tn=tn-1+step, where tn <= end_time. Response may not contain values for all timestamps between start_time and end_time.
object
UTC timestamp in seconds.
object
Description of the method used to calculate trend.
Configuration parameter for previous value
Configuration parameter for value
Metric value.
Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.
Example
{ "data": { "api_endpoints": [ { "api_ep": { "api_type": "API_TYPE_UNKNOWN", "authentication_state": "AUTH_STATE_UNKNOWN", "authentication_types": [ { "location": "AUTH_LOCATION_HEADER", "type": "AUTH_TYPE_BASIC" } ], "category": [ "APIEP_CATEGORY_DISCOVERED" ], "pii_level": "APIEP_PII_NOT_DETECTED", "risk_score": { "severity": "APIEP_SEC_RISK_NONE" }, "security_risk": "APIEP_SEC_RISK_NONE", "sensitive_data": [ "SENSITIVE_DATA_TYPE_CCN" ] } } ], "healthscore": { "data": [ { "type": "HEALTHSCORE_NONE", "value": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ] } ] }, "metric": { "data": [ { "type": "METRIC_TYPE_NONE", "unit": "UNIT_MILLISECONDS", "value": { "anomaly": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ], "confidence_lower_bound": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ], "confidence_upper_bound": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ], "healthscore": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ], "raw": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ], "trend": [ { "trend_value": { "sentiment": "TREND_SENTIMENT_NONE" } } ] } } ] } }}Returned when operation is not authorized.
Examplegenerated
exampleReturned when there is no permission to access resource.
Examplegenerated
exampleReturned when resource is not found.
Examplegenerated
exampleReturned when operation on resource is conflicting with current value.
Examplegenerated
exampleReturned when operation has been rejected as it is happening too frequently.
Examplegenerated
exampleReturned when server encountered an error in processing API.
Examplegenerated
exampleReturned when service is unavailable temporarily.
Examplegenerated
exampleReturned when server timed out processing request.
Examplegenerated
example