Lineage Resource

Waterline Data defines a LineageRelations object that records and presents the lineage relationships between data resources. Endpoints under /lineage provide access to these objects.

GET /v2/lineage/searchresource

Request Parameters
name type description
path query
Response Body
media type data type description
application/json array of LineageSearchPathTO (JSON)

Example

Request
GET /v2/lineage/searchresource
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "resourcePath" : "...",
  "resourceKey" : "...",
  "sourceName" : "...",
  "sourceKey" : "..."
} ]
                
              

GET /v2/lineage/{key}

A GET request to the /lineage/{key} endpoint retrieves a lineage relationship.

Request Parameters
name type description
key path The unique identifying key for the lineage relation. This key is
Response Body
media type data type description
application/json LineageRelations (JSON) The LineageRelation object, in JSON format.

Example

Request
GET /v2/lineage/{key}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "rootPath" : "...",
  "edges" : {
    "property1" : [ {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    }, {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    } ],
    "property2" : [ {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    }, {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    } ]
  },
  "rootId" : "...",
  "resources" : {
    "property1" : {
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    },
    "property2" : {
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    }
  }
}
                
              

POST /v2/lineage/addparent/{key}

Request Parameters
name type description
key path
Request Body
media type data type
application/json LineageRelationPath (JSON)
Response Body
media type data type description
application/json LineageRelations (JSON)

Example

Request
POST /v2/lineage/addparent/{key}
Content-Type: application/json
Accept: application/json

                
{
  "relatedKey" : "..."
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "rootPath" : "...",
  "edges" : {
    "property1" : [ {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    }, {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    } ],
    "property2" : [ {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    }, {
      "opDetails" : {
        "executions" : [ { }, { } ],
        "op" : { }
      },
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    } ]
  },
  "rootId" : "...",
  "resources" : {
    "property1" : {
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    },
    "property2" : {
      "resourcePath" : "...",
      "resourceType" : "...",
      "resourceId" : "...",
      "collectionRoot" : true,
      "hasParents" : true,
      "hasChildren" : true
    }
  }
}