swagger: '2.0'
info:
version: 2020-08-01-preview
title: Microsoft Azure AccessControlClient AccessConnector Lineage API
schemes:
- https
tags:
- name: Lineage
paths:
/lineage/{guid}/next:
get:
operationId: microsoftAzureLineageGetnextpage
description: Return immediate next page lineage info about entity with pagination
parameters:
- $ref: '#/parameters/Azure.Core.Foundations.ApiVersionParameter'
- name: guid
in: path
description: The globally unique identifier of the entity.
required: true
type: string
- name: direction
in: query
description: The direction of the lineage, which could be INPUT, OUTPUT or BOTH.
required: true
type: string
enum:
- INPUT
- OUTPUT
- BOTH
x-ms-enum:
name: LineageDirection
modelAsString: true
values:
- name: Input
value: INPUT
description: input
- name: Output
value: OUTPUT
description: output
- name: Both
value: BOTH
description: both
- name: offset
in: query
description: The offset for pagination purpose.
required: false
type: integer
format: int32
- name: limit
in: query
description: The page size - by default there is no paging.
required: false
type: integer
format: int32
responses:
'200':
description: The request has succeeded.
schema:
$ref: '#/definitions/AtlasLineageInfo'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/AtlasErrorResponse'
x-ms-examples:
Lineage_GetNextPage:
$ref: ./examples/Lineage_GetNextPage.json
summary: Microsoft Azure Get Lineage Guid Next
tags:
- Lineage
/atlas/v2/lineage/{guid}:
get:
tags:
- Lineage
description: Get lineage info of the entity specified by GUID.
operationId: microsoftAzureLineageGetlineagegraph
x-ms-examples:
Lineage_GetLineageGraph:
$ref: ./examples/Lineage_GetLineageGraph.json
parameters:
- $ref: '#/parameters/guid'
- $ref: '#/parameters/depth'
- $ref: '#/parameters/width'
- $ref: '#/parameters/direction'
- $ref: '#/parameters/includeParent'
- $ref: '#/parameters/getDerivedLineage'
responses:
'200':
description: OK. If the request is valid.
schema:
$ref: '#/definitions/AtlasLineageInfo_2'
default:
description: Error response describing why the operation failed.
schema:
$ref: '#/definitions/ErrorResponse'
summary: Microsoft Azure Get Atlas Lineage Guid
/lineage/{guid}/next/:
get:
tags:
- Lineage
description: Return immediate next page lineage info about entity with pagination
operationId: microsoftAzureLineageNextpagelineage
x-ms-examples:
Lineage_NextPageLineage:
$ref: ./examples/Lineage_NextPageLineage.json
parameters:
- $ref: '#/parameters/guid'
- $ref: '#/parameters/direction'
- $ref: '#/parameters/getDerivedLineage'
- $ref: '#/parameters/offset'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/purviewAPIVersion'
responses:
'200':
description: OK. If the input is valid.
schema:
$ref: '#/definitions/AtlasLineageInfo_2'
default:
description: Error response describing why the operation failed.
schema:
$ref: '#/definitions/ErrorResponse'
summary: Microsoft Azure Get Lineage Guid Next
/atlas/v2/lineage/uniqueAttribute/type/{typeName}:
get:
tags:
- Lineage
description: 'Returns lineage info about entity.
In addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format
attr:[attrName]=[attrValue]
NOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.
The REST request would look something like this:
GET /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.'
operationId: microsoftAzureLineageGetlineagebyuniqueattribute
x-ms-examples:
Lineage_GetLineageByUniqueAttribute:
$ref: ./examples/Lineage_GetLineageByUniqueAttribute.json
produces:
- application/json
parameters:
- $ref: '#/parameters/typeName'
- $ref: '#/parameters/depth'
- $ref: '#/parameters/width'
- $ref: '#/parameters/direction'
- $ref: '#/parameters/includeParent'
- $ref: '#/parameters/getDerivedLineage'
- name: attr:qualifiedName
in: query
description: The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)
required: false
type: string
responses:
'200':
schema:
$ref: '#/definitions/AtlasLineageInfo_2'
description: If Lineage exists for the given entity
examples:
application/json:
baseEntityGuid: '...'
guidEntityMap:
property1:
classificationNames:
- '...'
- '...'
classifications:
- entityGuid: '...'
entityStatus: DELETED
validityPeriods:
- {}
- {}
attributes:
property1: {}
property2: {}
typeName: '...'
- entityGuid: '...'
entityStatus: PURGED
validityPeriods:
- {}
- {}
attributes:
property1: {}
property2: {}
typeName: '...'
displayText: '...'
guid: '...'
isIncomplete: true
labels:
- '...'
- '...'
meaningNames:
- '...'
- '...'
meanings:
- confidence: 12345
createdBy: '...'
description: '...'
displayText: '...'
expression: '...'
relationGuid: '...'
source: '...'
status: DISCOVERED
steward: '...'
termGuid: '...'
- confidence: 12345
createdBy: '...'
description: '...'
displayText: '...'
expression: '...'
relationGuid: '...'
source: '...'
status: DISCOVERED
steward: '...'
termGuid: '...'
status: PURGED
attributes:
property1: {}
property2: {}
typeName: '...'
property2:
classificationNames:
- '...'
- '...'
classifications:
- entityGuid: '...'
entityStatus: ACTIVE
validityPeriods:
- {}
- {}
attributes:
property1: {}
property2: {}
typeName: '...'
- entityGuid: '...'
entityStatus: ACTIVE
validityPeriods:
- {}
- {}
attributes:
property1: {}
property2: {}
typeName: '...'
displayText: '...'
guid: '...'
isIncomplete: true
labels:
- '...'
- '...'
meaningNames:
- '...'
- '...'
meanings:
- confidence: 12345
createdBy: '...'
description: '...'
displayText: '...'
expression: '...'
relationGuid: '...'
source: '...'
status: DEPRECATED
steward: '...'
termGuid: '...'
- confidence: 12345
createdBy: '...'
description: '...'
displayText: '...'
expression: '...'
relationGuid: '...'
source: '...'
status: OBSOLETE
steward: '...'
termGuid: '...'
status: ACTIVE
attributes:
property1: {}
property2: {}
typeName: '...'
lineageDepth: 12345
lineageDirection: BOTH
relations:
- fromEntityId: '...'
relationshipId: '...'
toEntityId: '...'
- fromEntityId: '...'
relationshipId: '...'
toEntityId: '...'
description: If Lineage exists for the given entity
default:
description: Error response describing why the operation failed.
schema:
$ref: '#/definitions/ErrorResponse'
summary: Microsoft Azure Get Atlas Lineage Uniqueattribute Type Typename
definitions:
Azure.Core.uuid:
type: string
format: uuid
description: Universally Unique Identifier
LineageDirection:
type: string
description: Lineage direction
enum:
- INPUT
- OUTPUT
- BOTH
x-ms-enum:
name: LineageDirection
modelAsString: true
values:
- name: Input
value: INPUT
description: input
- name: Output
value: OUTPUT
description: output
- name: Both
value: BOTH
description: both
LastModifiedTS:
type: string
title: lastModifiedTS
description: ETag for concurrency control.
ParentRelation:
type: object
description: The lineage parents relation with GUID of the parent entity and to child entity.
properties:
childEntityId:
type: string
description: The GUID of child entity.
relationshipId:
type: string
description: The GUID of relationship.
parentEntityId:
type: string
description: The GUID of parent entity.
AtlasEntityHeader:
type: object
description: An instance of an entity - like hive_table, hive_database.
properties:
attributes:
type: object
description: The attributes of the struct.
additionalProperties: {}
typeName:
type: string
description: The name of the type.
lastModifiedTS:
type: string
description: ETag for concurrency control.
classificationNames:
type: array
description: An array of classification names.
items:
type: string
classifications:
type: array
description: An array of classifications.
items:
$ref: '#/definitions/AtlasClassification'
x-ms-identifiers: []
displayText:
type: string
description: The display text.
guid:
type: string
description: The GUID of the record.
isIncomplete:
type: boolean
description: Whether it is a shell entity
labels:
type: array
description: labels
items:
type: string
meaningNames:
type: array
description: An array of meanings.
items:
type: string
meanings:
type: array
description: An array of term assignment headers.
items:
$ref: '#/definitions/AtlasTermAssignmentHeader'
x-ms-identifiers: []
status:
$ref: '#/definitions/EntityStatus'
description: 'Status of the entity - can be active or deleted. Deleted entities are not
removed.'
AtlasEntityHeader_2:
type: object
title: AtlasEntityHeader
allOf:
- $ref: '#/definitions/AtlasStruct'
- properties:
classificationNames:
type: array
description: An array of classification names.
items:
type: string
classifications:
type: array
description: An array of classifications.
items:
$ref: '#/definitions/AtlasClassification_2'
displayText:
type: string
description: The display text.
guid:
type: string
description: The GUID of the record.
isIncomplete:
readOnly: false
description: Whether it is a shell entity
type: boolean
labels:
readOnly: false
description: labels
type: array
items:
type: string
meaningNames:
type: array
description: An array of meanings.
items:
type: string
meanings:
type: array
description: An array of term assignment headers.
items:
$ref: '#/definitions/AtlasTermAssignmentHeader_2'
status:
$ref: '#/definitions/Status'
description: An instance of an entity - like hive_table, hive_database.
EntityStatus:
type: string
description: Status - can be active or deleted
enum:
- ACTIVE
- DELETED
x-ms-enum:
name: EntityStatus
modelAsString: true
values:
- name: Active
value: ACTIVE
description: The status is active.
- name: Deleted
value: DELETED
description: The status is deleted.
AtlasErrorResponse:
type: object
description: An error response from the service
properties:
requestId:
$ref: '#/definitions/Azure.Core.uuid'
description: The request ID.
errorCode:
type: string
description: The error code.
errorMessage:
type: string
description: The error message.
AtlasTermAssignmentHeader:
type: object
description: The header for term assignment.
properties:
confidence:
type: integer
format: int32
description: The confidence of the term assignment.
createdBy:
type: string
description: The user who created the record.
description:
type: string
description: The description of the term assignment.
displayText:
type: string
description: The display text.
expression:
type: string
description: The expression of the term assignment.
relationGuid:
$ref: '#/definitions/Azure.Core.uuid'
description: The GUID of the relationship.
status:
$ref: '#/definitions/AtlasTermAssignmentStatus'
description: The status of terms assignment.
steward:
type: string
description: The steward of the term.
termGuid:
$ref: '#/definitions/Azure.Core.uuid'
description: The GUID of the term.
AtlasLineageInfoExtraProperties:
type: object
description: The lineage direction
additionalProperties:
description: The entity guid.
LineageDirection_2:
type: string
title: LineageDirection
description: The enum of lineage direction.
enum:
- INPUT
- OUTPUT
- BOTH
x-ms-enum:
name: LineageDirection
modelAsString: true
AtlasTermAssignmentStatus:
type: string
description: Status for term assignment
enum:
- DISCOVERED
- PROPOSED
- IMPORTED
- VALIDATED
- DEPRECATED
- OBSOLETE
- OTHER
x-ms-enum:
name: AtlasTermAssignmentStatus
modelAsString: true
values:
- name: Discovered
value: DISCOVERED
description: The status is discovered.
- name: Proposed
value: PROPOSED
description: The status is proposed.
- name: Imported
value: IMPORTED
description: The status is imported.
- name: Validated
value: VALIDATED
description: The status is validated.
- name: Deprecated
value: DEPRECATED
description: The status is deprecated.
- name: Obsolete
value: OBSOLETE
description: The status is obsolete.
- name: Other
value: OTHER
description: Other status.
AtlasStruct:
type: object
properties:
attributes:
type: object
description: The attributes of the struct.
additionalProperties: {}
typeName:
type: string
description: The name of the type.
lastModifiedTS:
$ref: '#/definitions/LastModifiedTS'
title: AtlasStruct
description: Captures details of struct contents. Not instantiated directly, used only via AtlasEntity, AtlasClassification.
AtlasTermAssignmentStatus_2:
type: string
title: AtlasTermAssignmentStatus
description: The status of terms assignment.
enum:
- DISCOVERED
- PROPOSED
- IMPORTED
- VALIDATED
- DEPRECATED
- OBSOLETE
- OTHER
x-ms-enum:
name: AtlasTermAssignmentStatus
modelAsString: true
AtlasLineageInfo:
type: object
description: The lineage information.
properties:
baseEntityGuid:
type: string
description: The GUID of the base entity.
guidEntityMap:
type: object
description: The GUID entity map.
additionalProperties:
$ref: '#/definitions/AtlasEntityHeader'
widthCounts:
type: object
description: The entity count in specific direction.
additionalProperties:
additionalProperties: {}
type: object
lineageDepth:
type: integer
format: int32
description: The depth of lineage.
lineageWidth:
type: integer
format: int32
description: The width of lineage.
childrenCount:
type: integer
format: int32
description: The number of children node.
lineageDirection:
$ref: '#/definitions/LineageDirection'
description: The enum of lineage direction.
parentRelations:
type: array
description: An array of parentRelations relations.
items:
$ref: '#/definitions/ParentRelation'
x-ms-identifiers: []
relations:
type: array
description: An array of lineage relations.
items:
$ref: '#/definitions/LineageRelation'
x-ms-identifiers: []
ParentRelation_2:
type: object
properties:
childEntityId:
type: string
description: The GUID of child entity.
relationshipId:
type: string
description: The GUID of relationship.
parentEntityId:
type: string
description: The GUID of parent entity.
title: ParentRelation
description: The lineage parents relation with GUID of the parent entity and to child entity.
AtlasTermAssignmentHeader_2:
type: object
properties:
confidence:
type: integer
format: int32
description: The confidence of the term assignment.
createdBy:
type: string
description: The user who created the record.
description:
type: string
description: The description of the term assignment.
displayText:
type: string
description: The display text.
expression:
type: string
description: The expression of the term assignment.
relationGuid:
type: string
description: The GUID of the relationship.
source:
type: string
description: The source of the term.
status:
$ref: '#/definitions/AtlasTermAssignmentStatus_2'
steward:
type: string
description: The steward of the term.
termGuid:
type: string
description: The GUID of the term.
title: AtlasTermAssignmentHeader
description: The header for term assignment.
Status:
type: string
title: Status
description: Status of the entity - can be active or deleted. Deleted entities are not removed from Atlas store.
enum:
- ACTIVE
- DELETED
x-ms-enum:
name: Status
modelAsString: true
AtlasClassification:
type: object
description: 'An instance of a classification; it doesn''t have an identity, this object
exists only when associated with an entity.'
properties:
attributes:
type: object
description: The attributes of the struct.
additionalProperties: {}
typeName:
type: string
description: The name of the type.
lastModifiedTS:
type: string
description: ETag for concurrency control.
entityGuid:
type: string
description: The GUID of the entity.
entityStatus:
$ref: '#/definitions/EntityStatus'
description: 'Status of the entity - can be active or deleted. Deleted entities are not
removed.'
removePropagationsOnEntityDelete:
type: boolean
description: Determines if propagations will be removed on entity deletion.
validityPeriods:
type: array
description: An array of time boundaries indicating validity periods.
items:
$ref: '#/definitions/TimeBoundary'
x-ms-identifiers: []
LineageRelation:
type: object
description: The lineage relation with GUID of the from and to entity.
properties:
fromEntityId:
type: string
description: The GUID of from-entity.
relationshipId:
type: string
description: The GUID of relationship.
toEntityId:
type: string
description: The GUID of to-entity.
ErrorResponse:
description: An error response from the service
type: object
properties:
requestId:
type: string
description: The request ID.
errorCode:
type: string
description: The error code.
errorMessage:
type: string
description: The error message.
TimeBoundary:
type: object
description: Captures time-boundary details
properties:
endTime:
type: string
description: The end of the time boundary.
startTime:
type: string
description: The start of the time boundary.
timeZone:
type: string
description: The timezone of the time boundary.
TimeBoundary_2:
type: object
properties:
endTime:
type: string
description: The end of the time boundary.
startTime:
type: string
description: The start of the time boundary.
timeZone:
type: string
description: The timezone of the time boundary.
title: TimeBoundary
description: Captures time-boundary details
AtlasLineageInfo_2:
type: object
properties:
baseEntityGuid:
type: string
description: The GUID of the base entity.
guidEntityMap:
type: object
description: The GUID entity map.
additionalProperties:
$ref: '#/definitions/AtlasEntityHeader_2'
widthCounts:
type: object
description: The entity count in specific direction.
additionalProperties:
$ref: '#/definitions/AtlasLineageInfoExtraProperties'
lineageDepth:
type: integer
format: int32
description: The depth of lineage.
lineageWidth:
type: integer
format: int32
description: The width of lineage.
includeParent:
type: boolean
description: True to return the parent of the base entity.
childrenCount:
type: integer
format: int32
description: The number of children node.
lineageDirection:
$ref: '#/definitions/LineageDirection_2'
parentRelations:
type: array
description: An array of parentRelations relations.
items:
$ref: '#/definitions/ParentRelation_2'
relations:
type: array
description: An array of lineage relations.
items:
$ref: '#/definitions/LineageRelation_2'
title: AtlasLineageInfo
description: The lineage information.
LineageRelation_2:
type: object
properties:
fromEntityId:
type: string
description: The GUID of from-entity.
relationshipId:
type: string
description: The GUID of relationship.
toEntityId:
type: string
description: The GUID of to-entity.
title: LineageRelation
description: The lineage relation with GUID of the from and to entity.
AtlasClassification_2:
type: object
title: AtlasClassification
allOf:
- $ref: '#/definitions/AtlasStruct'
- properties:
entityGuid:
type: string
description: The GUID of the entity.
entityStatus:
$ref: '#/definitions/Status'
removePropagationsOnEntityDelete:
type: boolean
description: Determines if propagations will be removed on entity deletion.
validityPeriods:
type: array
description: An array of time boundaries indicating validity periods.
items:
$ref: '#/definitions/TimeBoundary_2'
source:
type: string
description: indicate the source who create the classification detail
sourceDetails:
type: object
additionalProperties:
type: object
properties: {}
description: more detail on source information
description: An instance of a classification; it doesn't have an identity, this object exists only when associated with an entity.
parameters:
limit:
name: limit
description: The page size - by default there is no paging.
in: query
required: false
type: integer
format: int32
x-ms-parameter-location: method
getDerivedLineage:
name: getDerivedLineage
description: True to include derived lineage in the response
in: query
required: false
type: boolean
x-ms-parameter-location: method
typeName:
name: typeName
description: The name of the type.
in: path
required: true
type: string
minLength: 1
maxLength: 4096
x-ms-parameter-location: method
width:
name: width
description: The number of max expanding width in lineage.
in: query
required: false
type: integer
default: 10
format: int32
x-ms-parameter-location: method
guid:
name: guid
description: The globally unique identifier of the entity.
in: path
required: true
type: string
minLength: 1
maxLength: 4096
x-ms-parameter-location: method
includeParent:
name: includeParent
description: True to include the parent chain in the response.
in: query
required: false
type: boolean
x-ms-parameter-location: method
offset:
name: offset
description: The offset for pagination purpose.
in: query
required: false
type: integer
format: int32
x-ms-parameter-location: method
depth:
name: depth
description: The number of hops for lineage.
in: query
required: false
type: integer
default: 3
format: int32
x-ms-parameter-location: method
purviewAPIVersion:
name: api-version
description: Version of Purview APIs
in: query
required: true
type: string
x-ms-parameter-location: method
Azure.Core.Foundations.ApiVersionParameter:
name: api-version
in: query
description: The API version to use for this operation.
required: true
type: string
minLength: 1
x-ms-parameter-location: method
x-ms-client-name: apiVersion
direction:
name: direction
description: The direction of the lineage, which could be INPUT, OUTPUT or BOTH.
in: query
required: true
type: string
enum:
- BOTH
- INPUT
- OUTPUT
x-ms-enum:
name: direction
modelAsString: true
x-ms-parameter-location: method
x-ms-parameterized-host:
hostTemplate: '{endpoint}'
useSchemePrefix: false
parameters:
- $ref: '#/parameters/Endpoint'