Compute a measurement report on the fly - Gable Docs
Compute a measurement report on the fly
cURL
curl --request GET \
--url 'https://demo-api.gable.ai/v0/measurements/generate?scanOnly=false&applyIEInclusionFilter=true' \
--header 'X-API-KEY: <api-key>'
Python
import requests
url = "https://demo-api.gable.ai/v0/measurements/generate?scanOnly=false&applyIEInclusionFilter=true"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)
JavaScript
const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://demo-api.gable.ai/v0/measurements/generate?scanOnly=false&applyIEInclusionFilter=true', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://demo-api.gable.ai/v0/measurements/generate?scanOnly=false&applyIEInclusionFilter=true",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
Go
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://demo-api.gable.ai/v0/measurements/generate?scanOnly=false&applyIEInclusionFilter=true"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response Codes
- 200: Success
- 400: Bad Request
- 401: Unauthorized
- 404: Not Found
Response Structure
{
"metadata": {
"baseTimestamp": "<string>",
"compareTimestamp": "<string>",
"comparisonDate": "<string>",
"componentName": "<string>",
"baseNamespace": "<string>",
"compareNamespace": "<string>",
"baseComponentId": "<string>",
"compareComponentId": "<string>",
"baseVersionId": "<string>",
"compareVersionId": "<string>",
"baseScaPrimeVersion": "<string>",
"compareScaPrimeVersion": "<string>",
"filterSet": {
"name": "<string>",
"includedPaths": 123,
"totalPaths": 123
},
"mappingJoinMultiplicity": {
"baseDuplicateKeyCount": 123,
"compareDuplicateKeyCount": 123,
"crossProductKeyCount": 123,
"extraJoinedRows": 123,
"samples": [
{
"pathPayloadName": "<string>",
"ingressField": "<string>",
"egressField": "<string>",
"baseCount": 123,
"compareCount": 123,
"joinedRows": 123,
"extraJoinedRows": 123
}
]
}
},
"summary": {
"fullyQualified": {
"total": 123,
"full": 123,
"partial": 123,
"missing": 123,
"highQualityTotal": 123,
"highQualityFull": 123,
"highQualityPartial": 123,
"highQualityMissing": 123,
"lowQualityTotal": 123,
"lowQualityFull": 123,
"lowQualityPartial": 123,
"lowQualityMissing": 123
},
"partiallyQualified": {
"total": 123,
"full": 123,
"partial": 123,
"missing": 123,
"highQualityTotal": 123,
"highQualityFull": 123,
"highQualityPartial": 123,
"highQualityMissing": 123,
"lowQualityTotal": 123,
"lowQualityFull": 123,
"lowQualityPartial": 123,
"lowQualityMissing": 123
}
},
"paths": [
{
"pathId": "<string>",
"ingress": {
"id": "<string>",
"payloadName": "<string>",
"signatureName": "<string>",
"schemaName": "<string>"
},
"egress": {
"id": "<string>",
"payloadName": "<string>",
"signatureName": "<string>",
"schemaName": "<string>"
},
"notes": "<string>",
"dimensions": {},
"details": {
"ingressFields": [
{
"fieldName": "<string>",
"fieldType": "<string>"
}
],
"egressFields": [
{
"fieldName": "<string>",
"fieldType": "<string>"
}
],
"mappings": [
{
"ingressField": "<string>",
"egressField": "<string>"
}
],
"codeSteps": [
{
"stepOrder": 123,
"ingressField": "<string>",
"egressField": "<string>"
}
],
"pathAnchors": [
{
"anchorName": "<string>",
"filePath": "<string>",
"baseLine": "<string>",
"compareLine": "<string>"
}
]
}
}
],
"extraPaths": [
{
"extraPathId": "<string>",
"ingressPayload": "<string>",
"egressPayload": "<string>",
"pathPayloadName": "<string>"
}
]
}
Authorizations
- X-API-KEY (string) in the header, required for access to the API.
Query Parameters
- componentId (string, required): Component to measure.
- compareVersionId (string, required): Version to evaluate against the base.
- baseVersionId (string): Base version ID. Defaults to latest if omitted.
- compareComponentId (string): Component ID for the compare version. Defaults to componentId if omitted. Use when comparing across namespaces.
- scanOnly (enum, default: false): When true, use raw scan data. When false, use projected data.
- applyIEInclusionFilter (enum, default: true): When true, apply IE inclusion filtering to lineage data before generating the measurement report.
- filterSetId (string): Optional ID of a payload filter set to apply.