lineage
Export a component's lineage
Export one component’s discriminator lineage for a run: the same payload groups, field mapping rows, tags and strand edges the component details page reads, plus the components one strand edge away. Code steps are omitted unless includeCodeAnchors is true.
GET
/
v0
/
lineage
/
component-export
Export a component's lineage
curl --request GET \
--url https://{hostname}.gable.ai/v0/lineage/component-export \
--header 'X-API-KEY: <api-key>'import requests
url = "https://{hostname}.gable.ai/v0/lineage/component-export"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://{hostname}.gable.ai/v0/lineage/component-export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{hostname}.gable.ai/v0/lineage/component-export",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{hostname}.gable.ai/v0/lineage/component-export"
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))
}HttpResponse<String> response = Unirest.get("https://{hostname}.gable.ai/v0/lineage/component-export")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{hostname}.gable.ai/v0/lineage/component-export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"timestamp": "2023-11-07T05:31:56Z",
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lineage": {
"lineageMode": "NO_STRAND_DATA",
"selectedVersionId": "<string>",
"component": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"friendlyName": "<string>",
"namespace": "<string>",
"repoName": "<string>",
"repoUri": "<string>",
"repoUiUrl": "<string>",
"repoBranch": "<string>",
"projectRoot": "<string>",
"latestVersionId": "<string>"
}
},
"connectedComponents": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "CODE",
"direction": "UPSTREAM",
"namespace": "<string>",
"schema": {
"fields": [
{
"name": "<string>",
"type": "<string>"
}
]
}
}
]
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}Authorizations
Query Parameters
UUID of the run (the scan version) to export.
When true, every field mapping row carries its code paths and the response carries the deduplicated anchor pool.
Response
The component's lineage export
Response for the discriminator data read operation. The lineageMode property selects the variant: NO_STRAND_DATA (no data) or DISCRIMINATOR (roll-up rows).
- Option 1
- Option 2
Show child attributes
Show child attributes
Components on the other end of a non-deleted strand edge from the exported component.
Show child attributes
Show child attributes
⌘I
Export a component's lineage
curl --request GET \
--url https://{hostname}.gable.ai/v0/lineage/component-export \
--header 'X-API-KEY: <api-key>'import requests
url = "https://{hostname}.gable.ai/v0/lineage/component-export"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://{hostname}.gable.ai/v0/lineage/component-export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{hostname}.gable.ai/v0/lineage/component-export",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{hostname}.gable.ai/v0/lineage/component-export"
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))
}HttpResponse<String> response = Unirest.get("https://{hostname}.gable.ai/v0/lineage/component-export")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{hostname}.gable.ai/v0/lineage/component-export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"timestamp": "2023-11-07T05:31:56Z",
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lineage": {
"lineageMode": "NO_STRAND_DATA",
"selectedVersionId": "<string>",
"component": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"friendlyName": "<string>",
"namespace": "<string>",
"repoName": "<string>",
"repoUri": "<string>",
"repoUiUrl": "<string>",
"repoBranch": "<string>",
"projectRoot": "<string>",
"latestVersionId": "<string>"
}
},
"connectedComponents": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "CODE",
"direction": "UPSTREAM",
"namespace": "<string>",
"schema": {
"fields": [
{
"name": "<string>",
"type": "<string>"
}
]
}
}
]
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}