openapi: 3.0.1 info: title: OpenMetadata APIs Agent Executions Classifications API description: Common types and API definition for OpenMetadata contact: name: OpenMetadata url: https://open-metadata.org email: openmetadata-dev@googlegroups.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.13' servers: - url: /api description: Current Host - url: http://localhost:8585/api description: Endpoint URL security: - BearerAuth: [] tags: - name: Classifications description: These APIs are related to `Classification` and `Tags`. A `Classification` entity contains hierarchical terms called `Tags` used for categorizing and classifying data assets and other entities. paths: /v1/classifications: get: tags: - Classifications summary: List classifications description: Get a list of classifications. operationId: listClassifications parameters: - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,reviewers,usageCount,termCount,autoClassificationConfig - name: disabled in: query description: Filter Disabled Classifications schema: type: string - name: limit in: query description: 'Limit the number classifications returned. (1 to 1000000, default = 10) ' schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: before in: query description: Returns list of classifications before this cursor schema: type: string - name: after in: query description: Returns list of classifications after this cursor schema: type: string - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted responses: '200': description: 'The user ' content: application/json: schema: $ref: '#/components/schemas/ClassificationList' put: tags: - Classifications summary: Update a classification description: Update an existing category identify by category name operationId: createOrUpdateClassification requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateClassification' responses: default: description: default response content: application/json: {} post: tags: - Classifications summary: Create a classification description: Create a new classification. The request can include the children tags to be created along with the classification. operationId: createClassification requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateClassification' responses: '200': description: 'The user ' content: application/json: schema: $ref: '#/components/schemas/Classification' '400': description: Bad request /v1/classifications/name/{name}: get: tags: - Classifications summary: Get a classification by name description: Get a classification identified by name. The response includes classification information along with the entire hierarchy of all the children tags. operationId: getClassificationByName parameters: - name: name in: path description: Name of the classification required: true schema: type: string - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,reviewers,usageCount,termCount,autoClassificationConfig - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted responses: '200': description: 'The user ' content: application/json: schema: $ref: '#/components/schemas/Classification' '404': description: Classification for instance {name} is not found delete: tags: - Classifications summary: Delete classification by name description: Delete a classification by `name` and all the tags under it. operationId: deleteClassificationByName parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: name in: path description: Name of the classification required: true schema: type: string responses: '200': description: OK '404': description: classification for instance {name} is not found /v1/classifications/{id}: get: tags: - Classifications summary: Get a classification by id description: Get a classification by `id` operationId: getClassificationByID parameters: - name: id in: path description: Id of the classification required: true schema: type: string format: uuid - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,reviewers,usageCount,termCount,autoClassificationConfig - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: classification content: application/json: schema: $ref: '#/components/schemas/Classification' '404': description: Classification for instance {id} is not found delete: tags: - Classifications summary: Delete classification by id description: Delete a classification and all the tags under it. operationId: deleteClassification parameters: - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: id in: path description: Id of the classification required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - Classifications summary: Update a classification description: Update an existing classification using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchClassification_1 parameters: - name: id in: path description: Id of the classification required: true schema: type: string format: uuid requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/classifications/async/{id}: delete: tags: - Classifications summary: Asynchronously delete classification by id description: Asynchronously delete a classification and all the tags under it. operationId: deleteClassificationAsync parameters: - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: id in: path description: Id of the classification required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} /v1/classifications/{id}/versions/{version}: get: tags: - Classifications summary: Get a version of the classification description: Get a version of the classification by given `id` operationId: getSpecificClassificationVersion parameters: - name: id in: path description: Id of the classification required: true schema: type: string format: uuid - name: version in: path description: classification version number in the form `major`.`minor` required: true schema: type: string example: 0.1 or 1.1 responses: '200': description: glossaries content: application/json: schema: $ref: '#/components/schemas/Classification' '404': description: Classification for instance {id} and version {version} is not found /v1/classifications/history: get: tags: - Classifications summary: List all entity versions within a time range description: 'Get a paginated list of all entity versions within a given time range specified by `startTs` and `endTs` in milliseconds since epoch. ' operationId: listAllEntityVersionsByTimestamp_55 parameters: - name: startTs in: query description: Start timestamp in milliseconds since epoch required: true schema: type: integer format: int64 - name: endTs in: query description: End timestamp in milliseconds since epoch required: true schema: type: integer format: int64 - name: limit in: query description: Limit the number of entity returned (1 to 1000000, default = 10) schema: maximum: 500 minimum: 1 type: integer format: int32 default: 10 - name: before in: query description: Returns list of entity versions before this cursor schema: type: string - name: after in: query description: Returns list of entity versions after this cursor schema: type: string responses: '200': description: List of all versions content: application/json: schema: $ref: '#/components/schemas/ResultList' /v1/classifications/{id}/versions: get: tags: - Classifications summary: List classification versions description: Get a list of all the versions of a classification identified by `id` operationId: listAllClassificationVersion parameters: - name: id in: path description: Id of the classification required: true schema: type: string format: uuid responses: '200': description: List of classification versions content: application/json: schema: $ref: '#/components/schemas/EntityHistory' /v1/classifications/name/{fqn}: patch: tags: - Classifications summary: Update a classification using name. description: Update an existing classification using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchClassification parameters: - name: fqn in: path description: Name of the classification required: true schema: type: string requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/classifications/restore: put: tags: - Classifications summary: Restore a soft deleted classification description: Restore a soft deleted classification. operationId: restoreClassification requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreEntity' responses: '200': description: 'Successfully restored the Table ' content: application/json: schema: $ref: '#/components/schemas/Classification' /v1/tags/{id}/assets/add: put: tags: - Classifications summary: Bulk Add Classification Tag to Assets description: Bulk Add Classification Tag to Assets operationId: bulkAddTagToAssets parameters: - name: id in: path description: Id of the Entity required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AddTagToAssetsRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BulkOperationResult' '404': description: model for instance {id} is not found /v1/tags/{id}/assets/remove: put: tags: - Classifications summary: Bulk Remove Tag from Assets description: Bulk Remove Tag from Assets operationId: bulkRemoveTagFromAssets parameters: - name: id in: path description: Id of the Entity required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AddTagToAssetsRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChangeEvent' '404': description: model for instance {id} is not found /v1/tags: get: tags: - Classifications summary: List tags description: Get a list of tags. Use `fields` parameter to get only necessary fields. Use cursor-based pagination to limit the number entries in the list using `limit` and `before` or `after` query params. operationId: listTags parameters: - name: parent in: query description: List tags filtered by children of tag identified by fqn given in `parent` parameter. The fqn can either be classificationName or fqn of a parent tag schema: type: string example: owners,reviewers,domains,children,usageCount,recognizers,autoClassificationEnabled,autoClassificationPriority - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,reviewers,domains,children,usageCount,recognizers,autoClassificationEnabled,autoClassificationPriority - name: disabled in: query description: Filter Disabled Classifications schema: type: string example: owners,reviewers,domains,children,usageCount,recognizers,autoClassificationEnabled,autoClassificationPriority - name: limit in: query description: Limit the number tags returned. (1 to 1000000, default = 10) schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: before in: query description: Returns list of tags before this cursor schema: type: string - name: after in: query description: Returns list of tags after this cursor schema: type: string - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted responses: '200': description: List of tags content: application/json: schema: $ref: '#/components/schemas/TagList' put: tags: - Classifications summary: Create or update a tag description: Create a new tag, if it does not exist or update an existing tag. operationId: createOrUpdateTag requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTag' responses: '200': description: The tag content: application/json: schema: $ref: '#/components/schemas/Tag' '400': description: Bad request post: tags: - Classifications summary: Create a tag description: Create a new tag. operationId: createTag requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTag' responses: '200': description: The tag content: application/json: schema: $ref: '#/components/schemas/Tag' '400': description: Bad request /v1/tags/name/{fqn}: get: tags: - Classifications summary: Get a tag by fully qualified name description: Get a tag by `fullyQualifiedName`. operationId: getTagByFQN parameters: - name: fqn in: path description: Fully qualified name of the tag required: true schema: type: string - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,reviewers,domains,children,usageCount,recognizers,autoClassificationEnabled,autoClassificationPriority - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: The tag content: application/json: schema: $ref: '#/components/schemas/Tag' '404': description: Tag for instance {fqn} is not found delete: tags: - Classifications summary: Delete a tag by fully qualified name description: Delete a tag by `fullyQualifiedName`. operationId: deleteTagByName parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: fqn in: path description: Fully qualified name of the tag required: true schema: type: string responses: '200': description: OK '404': description: tag for instance {fqn} is not found patch: tags: - Classifications summary: Update a tag using name. description: Update an existing tag using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchTag parameters: - name: fqn in: path description: Name of the tag required: true schema: type: string requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/tags/{id}: get: tags: - Classifications summary: Get a tag by id description: Get a tag by `id`. operationId: getTagByID parameters: - name: id in: path description: Id of the tag required: true schema: type: string format: uuid - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,reviewers,domains,children,usageCount,recognizers,autoClassificationEnabled,autoClassificationPriority - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: The tag content: application/json: schema: $ref: '#/components/schemas/Tag' '404': description: Tag for instance {id} is not found delete: tags: - Classifications summary: Delete a tag by id description: Delete a tag by `id`. operationId: deleteTag parameters: - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: id in: path description: Id of the tag required: true schema: type: string format: uuid responses: '200': description: OK '404': description: tag for instance {id} is not found patch: tags: - Classifications summary: Update a tag description: Update an existing tag using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchTag_1 parameters: - name: id in: path description: Id of the tag required: true schema: type: string format: uuid requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/tags/async/{id}: delete: tags: - Classifications summary: Asynchronously delete a tag by id description: Asynchronously delete a tag by `id`. operationId: deleteTagAsync parameters: - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: id in: path description: Id of the tag required: true schema: type: string format: uuid responses: '200': description: OK '404': description: tag for instance {id} is not found /v1/tags/assets/counts: get: tags: - Classifications summary: Get all tags with their asset counts description: Get a map of tag fully qualified names to their asset counts using search aggregation. operationId: getAllTagsWithAssetsCount responses: '200': description: Map of tag FQN to asset count content: application/json: {} /v1/tags/feedback/pending: get: tags: - Classifications summary: Get all pending feedback description: Get all feedback entries pending review across all tags operationId: getPendingFeedback responses: '200': description: Pending feedback list retrieved successfully /v1/tags/feedback/{id}: get: tags: - Classifications summary: Get feedback by ID description: Get a specific feedback entry by its ID operationId: getRecognizerFeedback parameters: - name: id in: path description: ID of the feedback required: true schema: type: string format: uuid responses: '200': description: Feedback retrieved successfully content: application/json: schema: $ref: '#/components/schemas/RecognizerFeedback' '404': description: Feedback not found /v1/tags/name/{fqn}/feedback: get: tags: - Classifications summary: Get all feedback for a tag description: Get all feedback entries for a specific tag operationId: getTagFeedback parameters: - name: fqn in: path description: Fully qualified name of the tag required: true schema: type: string responses: '200': description: Feedback list retrieved successfully post: tags: - Classifications summary: Submit feedback on auto-applied tag description: Submit user feedback when a recognizer incorrectly applies this tag operationId: submitRecognizerFeedback parameters: - name: fqn in: path description: Fully qualified name of the tag required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RecognizerFeedback' responses: '201': description: Feedback submitted successfully content: application/json: schema: $ref: '#/components/schemas/RecognizerFeedback' '400': description: Bad request '404': description: Tag not found /v1/tags/{id}/versions/{version}: get: tags: - Classifications summary: Get a version of the tags description: Get a version of the tag by given `id` operationId: getSpecificTagVersion parameters: - name: id in: path description: Id of the tag required: true schema: type: string format: uuid - name: version in: path description: tag version number in the form `major`.`minor` required: true schema: type: string example: 0.1 or 1.1 responses: '200': description: tags content: application/json: schema: $ref: '#/components/schemas/Tag' '404': description: Tag for instance {id} and version {version} is not found /v1/tags/history: get: tags: - Classifications summary: List all entity versions within a time range description: 'Get a paginated list of all entity versions within a given time range specified by `startTs` and `endTs` in milliseconds since epoch. ' operationId: listAllEntityVersionsByTimestamp_56 parameters: - name: startTs in: query description: Start timestamp in milliseconds since epoch required: true schema: type: integer format: int64 - name: endTs in: query description: End timestamp in milliseconds since epoch required: true schema: type: integer format: int64 - name: limit in: query description: Limit the number of entity returned (1 to 1000000, default = 10) schema: maximum: 500 minimum: 1 type: integer format: int32 default: 10 - name: before in: query description: Returns list of entity versions before this cursor schema: type: string - name: after in: query description: Returns list of entity versions after this cursor schema: type: string responses: '200': description: List of all versions content: application/json: schema: $ref: '#/components/schemas/ResultList' /v1/tags/name/{fqn}/recognizers: get: tags: - Classifications summary: Lists a tag's recognizers description: Paginated endpoint to return a tag's recognizer list operationId: listATagsRecognizersByFQN parameters: - name: fqn in: path description: Fully Qualified Name of the tag in question required: true schema: type: string - name: limit in: query description: Limit the number tags returned. (1 to 1000000, default = 10) schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: before in: query description: Returns list of tags before this cursor schema: type: string - name: after in: query description: Returns list of tags after this cursor schema: type: string responses: '200': description: A list of recognizers content: application/json: schema: $ref: '#/components/schemas/RecognizerList' /v1/tags/{id}/recognizers: get: tags: - Classifications summary: Lists a tag's recognizers description: Paginated endpoint to return a tag's recognizer list operationId: listATagsRecognizersById parameters: - name: id in: path description: Id of the tag in question required: true schema: type: string format: uuid - name: limit in: query description: Limit the number tags returned. (1 to 1000000, default = 10) schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: before in: query description: Returns list of tags before this cursor schema: type: string - name: after in: query description: Returns list of tags after this cursor schema: type: string responses: '200': description: A list of recognizers content: application/json: schema: $ref: '#/components/schemas/RecognizerList' /v1/tags/{id}/assets: get: tags: - Classifications summary: List assets tagged with this tag description: Get a paginated list of assets that have this tag applied. Use limit and offset query params for pagination. operationId: listTagAssets parameters: - name: id in: path description: Id of the tag required: true schema: type: string format: uuid - name: limit in: query description: Limit the number of assets returned. (1 to 1000, default = 100) schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 10 - name: offset in: query description: Offset for pagination (default = 0) schema: minimum: 0 type: integer format: int32 default: 0 responses: '200': description: List of assets content: application/json: schema: $ref: '#/components/schemas/EntityReference' '404': description: Tag for instance {id} is not found /v1/tags/name/{fqn}/assets: get: tags: - Classifications summary: List assets tagged with this tag by fully qualified name description: Get a paginated list of assets that have this tag applied. Use limit and offset query params for pagination. operationId: listTagAssetsByName parameters: - name: fqn in: path description: Fully qualified name of the tag required: true schema: type: string - name: limit in: query description: Limit the number of assets returned. (1 to 1000, default = 100) schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 10 - name: offset in: query description: Offset for pagination (default = 0) schema: minimum: 0 type: integer format: int32 default: 0 responses: '200': description: List of assets content: application/json: schema: $ref: '#/components/schemas/EntityReference' '404': description: Tag for instance {fqn} is not found /v1/tags/{id}/versions: get: tags: - Classifications summary: List tag versions description: Get a list of all the versions of a tag identified by `id` operationId: listAllTagVersion parameters: - name: id in: path description: Id of the tag required: true schema: type: string format: uuid responses: '200': description: List of tag versions content: application/json: schema: $ref: '#/components/schemas/EntityHistory' /v1/tags/restore: put: tags: - Classifications summary: Restore a soft deleted tag. description: Restore a soft deleted tag. operationId: restoreTag requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreEntity' responses: '200': description: 'Successfully restored the Tag ' content: application/json: schema: $ref: '#/components/schemas/Tag' components: schemas: TagLabelRecognizerMetadata: required: - recognizerId - recognizerName - score type: object properties: recognizerId: type: string format: uuid recognizerName: type: string score: type: number format: double target: type: string enum: - content - column_name patterns: type: array items: $ref: '#/components/schemas/PatternMatch' BulkOperationResult: type: object properties: dryRun: type: boolean status: type: string enum: - success - failure - aborted - partialSuccess - running abortReason: type: string numberOfRowsProcessed: minimum: 0 exclusiveMinimum: false type: integer format: int32 numberOfRowsPassed: minimum: 0 exclusiveMinimum: false type: integer format: int32 numberOfRowsFailed: minimum: 0 exclusiveMinimum: false type: integer format: int32 successRequest: type: array items: $ref: '#/components/schemas/BulkResponse' failedRequest: type: array items: $ref: '#/components/schemas/BulkResponse' AutoClassificationConfig: type: object properties: enabled: type: boolean conflictResolution: type: string enum: - highest_confidence - highest_priority - most_specific minimumConfidence: type: number format: double requireExplicitMatch: type: boolean ChangeSummaryMap: type: object AccessDetails: required: - timestamp type: object properties: timestamp: type: integer format: int64 accessedBy: $ref: '#/components/schemas/EntityReference' accessedByAProcess: type: string FieldChange: type: object properties: name: type: string oldValue: type: object newValue: type: object CoverImage: type: object properties: url: type: string position: type: string RestoreEntity: required: - id type: object properties: id: type: string format: uuid Classification: required: - description - id - name type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string fullyQualifiedName: maxLength: 3072 minLength: 1 type: string displayName: type: string description: type: string version: type: number format: double termCount: minimum: 0 exclusiveMinimum: false type: integer format: int32 updatedAt: type: integer format: int64 updatedBy: type: string impersonatedBy: type: string href: type: string format: uri usageCount: type: integer format: int32 changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' deleted: type: boolean provider: type: string enum: - system - user - automation disabled: type: boolean mutuallyExclusive: type: boolean domains: type: array items: $ref: '#/components/schemas/EntityReference' owners: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' entityStatus: type: string enum: - Draft - In Review - Approved - Archived - Deprecated - Rejected - Unprocessed autoClassificationConfig: $ref: '#/components/schemas/AutoClassificationConfig' extension: type: object children: type: array items: $ref: '#/components/schemas/EntityReference' service: $ref: '#/components/schemas/EntityReference' style: $ref: '#/components/schemas/Style' tags: type: array items: $ref: '#/components/schemas/TagLabel' followers: type: array items: $ref: '#/components/schemas/EntityReference' experts: type: array items: $ref: '#/components/schemas/EntityReference' dataProducts: type: array items: $ref: '#/components/schemas/EntityReference' dataContract: $ref: '#/components/schemas/EntityReference' usageSummary: $ref: '#/components/schemas/UsageDetails' votes: $ref: '#/components/schemas/Votes' lifeCycle: $ref: '#/components/schemas/LifeCycle' certification: $ref: '#/components/schemas/AssetCertification' Recognizer: required: - name - recognizerConfig type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string description: type: string enabled: type: boolean isSystemDefault: type: boolean recognizerConfig: type: object confidenceThreshold: type: number format: double exceptionList: type: array items: $ref: '#/components/schemas/RecognizerException' version: type: number format: double updatedAt: type: integer format: int64 updatedBy: type: string target: type: string enum: - content - column_name LifeCycle: type: object properties: created: $ref: '#/components/schemas/AccessDetails' updated: $ref: '#/components/schemas/AccessDetails' accessed: $ref: '#/components/schemas/AccessDetails' CreateClassification: required: - description - name type: object properties: name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string description: type: string provider: type: string enum: - system - user - automation mutuallyExclusive: type: boolean domains: type: array items: type: string owners: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' autoClassificationConfig: $ref: '#/components/schemas/AutoClassificationConfig' extension: type: object tags: type: array items: $ref: '#/components/schemas/TagLabel' dataProducts: type: array items: type: string lifeCycle: $ref: '#/components/schemas/LifeCycle' EntityHistory: required: - entityType - versions type: object properties: entityType: type: string versions: type: array items: type: object AssetCertification: required: - appliedDate - expiryDate - tagLabel type: object properties: tagLabel: $ref: '#/components/schemas/TagLabel' appliedDate: type: integer format: int64 expiryDate: type: integer format: int64 ResultList: required: - data type: object properties: data: type: array items: type: object paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' BulkResponse: type: object properties: request: type: object message: type: string status: type: integer format: int32 AddTagToAssetsRequest: type: object properties: dryRun: type: boolean assets: type: array items: $ref: '#/components/schemas/EntityReference' Paging: required: - total type: object properties: before: type: string after: type: string offset: type: integer format: int32 limit: type: integer format: int32 total: type: integer format: int32 JsonPatch: type: object ChangeDescription: type: object properties: fieldsAdded: type: array items: $ref: '#/components/schemas/FieldChange' fieldsUpdated: type: array items: $ref: '#/components/schemas/FieldChange' fieldsDeleted: type: array items: $ref: '#/components/schemas/FieldChange' previousVersion: type: number format: double changeSummary: $ref: '#/components/schemas/ChangeSummaryMap' ClassificationList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/Classification' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' RecognizerInfo: type: object properties: recognizerId: type: string format: uuid recognizerName: type: string matchPattern: type: string confidenceScore: type: number format: double RecognizerException: required: - entityLink type: object properties: entityLink: pattern: (?U)^<#E::\w+::(?:[^:<>|]|:[^:<>|])+(?:::(?:[^:<>|]|:[^:<>|])+)*>$ type: string reason: type: string addedBy: $ref: '#/components/schemas/EntityReference' addedAt: type: integer format: int64 feedbackId: type: string format: uuid ChangeEvent: required: - entityId - entityType - eventType - id - timestamp type: object properties: id: type: string format: uuid eventType: type: string enum: - entityCreated - entityUpdated - entityFieldsChanged - entityNoChange - entitySoftDeleted - entityDeleted - entityRestored - threadCreated - threadUpdated - postCreated - postUpdated - taskResolved - taskClosed - logicalTestCaseAdded - suggestionCreated - suggestionUpdated - suggestionAccepted - suggestionRejected - suggestionDeleted - userLogin - userLogout entityType: type: string entityId: type: string format: uuid domains: type: array items: type: string format: uuid entityFullyQualifiedName: type: string previousVersion: type: number format: double currentVersion: type: number format: double userName: type: string impersonatedBy: type: string timestamp: type: integer format: int64 changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' entity: type: object UsageStats: required: - count type: object properties: count: minimum: 0 exclusiveMinimum: false type: integer format: int32 percentileRank: type: number format: double RecognizerFeedback: required: - entityLink - feedbackType - tagFQN type: object properties: id: type: string format: uuid entityLink: pattern: (?U)^<#E::\w+::(?:[^:<>|]|:[^:<>|])+(?:::(?:[^:<>|]|:[^:<>|])+)*>$ type: string tagFQN: maxLength: 3072 minLength: 1 type: string feedbackType: type: string enum: - FALSE_POSITIVE - INCORRECT_CLASSIFICATION - OVERLY_BROAD - CONTEXT_SPECIFIC userReason: type: string enum: - NOT_SENSITIVE_DATA - WRONG_DATA_TYPE - INTERNAL_IDENTIFIER - PUBLIC_INFORMATION - TEST_DATA - ENCRYPTED_DATA - OTHER userComments: type: string suggestedTag: maxLength: 3072 minLength: 1 type: string sampleValues: type: array items: type: string recognizerInfo: $ref: '#/components/schemas/RecognizerInfo' createdBy: $ref: '#/components/schemas/EntityReference' createdAt: type: integer format: int64 status: type: string enum: - PENDING - REVIEWED - APPLIED - REJECTED resolution: $ref: '#/components/schemas/Resolution' Resolution: type: object properties: action: type: string enum: - ADDED_TO_EXCEPTION_LIST - PATTERN_ADJUSTED - THRESHOLD_INCREASED - RECOGNIZER_DISABLED_FOR_ENTITY - NO_ACTION_NEEDED resolvedBy: $ref: '#/components/schemas/EntityReference' resolvedAt: type: integer format: int64 resolutionNotes: type: string Style: type: object properties: color: type: string iconURL: type: string coverImage: $ref: '#/components/schemas/CoverImage' Votes: type: object properties: upVotes: type: integer format: int32 downVotes: type: integer format: int32 upVoters: type: array items: $ref: '#/components/schemas/EntityReference' downVoters: type: array items: $ref: '#/components/schemas/EntityReference' TagLabel: required: - labelType - source - state - tagFQN type: object properties: tagFQN: type: string name: type: string displayName: type: string description: type: string style: $ref: '#/components/schemas/Style' source: type: string enum: - Classification - Glossary labelType: type: string enum: - Manual - Propagated - Automated - Derived - Generated state: type: string enum: - Suggested - Confirmed href: type: string format: uri reason: type: string appliedAt: type: string format: date-time appliedBy: type: string metadata: $ref: '#/components/schemas/TagLabelMetadata' PatternMatch: required: - name - score type: object properties: name: type: string regex: type: string score: type: number format: double RecognizerList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/Recognizer' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' TagLabelMetadata: type: object properties: recognizer: $ref: '#/components/schemas/TagLabelRecognizerMetadata' expiryDate: type: integer format: int64 EntityError: type: object properties: message: type: string entity: type: object CreateTag: required: - description - name type: object properties: classification: maxLength: 3072 minLength: 1 type: string parent: maxLength: 3072 minLength: 1 type: string name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string description: type: string style: $ref: '#/components/schemas/Style' associatedTags: type: array items: type: string provider: type: string enum: - system - user - automation mutuallyExclusive: type: boolean domains: type: array items: type: string owners: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' recognizers: type: array items: $ref: '#/components/schemas/Recognizer' autoClassificationEnabled: type: boolean autoClassificationPriority: maximum: 100 exclusiveMaximum: false minimum: 0 exclusiveMinimum: false type: integer format: int32 extension: type: object tags: type: array items: $ref: '#/components/schemas/TagLabel' dataProducts: type: array items: type: string lifeCycle: $ref: '#/components/schemas/LifeCycle' EntityReference: required: - id - type type: object properties: id: type: string format: uuid type: type: string name: type: string fullyQualifiedName: type: string description: type: string displayName: type: string deleted: type: boolean inherited: type: boolean href: type: string format: uri UsageDetails: required: - dailyStats - date type: object properties: dailyStats: $ref: '#/components/schemas/UsageStats' weeklyStats: $ref: '#/components/schemas/UsageStats' monthlyStats: $ref: '#/components/schemas/UsageStats' date: type: string Tag: required: - description - id - name type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string fullyQualifiedName: type: string description: type: string style: $ref: '#/components/schemas/Style' classification: $ref: '#/components/schemas/EntityReference' parent: $ref: '#/components/schemas/EntityReference' children: type: array items: $ref: '#/components/schemas/EntityReference' version: type: number format: double updatedAt: type: integer format: int64 updatedBy: type: string impersonatedBy: type: string href: type: string format: uri usageCount: type: integer format: int32 deprecated: type: boolean deleted: type: boolean changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' provider: type: string enum: - system - user - automation disabled: type: boolean mutuallyExclusive: type: boolean domains: type: array items: $ref: '#/components/schemas/EntityReference' dataProducts: type: array items: $ref: '#/components/schemas/EntityReference' dataContract: $ref: '#/components/schemas/EntityReference' owners: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' entityStatus: type: string enum: - Draft - In Review - Approved - Archived - Deprecated - Rejected - Unprocessed recognizers: type: array items: $ref: '#/components/schemas/Recognizer' autoClassificationEnabled: type: boolean autoClassificationPriority: maximum: 100 exclusiveMaximum: false minimum: 0 exclusiveMinimum: false type: integer format: int32 extension: type: object service: $ref: '#/components/schemas/EntityReference' tags: type: array items: $ref: '#/components/schemas/TagLabel' followers: type: array items: $ref: '#/components/schemas/EntityReference' experts: type: array items: $ref: '#/components/schemas/EntityReference' usageSummary: $ref: '#/components/schemas/UsageDetails' votes: $ref: '#/components/schemas/Votes' lifeCycle: $ref: '#/components/schemas/LifeCycle' certification: $ref: '#/components/schemas/AssetCertification' TagList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/Tag' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT