{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-purview/json-schema/microsoft-purview-atlas-relationship-with-ext-info-schema.json",
  "title": "AtlasRelationshipWithExtInfo",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-purview-relationship-api-openapi.yml#/components/schemas/AtlasRelationshipWithExtInfo",
  "type": "object",
  "properties": {
    "referredEntities": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/AtlasEntity"
      }
    },
    "relationship": {
      "$ref": "#/$defs/AtlasRelationship"
    }
  },
  "$defs": {
    "AtlasClassification": {
      "type": "object",
      "description": "A classification instance",
      "properties": {
        "attributes": {
          "type": "object",
          "additionalProperties": true
        },
        "typeName": {
          "type": "string"
        },
        "lastModifiedTS": {
          "type": "string"
        },
        "entityGuid": {
          "type": "string",
          "format": "uuid"
        },
        "entityStatus": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "DELETED"
          ]
        },
        "propagate": {
          "type": "boolean"
        },
        "removePropagationsOnEntityDelete": {
          "type": "boolean"
        },
        "validityPeriods": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TimeBoundary"
          }
        }
      }
    },
    "AtlasEntity": {
      "type": "object",
      "description": "An instance of an entity along with extended info such as classification and referenced entities",
      "properties": {
        "attributes": {
          "type": "object",
          "description": "The attributes of the entity",
          "additionalProperties": true
        },
        "typeName": {
          "type": "string",
          "description": "The name of the type"
        },
        "lastModifiedTS": {
          "type": "string",
          "description": "ETag for concurrency control"
        },
        "businessAttributes": {
          "type": "object",
          "additionalProperties": true
        },
        "classifications": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AtlasClassification"
          }
        },
        "createTime": {
          "type": "integer",
          "format": "int64"
        },
        "createdBy": {
          "type": "string"
        },
        "guid": {
          "type": "string",
          "format": "uuid"
        },
        "homeId": {
          "type": "string"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "meanings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AtlasTermAssignmentHeader"
          }
        },
        "provenanceType": {
          "type": "integer",
          "format": "int32"
        },
        "proxy": {
          "type": "boolean"
        },
        "relationshipAttributes": {
          "type": "object",
          "additionalProperties": true
        },
        "status": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "DELETED"
          ]
        },
        "updateTime": {
          "type": "integer",
          "format": "int64"
        },
        "updatedBy": {
          "type": "string"
        },
        "version": {
          "type": "integer",
          "format": "int64"
        },
        "collectionId": {
          "type": "string"
        }
      }
    },
    "AtlasObjectId": {
      "type": "object",
      "properties": {
        "guid": {
          "type": "string",
          "format": "uuid"
        },
        "typeName": {
          "type": "string"
        },
        "uniqueAttributes": {
          "type": "object",
          "additionalProperties": true
        }
      }
    },
    "AtlasRelationship": {
      "type": "object",
      "description": "A relationship between entities",
      "properties": {
        "attributes": {
          "type": "object",
          "additionalProperties": true
        },
        "typeName": {
          "type": "string"
        },
        "lastModifiedTS": {
          "type": "string"
        },
        "createTime": {
          "type": "integer",
          "format": "int64"
        },
        "createdBy": {
          "type": "string"
        },
        "end1": {
          "$ref": "#/$defs/AtlasObjectId"
        },
        "end2": {
          "$ref": "#/$defs/AtlasObjectId"
        },
        "guid": {
          "type": "string",
          "format": "uuid"
        },
        "homeId": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "provenanceType": {
          "type": "integer",
          "format": "int32"
        },
        "status": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "DELETED"
          ]
        },
        "updateTime": {
          "type": "integer",
          "format": "int64"
        },
        "updatedBy": {
          "type": "string"
        },
        "version": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "AtlasTermAssignmentHeader": {
      "type": "object",
      "properties": {
        "confidence": {
          "type": "integer",
          "format": "int32"
        },
        "createdBy": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "displayText": {
          "type": "string"
        },
        "expression": {
          "type": "string"
        },
        "relationGuid": {
          "type": "string",
          "format": "uuid"
        },
        "status": {
          "type": "string",
          "enum": [
            "DISCOVERED",
            "PROPOSED",
            "IMPORTED",
            "VALIDATED",
            "DEPRECATED",
            "OBSOLETE",
            "OTHER"
          ]
        },
        "steward": {
          "type": "string"
        },
        "termGuid": {
          "type": "string",
          "format": "uuid"
        }
      }
    },
    "TimeBoundary": {
      "type": "object",
      "properties": {
        "endTime": {
          "type": "string"
        },
        "startTime": {
          "type": "string"
        },
        "timeZone": {
          "type": "string"
        }
      }
    }
  }
}