Introduction to IBM Manta Data Lineage software
You can use the IBM Manta Data Lineage Software REST APIs to see the journey data takes from its origin, through transformations to consumers.
If you are looking for IBM Manta Data Lineage as a Service APIs, see here.
For more information, see Data lineage in IBM Manta Data Lineage.
Endpoint URL
The base URL for all API endpoints is your Cloud Pak for Data deployment URL. To form a complete request URL for an API endpoint, append the method path to the base URL.
API endpoint
https://{cpd_cluster_host}
Example request
curl -H "Authorization: Bearer {access_token}" -X GET "https://{cpd_cluster_host}/{method_endpoint}"
Authentication
To authenticate to the API, pass an access token or platform API key token
in an Authorization
header. See the
IBM Software Hub Platform API Authentication section
for more information.
Curl command with API key to retrieve token
curl -k -X POST https://{cpd_cluster_host}/icp4d-api/v1/authorize -H 'cache-control: no-cache' -H 'content-type: application/json' -d '{"username":"admin","password":"password"}'
Response
{
"_messageCode_": "200",
"message": "Success",
"token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...."
}
Error handling
This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response indicates success. Responses with 400-series or 500-series status codes are returned when a request cannot be completed. The body of these responses follows the error model, which contains a code field to identify the problem and a message field to explain how to solve the problem. Each individual endpoint has specific error messages. All responses with 500 or 503 status codes are logged and treated as a critical failure requiring an emergency fix.
Methods
Get lineage asset by ID
Get lineage asset details based on the ID of the requested asset.
GET /gov_lineage/v2/lineage_assets/{id}
Response
Lineage asset - graph representation of some structure that holds data
ID of the asset
Example:
cd0aa9856147b6c5b4ff2b7dfee5da20aa38253099ef1b4a64aced233c9afe29
All nodes in the hierarchy of the current asset. It starts with the topmost asset (DSD) and ends with the parent of the current asset.
Possible values: 0 ≤ number of items ≤ 64
IKC tags associated with the asset
Possible values: 0 ≤ number of items ≤ 128, contains only unique items, 1 ≤ length ≤ 256, Value must match regular expression
^.*$
Attributes associated with the asset. There might be several attributes with the same key.
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Business terms describing the asset
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Business classifications associated with the asset
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Data classes to which the asset belongs
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Assignments of the asset to catalogs. It contains catalogs to which the asset belongs and information about the asset which are relevant only in the context of the catalog.
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Assignments of the asset to projects. It contains projects to which the asset belongs and information about the asset which are relevant only in the context of the project.
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Name of the asset
Possible values: 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
Example:
customers
Type of the asset (as defined in the model)
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^.*$
Example:
Data Set
Identity key - a type of identifier of the asset (usable outside this API)
Possible values: 1 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
bridges.csv
Resource key - a type of identifier of the asset (usable outside this API)
Possible values: 1 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
bridges.csv
Metadata describing the asset's children
Type of system or a programming language that define the structure of lineage assets inside it
Examples:{ "id": "2e2c6b2f5ad98d7d8d22baaf3b6df79298ed3b72db169ff3865400ecdae91972", "name": "PowerBI" }
True if the asset has been marked by the user as favorite
True if the only source of the information about the asset was deduction. This means that no scan found a definition of the asset but some scan found a mention about the asset's existence and some of its properties (e.g. name). Such assets might lack important information and might be even wrongly placed in the hierarchy.
Status Code
Get successful
Entity not found
{ "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" }
Request
Path Parameters
Id of the asset which will be updated
Request for patching lineage asset in the format of application/merge-patch+json
{
"is_favorite": true
}
True if the asset should be marked by the user as favorite
Response
Lineage asset - graph representation of some structure that holds data
ID of the asset
Example:
cd0aa9856147b6c5b4ff2b7dfee5da20aa38253099ef1b4a64aced233c9afe29
All nodes in the hierarchy of the current asset. It starts with the topmost asset (DSD) and ends with the parent of the current asset.
Possible values: 0 ≤ number of items ≤ 64
IKC tags associated with the asset
Possible values: 0 ≤ number of items ≤ 128, contains only unique items, 1 ≤ length ≤ 256, Value must match regular expression
^.*$
Attributes associated with the asset. There might be several attributes with the same key.
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Business terms describing the asset
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Business classifications associated with the asset
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Data classes to which the asset belongs
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Assignments of the asset to catalogs. It contains catalogs to which the asset belongs and information about the asset which are relevant only in the context of the catalog.
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Assignments of the asset to projects. It contains projects to which the asset belongs and information about the asset which are relevant only in the context of the project.
Possible values: 0 ≤ number of items ≤ 128, contains only unique items
Name of the asset
Possible values: 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
Example:
customers
Type of the asset (as defined in the model)
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^.*$
Example:
Data Set
Identity key - a type of identifier of the asset (usable outside this API)
Possible values: 1 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
bridges.csv
Resource key - a type of identifier of the asset (usable outside this API)
Possible values: 1 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
bridges.csv
Metadata describing the asset's children
Type of system or a programming language that define the structure of lineage assets inside it
Examples:{ "id": "2e2c6b2f5ad98d7d8d22baaf3b6df79298ed3b72db169ff3865400ecdae91972", "name": "PowerBI" }
True if the asset has been marked by the user as favorite
True if the only source of the information about the asset was deduction. This means that no scan found a definition of the asset but some scan found a mention about the asset's existence and some of its properties (e.g. name). Such assets might lack important information and might be even wrongly placed in the hierarchy.
Status Code
Get successful
Entity not found
{ "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" }
List lineage asset children
List lineage asset children based on the ID of the parent asset.
GET /gov_lineage/v2/lineage_assets/{id}/children
Request
Path Parameters
Id of the parent lineage asset
Query Parameters
Optional prefix of the name that filters the results. Only the assets with the name starting with prefix (case-insensitive) will be returned. If empty or not specified, all children are returned.
Possible values: 0 ≤ length ≤ 1024, Value must match regular expression
^.*$
If specified, the response should only contain assets that are part of lineage defined by the specified asset ids. It means that only assets that are accessible (directly or transitively) from the specified asset ids will be returned. The ids are divided by commas, their order isn't taken into account.
Maximum: 100 items
Possible values: 1 ≤ length ≤ 6499, Value must match regular expression
^[\da-f]+(,[\da-f]+)*$
Definition of order of the returned values (minus as a prefix means descending order). Use "name" or "-name".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
name
Example:
-name
If true, the lineage graph can be loaded from a cache. If false, the lineage graph must be recalculated from the current data. This parameter only makes sense when lineage_initial_asset_ids is specified.
Default:
true
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Response
A slice of the result for getting child assets with information about its position in the ordered result and access to other pages.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
The list of child assets in the page
Possible values: 0 ≤ number of items ≤ 1000
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
Entity not found
{ "children": [ { "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" } ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=5&limit=5" }, "total_count": 28 }
Request
Query Parameters
Definition of order of the returned values (minus as a prefix means descending order). Use "name" or "-name".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
name
Example:
-name
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Should the response only contain assets that have no parent?
Default:
false
Should the response only contain favorite assets?
Default:
false
Ids of the requested assets delimited by comma. Maximum: 100 items
Possible values: 1 ≤ length ≤ 6499, Value must match regular expression
^[\da-f]+(,[\da-f]+)*$
Ids of the parents of the requested assets delimited by comma. If not specified, all assets are returned without a regard to their parents.
Maximum: 100 items
Possible values: 1 ≤ length ≤ 6499, Value must match regular expression
^[\da-f]+(,[\da-f]+)*$
Should the total number of assets be part of the response?
Default:
false
If specified, the response should only contain assets that are part of lineage defined by the specified asset ids. It means that only assets that are accessible (directly or transitively) from the specified asset ids will be returned. The ids are divided by commas, their order isn't taken into account.
Maximum: 100 items
Possible values: 1 ≤ length ≤ 6499, Value must match regular expression
^[\da-f]+(,[\da-f]+)*$
If true, the lineage graph can be loaded from a cache. If false, the lineage graph must be recalculated from the current data. This parameter only makes sense when lineage_initial_asset_ids is specified.
Default:
true
Response
A slice of the result for getting lineage assets with information about its position in the ordered result and access to other pages.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
The list of lineage assets in the page
Possible values: 0 ≤ number of items ≤ 1000
Total number of items in the whole result
Example:
23
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
Unauthorized
Forbidden. The user must have a proper role assigned to access this resource
{ "lineage_assets": [ { "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" } ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets?offset=5&limit=5" }, "total_count": 28 }
List lineage asset types
Lists distinct types of existing lineage assets
GET /gov_lineage/v2/lineage_asset_types
Request
Query Parameters
Optional prefix of the asset type that filters the results. Only the asset types starting with the prefix (case-insensitive) will be returned. If empty or not specified, all types are returned.
Possible values: 0 ≤ length ≤ 1024, Value must match regular expression
^.*$
Definition of order of the returned values (minus as a prefix means descending order). Use "asset_type" or "-asset_type".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
asset_type
Example:
-asset_type
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Response
A slice of the result for getting lineage assets types with information about its position in the ordered result and access to other pages.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
The list of lineage asset types in the page
Possible values: 0 ≤ number of items ≤ 1000, 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
{ "lineage_asset_types": [ "Column", "Table", "Database" ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_asset_types?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_asset_types?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_asset_types?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_asset_types?offset=5&limit=5" }, "total_count": 28 }
Search lineage asset names
Search distinct lineage asset names
POST /gov_lineage/v2/search_lineage_asset_names
Request
Request for search of unique asset names
Only names of assets that match all of the filters will be returned.
Possible values: 0 ≤ number of items ≤ 32, contains only unique items
The text that will be searched in the database
Possible values: 1 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
Where is Waldo?
The number of unique names that should be returned
Possible values: 1 ≤ value ≤ 1000
Default:
10
Response
Response of search of lineage asset names
Unique names of assets that were best matching the query
Possible values: 0 ≤ number of items ≤ 1000, 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
Status Code
Get successful
{ "lineage_asset_names": [ "car", "caraway", "carpet", "placard" ] }
Request
Request for asset search
The text that will be searched in the database
Possible values: 0 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
Where is Waldo?
The filters that the assets must match to be returned. Each filter must be matched.
Possible values: 0 ≤ number of items ≤ 64, contains only unique items
Definition of the order of the returned results.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Default:
10
Represents options for calculating the lineage of assets. This class encapsulates the initial asset IDs from which lineage should be computed and a flag indicating whether the lineage graph can be loaded from a cache.
Response
Response of search for lineage assets. It contains a page with the search results.
The list of found lineage assets in the returned page
Possible values: 0 ≤ number of items ≤ 1000
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Status Code
Get successful
{ "lineage_assets": [ { "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" } ], "offset": 10, "limit": 5, "total_count": 15 }
Query lineage graph
Queries the data flow and returns a subset of the lineage graph.
The data flow lineage works with 3 main concepts: the full lineage graph, the limited graph ("initial lineage"), and view on the initial lineage. The initial lineage is a subset of graph that contains all assets accessible from the given starting nodes. This graph subset is too big to return and too big to navigate in. For this reason, the query response contains only a "view" which is a subset of the initial lineage. The view can always only contain one asset from the hierarchy (if column is present in the view, the table or schema it belongs to can't be part of the view. The already known view should be specified in the request, so that summary edges can be calculated correctly and the direct edges will point to the right assets when it's possible to choose several in the hierarchy.
The request contains the definition of a known view (e.g. the previous view the client already has) and a optional modifier which enhances the view. The response contains a view that is created by applying the modifier to the specified view. If no modifier is passed, the requested view is responded.
POST /gov_lineage/v2/query_lineage
Request
Generic request to query the data flow lineage. The client can choose from several modifiers which define how the responded view will differ compared to the input view. Only one (or no) modifier can be specified in a request.
Ids of assets from which the initial lineage was created. The query only returns assets that are part of the initial lineage, everything else is ignored. The initial lineage is defined as the set of assets that have upstream lineage to any of the initial asset or downstream lineage from it.
The flow might be represented by a direct edge from/to the initial asset (INITIAL -> TARGET) or by a set of assets and edges in some direction (INITIAL -> A -> B -> TARGET). If some of the edges have different direction than the others, they don't count as a flow (e.g. INITIAL -> A <- TARGET isn't a flow from INITIAL to TARGET).
Possible values: 1 ≤ number of items ≤ 64, contains only unique items
Ids of assets that are currently visible to the client. The client is supposed to hold a set of assets called "view" (empty at the beginning) which contains the assets which the client already knows. When calculating edges to return, it's necessary to decide to which hierarchy level should the edge point (column, table, schema, etc.). If some asset is already part of the view, it will be always used as the vertex of the edge.
Possible values: 0 ≤ number of items ≤ 512, contains only unique items
If true, the lineage graph can be loaded from a cache. If false, the graph must be recalculated from the current data.
Default:
true
Edges that are currently visible to the client.
Possible values: 0 ≤ number of items ≤ 1024, contains only unique items
Definition of expansion - exploration the lineage N steps in some direction.
Ids of the assets that should be added to the returned view. The asset shouldn't be an ancestor or descendant of any currently visible node (or any other added node).
Possible values: 0 ≤ number of items ≤ 512, contains only unique items
Ids of the assets that should be hidden from the returned view even if they are currently visible.
Possible values: 0 ≤ number of items ≤ 512, contains only unique items
Id of the asset that should be "drilled down" in the returned view. This means that the original asset won't be present in the returned view and it will be replaced by all its children.
Id of the asset that should be collapsed in the returned view. This means that the specified asset will be present in the returned view and all its descendants will be hidden. "Descendant" assets mean children of the asset, children of children, etc.
Response
Full representation of the lineage view (a subset of the assets in the lineage and the edgesbetween them).
Full definition of assets that are part of the requested view.
Possible values: 0 ≤ number of items ≤ 512, contains only unique items
Edges that are part of the requested view.
Possible values: 0 ≤ number of items ≤ 2024, contains only unique items
The timestamp when the returned graph has been calculated [ms].
Min/max values designate that the timestamp must be in milliseconds, they don't correspond to any significant real datetime.
Possible values: 1000000000000 ≤ value ≤ 9223372036854776000
Example:
1704067200000
Status Code
Get successful
{ "assets_in_view": [ { "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" }, { "attributes": [], "business_classifications": [], "business_terms": [], "catalog_assignments": [], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/7e2f10223b4c01303e05c16055f9a865917108ce41084d08d86b4b7356693aad/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "7e2f10223b4c01303e05c16055f9a865917108ce41084d08d86b4b7356693aad", "name": "s1", "type": "Schema" }, { "id": "7e2f10223b4c01303e05c16055f9a865917108ce41084d08d86b4b7356693aad", "name": "table1", "type": "Table" } ], "data_classes": [], "id": "7e2f10223b4c01303e05c16055f9a865917108ce41084d08d86b4b7356693aad", "is_deduced": false, "is_favorite": false, "name": "eye_color", "project_assignments": [], "resource_key": "PostgreSQL/postgres/s1/table1/eye_color", "tags": [], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" } ], "edges_in_view": [ { "source": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "target": "7e2f10223b4c01303e05c16055f9a865917108ce41084d08d86b4b7356693aad", "type": "direct" }, { "source": "7e2f10223b4c01303e05c16055f9a865917108ce41084d08d86b4b7356693aad", "target": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "type": "summary" } ], "graph_calculation_timestamp": 1766620800000 }
Query relative assets
Requests assets that are accessible upstream or downstream from the given set of starting assets. The returned assets might be accessible directly using one edge or transitively through several assets. The endpoint only returns assets that are part of the specified view (see below).
The data flow lineage works with 3 main concepts: the full lineage graph, the limited graph ("initial lineage"), and view on the initial lineage. The initial lineage is a subset of graph that contains all assets accessible from the given starting nodes. This graph subset is too big to return and too big to navigate in. For this reason, the query response contains only a "view" which is a subset of the initial lineage. The view can always only contain one asset from the hierarchy (if column is present in the view, the table or schema it belongs to can't be part of the view. This endpoint only returns assets that are part of the specified view.
The response always includes the starting assets themselves.
If more starting assets are specified, the response contains all assets that are accessible by at least one starting asset.
POST /gov_lineage/v2/query_relative_assets
Request
Request for the assets that are accessible upstream or downstream from the given set of starting assets.
Ids of assets from which the initial lineage was created. The query only returns assets that are part of the initial lineage, everything else is ignored. The initial lineage is defined as the set of assets that have upstream lineage to any of the initial asset or downstream lineage from it.
The flow might be represented by a direct edge from/to the initial asset (INITIAL -> TARGET) or by a set of assets and edges in some direction (INITIAL -> A -> B -> TARGET). If some of the edges have different direction than the others, they don't count as a flow (e.g. INITIAL -> A <- TARGET isn't a flow from INITIAL to TARGET).
Possible values: 1 ≤ number of items ≤ 64, contains only unique items
Ids of assets that are currently visible to the client. The client is supposed to hold a set of assets called "view" (empty at the beginning) which contains the assets which the client already knows. Only the visible assets are taken into account.
Possible values: 1 ≤ number of items ≤ 512, contains only unique items
The starting assets of the returned lineage. Only assets with upstream or downstream flow from/to them will be returned. The starting assets should be returned. If more starting assets are specified, the response contains all assets that are accessible by at least one starting asset.
Possible values: 1 ≤ number of items ≤ 512, contains only unique items
Direction of the requested flow relative to the starting assets. For assets A → START → B, A is considered incoming for START and B is considered outgoing.
Allowable values: [
in
,out
,both
]If true, the lineage graph can be loaded from a cache. If false, the graph must be recalculated from the current data.
Default:
true
Response
Response containing assets that have incoming or outgoing lineage from/to the starting nodes.
Ids of the assets that are accessible from the starting assets.
Possible values: 1 ≤ number of items ≤ 512, contains only unique items
Status Code
Get successful
{ "relative_assets": [ "32792505335a8b2722e6d7b15c5f709665cc8dfc03b841657221f134af54af0a", "8075282f82e810f9a4af3100471310be6a628fe17800415c2541793444e7ed4a", "a3e2fef4eff20c363094a9c8aed5d4fcb8bccf1e73a72ce9afa14f9151d0f92c" ] }
Query assets in summary edges
Gets assets that are "hidden" by a summary edge. A summary edge between assets SOURCE and TARGET means that there is a lineage flow going from SOURCE to TARGET but it's not going directly between them but via several other assets in between. The assets between SOURCE and TARGET can be called "hidden". There might be several assets or even several different paths between the source and target, the summary edge contains all of them.
This endpoint allows to filter the hidden assets. If more edges are specified, the endpoint returns assets that are hidden by at least one summary edge. The response doesn't contain sources and targets.
The data flow lineage works with 3 main concepts: the full lineage graph, the limited graph ("initial lineage"), and view on the initial lineage. The initial lineage is a subset of graph that contains all assets accessible from the given starting nodes. This graph subset is too big to return and too big to navigate in. For this reason, the query response contains only a "view" which is a subset of the initial lineage. The view can always only contain one asset from the hierarchy (if column is present in the view, the table or schema it belongs to can't be part of the view. This endpoint only returns assets that are part of the specified view.
Even the endpoint for getting summary edge needs to know which assets are currently known by the client (= are part of the view) to decide the hierarchy level of returned assets. There's an assumption that no asset "hidden" by any summary edge is part of the view and that all sources and targets of the edges are part of the view.
POST /gov_lineage/v2/query_summary_edge_assets
Request
Query to return assets that are hidden by the summary edges
Ids of assets from which the initial lineage was created. The query only returns assets that are part of the initial lineage, everything else is ignored. The initial lineage is defined as the set of assets that have upstream lineage to any of the initial asset or downstream lineage from it.
The flow might be represented by a direct edge from/to the initial asset (INITIAL -> TARGET) or by a set of assets and edges in some direction (INITIAL -> A -> B -> TARGET). If some of the edges have different direction than the others, they don't count as a flow (e.g. INITIAL -> A <- TARGET isn't a flow from INITIAL to TARGET).
Possible values: 1 ≤ number of items ≤ 64, contains only unique items
Ids of assets that are currently visible to the client. The client is supposed to hold a set of assets called "view" which contains the assets which the client already knows. When calculating assets and edges to return, it's necessary to decide on which hierarchy level should the asset be (column, table, schema, etc.). If some asset is already part of the view, it will be always used.
Possible values: 1 ≤ number of items ≤ 512, contains only unique items
The number of the first item in the requested page, starting from 0
Number of items being returned, must be 1 or higher
If true, the lineage graph can be loaded from a cache. If false, the graph must be recalculated from the current data.
Default:
true
Summary edges whose assets should be returned
Possible values: 0 ≤ number of items ≤ 1024, contains only unique items
Asset filters, an asset must match all filters to be returned
Possible values: 0 ≤ number of items ≤ 64, contains only unique items
Search query for the asset name. The asset name must contain this query as a substring (case-insensitive)
Possible values: 0 ≤ length ≤ 2048, Value must match regular expression
^.*$
Response
A slice of the result for getting lineage assets with information about its position in the ordered result and access to other pages.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
The list of lineage assets in the page
Possible values: 0 ≤ number of items ≤ 1000
Status Code
Get successful
The request includes parameters or values that are incorrect or unexpected
{ "summary_edge_assets": [ { "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" } ], "offset": 10, "limit": 5, "total_count": 15 }
Get technology by ID
Get technology details based on the ID of the requested technology.
GET /gov_lineage/v2/technologies/{id}
Response
Type of system or a programming language that define the structure of lineage assets inside it
ID of the technology
Example:
e91fadf24f78c081972a2015146e9b7ad4636bb5a208f5733b54ee4407682078
Unique name of the technology
Possible values: 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
Example:
Oracle
Status Code
Get successful
Entity not found
{ "id": "2e2c6b2f5ad98d7d8d22baaf3b6df79298ed3b72db169ff3865400ecdae91972", "name": "PowerBI" }
Request
Query Parameters
Optional prefix of the name that filters the results. Only the technologies with the name starting with the prefix (case-insensitive) will be returned. If empty or not specified, all technologies are returned.
Possible values: 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
Definition of order of the returned values (minus as a prefix means descending order). Use "name" or "-name".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
name
Example:
-name
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Response
A slice of the result for getting technologies with information about its position in the ordered result
and access to other pages.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
The list of technologies in the page
Possible values: 0 ≤ number of items ≤ 1000
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
{ "technologies": [ { "id": "9202af6ce925b26ae6b25adfff0b2705147e195fa38dd58ae6ecc58ed263751f", "name": "Oracle" }, { "id": "2e2c6b2f5ad98d7d8d22baaf3b6df79298ed3b72db169ff3865400ecdae91972", "name": "PowerBI" } ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/technologies?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/technologies?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/technologies?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/technologies?offset=5&limit=5" }, "total_count": 28 }
List technology children
List technology children based on the ID of the parent asset.
GET /gov_lineage/v2/technologies/{id}/children
Request
Path Parameters
Id of the parent lineage asset
Query Parameters
Optional prefix of the name that filters the results. Only the assets with the name starting with prefix (case-insensitive) will be returned. If empty or not specified, all children are returned.
Possible values: 1 ≤ length ≤ 1024, Value must match regular expression
^.*$
If specified, the response should only contain assets that are part of lineage defined by the specified asset ids. It means that only assets that are accessible (directly or transitively) from the specified asset ids will be returned. The ids are divided by commas, their order isn't taken into account.
Possible values: 1 ≤ length ≤ 6499, Value must match regular expression
^[\da-f]+(,[\da-f]+)*$
Definition of order of the returned values (minus as a prefix means descending order). Use "name" or "-name".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
name
Example:
-name
If true, the lineage graph can be loaded from a cache. If false, the lineage graph must be recalculated from the current data. This parameter only makes sense when lineage_initial_asset_ids is specified.
Default:
true
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Response
A slice of the result for getting child assets with information about its position in the ordered result and access to other pages.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
The list of child assets in the page
Possible values: 0 ≤ number of items ≤ 1000
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
Entity not found
{ "children": [ { "attributes": [ { "name": "COLUMN_CONSTRAINT", "value": "primary key" } ], "business_classifications": [ { "id": "e441721f-7369-4547-9aac-a278dfb74f05", "name": "Home Loan" } ], "business_terms": [ { "id": "8d3641e9-841f-40d0-aa0b-f5e8e8b97186", "name": "Personal Information" } ], "catalog_assignments": [ { "catalog": { "id": "33194072-e58e-476c-b094-412fd6e658d8", "name": "Very Enterprise Catalog" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "7a5d09ce-05a6-4f64-8a29-e9dee5f3a5b3" } ], "children": { "count": 0, "has_any": false, "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children" }, "hierarchical_path": [ { "id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b", "name": "postgres", "type": "Database" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "s1", "type": "Schema" }, { "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "name": "table1", "type": "Table" } ], "data_classes": [ { "id": "3652f859-397e-4fa3-80ac-86e11a5379c4", "name": "First Name" } ], "id": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35", "is_deduced": false, "is_favorite": false, "name": "first_name", "project_assignments": [ { "project": { "id": "ed99846a-2194-4826-9be5-0a805c811238", "name": "My Little Project" }, "data_quality": { "score": 83.5 }, "cams_asset_id": "c4ce19e0-8ad4-42a6-9472-6290c92c8f0c" } ], "resource_key": "PostgreSQL/postgres/s1/table1/first_name", "tags": [ "PII" ], "technology": { "id": "cc52d03280b7034c8e3653d2748ebd489a873ef4bbc89cb187fbfcabfbbf6873", "name": "PostgreSQL" }, "type": "Column" } ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/lineage_assets/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35/children?offset=5&limit=5" }, "total_count": 28 }
Delete lineage for a licensing source by {licensing_source_id}
Delete lineage for a licensing source by {licensing_source_id}. Licensing source entails a particular technology of a given data source definition.
POST /gov_lineage/v2/licensing_sources/{licensing_source_id}/delete_lineage
Get a licensing source by {licensing_source_id}
Get a licensing source by {licensing_source_id}
GET /gov_lineage/v2/licensing_sources/{licensing_source_id}
Request
Path Parameters
Licensing source id
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[\w-]+$
Example:
9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909
Response
Licensing source
Contains a licensing usage for a particular data source definition and a technology combination.
Licensing source id
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[\w-]+$
Example:
9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909
Data source definition asset id
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^.*$
Example:
948c2516-0823-4da0-b74a-9737329d136f
Data source definition asset name
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^.+$
Example:
My MSSQL 1
Technology name
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^.+$
Example:
mssql
Licensing usage
Contains counts of objects and resource units subject to licensing.
Status
Possible values: [
active
,deleted
]Example:
active
Last updated timestamp [ms]
Min/max values designate that the timestamp must be in milliseconds, they don't correspond to any significant real datetime.
Possible values: 1000000000000 ≤ value ≤ 9223372036854776000
Example:
1704067200000
Status Code
Get successful
Entity not found
{ "id": "9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909", "data_source_definition_asset_id": "948c2516-0823-4da0-b74a-9737329d136f", "data_source_definition_asset_name": "My MSSQL 1", "last_updated_timestamp": 1704067200000, "technology_name": "mssql", "usage": { "lineage_assets_count": 300000, "sources_count": 1, "tables_count": 30000 }, "status": "active" }
Request
Query Parameters
Definition of order of the returned values (minus as a prefix means descending order). Use "resource_units_count" or "-resource_units_count".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
-resource_units_count
Example:
-resource_units_count
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Response
Licensing source collection
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
Licensing sources
Possible values: 0 ≤ number of items ≤ 1000
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
{ "licensing_sources": [ { "id": "9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909", "data_source_definition_asset_id": "948c2516-0823-4da0-b74a-9737329d136f", "data_source_definition_asset_name": "My MSSQL 1", "last_updated_timestamp": 1704067200000, "technology_name": "mssql", "usage": { "lineage_assets_count": 300000, "sources_count": 1, "tables_count": 30000 }, "status": "active" } ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_sources?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_sources?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_sources?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_sources?offset=5&limit=5" }, "total_count": 28 }
Search for licensing sources based on various criteria
This operation allows users to search for licensing sources using different filtering options and parameters.
POST /gov_lineage/v2/search_licensing_sources
Request
Request for licensing search
The text that will be searched in the database
Possible values: 0 ≤ length ≤ 2048, Value must match regular expression
^.*$
Example:
PostgreSQL
The filters that the assets must match to be returned. Each filter must be matched.
Possible values: 0 ≤ number of items ≤ 64, contains only unique items
Definition of the order of the returned results.
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Default:
10
Response
Licensing summary
Contains a licensing usage and a licensing compliance with the tenant licensing configuration and the tenant entitlement.
Licensing usage
Contains counts of objects and resource units subject to licensing.
Status Code
Get successful
{ "usage": { "lineage_assets_count": 300000, "sources_count": 1, "tables_count": 30000 } }
Get a licensing technology by {licensing_technology_id}
Get a licensing technology by {licensing_technology_id}
GET /gov_lineage/v2/licensing_technologies/{licensing_technology_id}
Request
Path Parameters
Licensing technology id
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[\w-]+$
Example:
9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909
Response
Licensing technology
Contains a licensing usage for a particular technology.
Licensing technology id
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[\w-]+$
Example:
9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909
Technology name
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^.+$
Example:
mssql
Licensing usage
Contains counts of objects and resource units subject to licensing.
Status Code
Get successful
Entity not found
{ "id": "9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909", "technology_name": "mssql", "usage": { "lineage_assets_count": 300000, "sources_count": 1, "tables_count": 30000 }, "status": "active" }
Request
Query Parameters
Definition of order of the returned values (minus as a prefix means descending order). Use "resource_units_count" or "-resource_units_count".
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^-?[a-z_]+$
Default:
-resource_units_count
Example:
-resource_units_count
The number of the first item in the page, starting from 0
Default:
0
Number of items being returned, must be 1 or higher
Possible values: value ≤ 1000
Default:
10
Response
Licensing technology collection
The number of the first item in the page, starting from 0
Possible values: value ≥ 0
Number of items being returned, must be 1 or higher
Possible values: 1 ≤ value ≤ 1000
Example:
10
Total number of items in the whole result
Example:
23
Licensing technologies
Possible values: 0 ≤ number of items ≤ 1000
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Link to the next page (if it exists)
Status Code
Get successful
{ "licensing_technologies": [ { "id": "9b8b9f816550ac08e6eae8b1ebf452c010cce7919311b2519ec85e6083119909", "technology_name": "mssql", "usage": { "lineage_assets_count": 300000, "sources_count": 1, "tables_count": 30000 }, "status": "active" } ], "offset": 10, "limit": 5, "first": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_technologies?offset=0&limit=5" }, "last": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_technologies?offset=25&limit=5" }, "next": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_technologies?offset=15&limit=5" }, "previous": { "href": "https://something.ibm.com/gov_lineage/v2/licensing_technologies?offset=5&limit=5" }, "total_count": 28 }
Retrieve the COS bucket credentials
Retrieves credentials for accessing Cloud Object Storage bucket. Credentials are global for the tenant, all scans use this single bucket to store extracted data and load them during analysis. Objects in the bucket are managed by the IBM Manta Data Lineage Scanner Service and user should not modify them.
GET /gov_lineage/v2/cos_bucket_credentials
Response
Credentials needed to connect to Cloud Object Storage bucket, excluding secrets.
Endpoint where bucket was created, can be seen on bucket configuration page.
Possible values: 4 ≤ length ≤ 256, Value must match regular expression
^\S+$
Example:
s3.us-east.cloud-object-storage.appdomain.cloud
The name of the bucket.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[ -~]+$
Example:
MantaBucket
Unique identifier for the instance of Object Storage the credential accesses.
Possible values: 8 ≤ length ≤ 256, Value must match regular expression
^\S+$
Example:
beb6b4bf-1aba-4d51-b72c-167aedc47cad
API key assigned to a service credentials configured to connect to the bucket. This attribute is deprecated and its content is always an empty string.
Possible values: length = 0, Value must match regular expression
^$
Status Code
Success. Returned information of the COS bucket credentials.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
Not found. Item with the provided identifier is not available.
{ "api_key": "", "bucket_name": "cosbucket-lineage-f1749cd3-3b32-4975-8038-bfda7cee5d4f", "endpoint_url": "https://s3.us-west.cloud-object-storage.test.appdomain.cloud", "resource_instance_id": "beb6b4bf-1aba-4d51-b72c-167aedc47cad" }
{ "trace": "d787aca0-ae0a-4d99-afae-f4221b8c5833", "errors": [ { "code": "bad_request", "message": "The `id` field needs to be a UUID v4, but is `12345`." } ] }
{ "trace": "65bb738f-e1c8-4b2e-a5a8-11890c0f50ed", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid." } ] }
{ "trace": "e7079a7e-6c0d-4118-914b-349703695fd0", "errors": [ { "code": "endpoint_access_forbidden", "message": "Jan.Novak@ibm.com is neither admin of the extraction Agent b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted user." } ] }
{ "trace": "87674b9d-19dd-45fb-bdb4-ed51304e5cc0", "errors": [ { "code": "not_found", "message": "Resource with the identifier `64697261-70ab-465c-acf0-bfe301670e2b` was not found." } ] }
Create COS bucket credentials
Creates new credentials for accessing Cloud Object Storage bucket. The bucket must be already existing and the passed credentials needs permissions to create, get and delete objects in the bucket. Credentials are global for the tenant, all scans use this single bucket to store extracted data and load them during analysis. Objects in the bucket are managed by the IBM Manta Data Lineage Scanner Service and user should not modify them.
POST /gov_lineage/v2/cos_bucket_credentials
Request
All credentials necessary to access a COS bucket.
Endpoint where bucket was created, can be seen on bucket configuration page.
Possible values: 4 ≤ length ≤ 256, Value must match regular expression
^\S+$
Example:
s3.us-east.cloud-object-storage.appdomain.cloud
The name of the bucket.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[ -~]+$
Example:
MantaBucket
API key assigned to a service credentials configured to connect to the bucket.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[\w-]+$
Example:
g_Gdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Unique identifier for the instance of Object Storage the credential accesses.
Possible values: 8 ≤ length ≤ 256, Value must match regular expression
^\S+$
Example:
beb6b4bf-1aba-4d51-b72c-167aedc47cad
Response
Credentials needed to connect to Cloud Object Storage bucket.
Endpoint where bucket was created, can be seen on bucket configuration page.
Possible values: 4 ≤ length ≤ 256, Value must match regular expression
^\S+$
Example:
s3.us-east.cloud-object-storage.appdomain.cloud
The name of the bucket.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[ -~]+$
Example:
MantaBucket
API key assigned to a service credentials configured to connect to the bucket.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[\w-]+$
Example:
g_Gdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Unique identifier for the instance of Object Storage the credential accesses.
Possible values: 8 ≤ length ≤ 256, Value must match regular expression
^\S+$
Example:
beb6b4bf-1aba-4d51-b72c-167aedc47cad
Status Code
Success. Returned information of the created credentials.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "api_key": "g_Gdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "bucket_name": "cosbucket-lineage-f1749cd3-3b32-4975-8038-bfda7cee5d4f", "endpoint_url": "https://s3.us-west.cloud-object-storage.test.appdomain.cloud", "resource_instance_id": "beb6b4bf-1aba-4d51-b72c-167aedc47cad" }
{ "trace": "d787aca0-ae0a-4d99-afae-f4221b8c5833", "errors": [ { "code": "bad_request", "message": "The `id` field needs to be a UUID v4, but is `12345`." } ] }
{ "trace": "65bb738f-e1c8-4b2e-a5a8-11890c0f50ed", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid." } ] }
{ "trace": "e7079a7e-6c0d-4118-914b-349703695fd0", "errors": [ { "code": "endpoint_access_forbidden", "message": "Jan.Novak@ibm.com is neither admin of the extraction Agent b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted user." } ] }
Delete the data source definition identified by {id} for {scanner}
Deletes all metadata for the data source definition with the specified identifier for the specified scanner. This does not delete the data source definition itself, rather just its metadata collected by Scanner Service during scans of such a data source using the specified scanner. All running scans of the specified scanner for the specified data source definition will be terminated.
DELETE /gov_lineage/v2/data_source_definitions/{id}/scanners/{scanner}
Request
Path Parameters
The data source definition asset identifier.
Possible values: length = 36, Value must match regular expression
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
Example:
c368a168-d4ea-4cdd-b058-11e8798c9864
The name of the scanner.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[ -~]+$
Example:
Microsoft SQL Server
Response
Status Code
Success. The metadata for the data source definition were deleted.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
Not found. Item with the provided identifier is not available.
{ "trace": "d787aca0-ae0a-4d99-afae-f4221b8c5833", "errors": [ { "code": "bad_request", "message": "The `id` field needs to be a UUID v4, but is `12345`." } ] }
{ "trace": "65bb738f-e1c8-4b2e-a5a8-11890c0f50ed", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid." } ] }
{ "trace": "e7079a7e-6c0d-4118-914b-349703695fd0", "errors": [ { "code": "endpoint_access_forbidden", "message": "Jan.Novak@ibm.com is neither admin of the extraction Agent b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted user." } ] }
{ "trace": "87674b9d-19dd-45fb-bdb4-ed51304e5cc0", "errors": [ { "code": "not_found", "message": "Resource with the identifier `64697261-70ab-465c-acf0-bfe301670e2b` was not found." } ] }