Query lineage, transformations, and impact
Use the request conventions. All methods are POST, with paths appended to /sqlink. Replace example IDs and tags with actual environment identifiers; names and IDs from other environments are not interchangeable.
A subgraph is a filtered part of the lineage graph. Transformation logic explains processing between inputs and outputs. Impact identifies potential dependencies in harvested and parsed relationships; it does not establish actual business loss.
Query a subgraph
For cross-module integration, see the DAM lineage API scenario and verify the deployed contract and enum differences.
Path: /lineageGraph/query. Parameters are in the JSON body.
| Parameter | Type | Required | Meaning and documented default |
|---|---|---|---|
id | String | Yes | Target node ID |
queryType | String | No | SCHEMA, TABLE, COLUMN; default TABLE |
depth | Integer | No | Expansion depth; default 3 |
direction | String | No | FORWARD downstream, BACKWARD upstream, ALL both; default ALL |
hasTemp | Boolean | No | Include temporary tables; default false |
tags | Array | No | Example uses tag names, unlike tagIds in tagging APIs |
Set scope explicitly where possible. This ID is a placeholder:
{
"id": "example-node-id",
"queryType": "TABLE",
"depth": 2,
"direction": "FORWARD",
"hasTemp": false
}Responses contain nodes and relationships. Nodes include id, name, parentId, type, and properties. Relationships use srcId, dstId, lineageId, and properties. Verify start object, direction, depth, filters, and endpoint consistency. An absent object may be beyond the query scope.
Retrieve transformations
Path: /lineageGraph/getTransform.
- Optional query Boolean
isGraphdefaults totruein the source reference for in-graph mode. - The body uses graph conditions and a target
id. The source also mentionsqueryIdswithout a complete structure; verify the actual contract before batch use. - Example result fields include
startIds,endId,transforms,lineageName,lineageId, andlineageTransformationType.
Compare transforms with source code and input/output objects. Fragments may not be executable standalone. See code slicing.
Query impact
Path: /lineageGraph/getImpact. Parameters are in the JSON body.
| Parameter | Type | Required | Meaning and documented default |
|---|---|---|---|
id | String | Yes | Reference node ID |
direction | String | No | FORWARD or BACKWARD; default FORWARD; do not assume every graph enum applies |
depth | Integer | No | Default 3 |
resourceTypes | Array | No | Filter TABLE, REPORT, COLUMN |
Example response fields are id, name, alias, type, dataArea, and direction. The source's unrestricted-scope wording is inconsistent with its array type; do not invent a string ALL value for the array. Follow the deployed definition.
Results do not notify owners or modify downstream assets. Assess business implications through scenarios.
Namespace statistics
Path: /dataArea/getMetadataCoverage. Required query namespaceId is Long.
| Level | Lineage count | Metadata count |
|---|---|---|
| Schema | schemaInLineage | schemaInMetadata |
| Table | tableInLineage | tableInMetadata |
| Field | columnInLineage | columnInMetadata |
Verify namespace and harvesting scope. Counts alone do not prove correct one-to-one matching. Use the defined coverage calculation rather than deriving an undocumented percentage.
Find objects by tag
Path: /tag/getByTag. Required Long query tagId is an actual tag ID, not a name. This read does not add tags or propagate them.
Validate responses
| HTTP status | Meaning | Check |
|---|---|---|
| 200 | Request succeeded | Business fields and scope |
| 400 | Invalid parameters | Location, requirements, types, enums, IDs |
| 401 | Authentication failed | Current credentials and access |
| 404 | Path or resource missing | Base path, existence, visibility |
| 500 | Service error | Retain time, endpoint, error summary for administrator |
Record scope, IDs, status, and business outcome without real tokens or keys. Page access, HTTP success, and correct relationships require separate checks.
