Post SCA results
curl --request POST \
--url https://{hostname}.gable.ai/v0/sca/results \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"paths": [
{
"ingress": {
"signature_name": "<string>",
"schema": {
"type": "struct",
"name": "<string>",
"fields": [
{
"type": "struct",
"name": "<string>",
"fields": "<array>",
"alias": "<string>",
"doc": "<string>",
"logical": "<string>",
"optional": true
}
],
"alias": "<string>",
"doc": "<string>",
"logical": "<string>"
},
"kind": "<string>",
"code_anchor": {
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
},
"description": "<string>",
"id": "<string>"
},
"egress": {
"signature_name": "<string>",
"schema": {
"type": "struct",
"name": "<string>",
"fields": [
{
"type": "struct",
"name": "<string>",
"fields": "<array>",
"alias": "<string>",
"doc": "<string>",
"logical": "<string>",
"optional": true
}
],
"alias": "<string>",
"doc": "<string>",
"logical": "<string>"
},
"kind": "<string>",
"code_anchor": {
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
},
"description": "<string>",
"id": "<string>"
},
"code_anchors": [
{
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
}
],
"field_mappings": [
{
"ingress_field": "<string>",
"egress_field": "<string>",
"notes": "<string>",
"field_data_flow_path": [
{
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
}
]
}
],
"transformation_summary": "<string>",
"transformation_summary_detailed": "<string>"
}
],
"run_id": "<string>",
"external_component_id": "<string>",
"type": "<string>",
"name": "<string>",
"metadata": {
"extras": {}
}
}
'{
"message": "<string>",
"id": 123,
"title": "<string>"
}The lineage data for a component. This is not actually part of the API, but is used to generate the type for validation at the CLI and in the backend lineage queue handler.
Show child attributes
Show child attributes
The name of the package, class, or method that the ingress/egress point is associated with
Show child attributes
struct Show child attributes
struct The kind of the ingress/egress (e.g. "postgres", "gateway_response")
The code anchor that represents the ingress/egress point in the codebase (optional for BYOL imports). This should be the same as the first (for ingress) or last (for egress) code anchor in the flow path.
Show child attributes
Unique identifier for the anchor. Analogous to a merge key. Conceptually, an anchor represents a point in code which is ideally stable to some set of changes to surrounding code. Generated by the tool.
Code URI is a unique identifier for a code location. It is used to identify the code location in the codebase.
Show child attributes
Relative file path in the repo
An AI-generated summary of the ingress/egress point.
The ID of the ingress/egress point. This is a unique identifier for the ingress/egress point.
Show child attributes
The name of the package, class, or method that the ingress/egress point is associated with
Show child attributes
struct Show child attributes
struct The kind of the ingress/egress (e.g. "postgres", "gateway_response")
The code anchor that represents the ingress/egress point in the codebase (optional for BYOL imports). This should be the same as the first (for ingress) or last (for egress) code anchor in the flow path.
Show child attributes
Unique identifier for the anchor. Analogous to a merge key. Conceptually, an anchor represents a point in code which is ideally stable to some set of changes to surrounding code. Generated by the tool.
Code URI is a unique identifier for a code location. It is used to identify the code location in the codebase.
Show child attributes
Relative file path in the repo
An AI-generated summary of the ingress/egress point.
The ID of the ingress/egress point. This is a unique identifier for the ingress/egress point.
Ordered list of code anchors that represent the path from ingress to egress. The order of the anchors in this array represents the flow of data through the codebase.
Show child attributes
Unique identifier for the anchor. Analogous to a merge key. Conceptually, an anchor represents a point in code which is ideally stable to some set of changes to surrounding code. Generated by the tool.
Code URI is a unique identifier for a code location. It is used to identify the code location in the codebase.
List of identified field mappings between schema at ingress and egress.
Show child attributes
The field in the ingress schema
The field in the egress schema
Notes about the mapping
The field data flow path that represents this mapping
Show child attributes
Unique identifier for the anchor. Analogous to a merge key. Conceptually, an anchor represents a point in code which is ideally stable to some set of changes to surrounding code. Generated by the tool.
Code URI is a unique identifier for a code location. It is used to identify the code location in the codebase.
Show child attributes
Relative file path in the repo
An AI-generated summary of the data transformation that occurs along this path.
A detailed, AI-generated summary of the data transformation that occurs along this path.
The ID of the run that the paths belong to
Optional ID of the external component that was analyzed
The type of component that was analyzed
"CODE"The name of the component that was analyzed
SCA results
curl --request POST \
--url https://{hostname}.gable.ai/v0/sca/results \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"paths": [
{
"ingress": {
"signature_name": "<string>",
"schema": {
"type": "struct",
"name": "<string>",
"fields": [
{
"type": "struct",
"name": "<string>",
"fields": "<array>",
"alias": "<string>",
"doc": "<string>",
"logical": "<string>",
"optional": true
}
],
"alias": "<string>",
"doc": "<string>",
"logical": "<string>"
},
"kind": "<string>",
"code_anchor": {
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
},
"description": "<string>",
"id": "<string>"
},
"egress": {
"signature_name": "<string>",
"schema": {
"type": "struct",
"name": "<string>",
"fields": [
{
"type": "struct",
"name": "<string>",
"fields": "<array>",
"alias": "<string>",
"doc": "<string>",
"logical": "<string>",
"optional": true
}
],
"alias": "<string>",
"doc": "<string>",
"logical": "<string>"
},
"kind": "<string>",
"code_anchor": {
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
},
"description": "<string>",
"id": "<string>"
},
"code_anchors": [
{
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
}
],
"field_mappings": [
{
"ingress_field": "<string>",
"egress_field": "<string>",
"notes": "<string>",
"field_data_flow_path": [
{
"anchor_id": "<string>",
"code_uri": {
"file": "<string>",
"line_start": 123,
"column_start": 123,
"line_end": 123,
"column_end": 123
}
}
]
}
],
"transformation_summary": "<string>",
"transformation_summary_detailed": "<string>"
}
],
"run_id": "<string>",
"external_component_id": "<string>",
"type": "<string>",
"name": "<string>",
"metadata": {
"extras": {}
}
}
'{
"message": "<string>",
"id": 123,
"title": "<string>"
}