Webhook payload
When you configure a webhook for data quality events, Atlan sends an HTTPS POST request to your endpoint each time a rule lifecycle or execution event occurs. This page documents the event types, payload structure, and field definitions your endpoint receives.
The top-level structure is the same for all event types.
{
"eventType": "<event-type>",
"ruleData": { ... }
}
Event types
Atlan sends webhook events for two categories: rule lifecycle changes and rule execution results.
Rule lifecycle events
These events fire when a rule definition changes.
DATA_QUALITY_RULE_CREATEDstringOptional
DATA_QUALITY_RULE_CREATEDstringFires when a new data quality rule is created.
DATA_QUALITY_RULE_UPDATEDstringOptional
DATA_QUALITY_RULE_UPDATEDstringFires when an existing rule is modified.
DATA_QUALITY_RULE_DELETEDstringOptional
DATA_QUALITY_RULE_DELETEDstringFires when a rule is removed.
Rule execution events
These events fire after a scheduled or on-demand rule run completes.
DATA_QUALITY_RULE_PASSstringOptional
DATA_QUALITY_RULE_PASSstringFires when a rule execution succeeds.
DATA_QUALITY_RULE_FAILstringOptional
DATA_QUALITY_RULE_FAILstringFires when a rule execution fails.
ruleData field reference
Every event includes a ruleData object containing rule metadata, execution results, threshold configuration, and the associated dataset and column details. Fields are grouped below by function.
Example payload
The following example shows a DATA_QUALITY_RULE_FAIL event for a Custom SQL rule applied to a Snowflake table:
{
"eventType": "DATA_QUALITY_RULE_FAIL",
"ruleData": {
"connector": "snowflake",
"qualifiedName": "default/snowflake/1741280185/ANALYTICS/ATLAN_DEV/STG_PACKAGE_TYPES/rule/fa9b4d5f-945a-4685-0d7c-0210896d51e4",
"templateName": "Custom SQL",
"dimension": "completeness",
"priority": "NORMAL",
"latestResult": "FAIL",
"metricValue": "14",
"sourceSyncStatus": "SUCCESSFUL",
"sourceSyncErrorMessage": "",
"rowScopeFilteringEnabled": false,
"failedRowsSQL": "",
"customSQLReturnType": "NUMERIC_VALUE",
"customSQL": "SELECT count(*) FROM \"ANALYTICS\".\"ATLAN_DEV\".\"STG_PACKAGE_TYPES\"",
"latestResultComputedAt": 1772812401828,
"latestMetricValueComputedAt": 1772812223254,
"threshold": {
"thresholdValue": 12,
"thresholdCompareOperator": "LTE",
"thresholdUnit": null
},
"baseDatasetInfo": {
"qualifiedName": "default/snowflake/1741280185/ANALYTICS/ATLAN_DEV/STG_PACKAGE_TYPES",
"baseDatasetGuid": "7a7153c2-9ea8-4e1f-8ecb-12e63dd49809",
"baseDatasetTypename": "Table",
"name": "STG_PACKAGE_TYPES"
},
"baseColumnInfo": {
"qualifiedName": "",
"baseColumnGuid": "",
"baseColumnTypename": "",
"name": ""
}
}
}
Rule identification
These fields identify the rule, its template, quality dimension, and priority.
connectorstringRequired
connectorstringSource warehouse.
snowflakedatabricksbigqueryqualifiedNamestringRequired
qualifiedNamestringAtlan qualified name of the DQ rule asset.
templateNamestringRequired
templateNamestringRule template used for the check.
Custom SQLRow CountNull CheckFreshnessdimensionstringRequired
dimensionstringQuality dimension the rule measures.
completenessaccuracyfreshnessuniquenessprioritystringRequired
prioritystringRule priority level.
LOWNORMALURGENTExecution results
These fields report the outcome and timing of the most recent rule run.
latestResultstringRequired
latestResultstringMost recent execution outcome.
PASSFAILmetricValuestringRequired
metricValuestringMeasured value. Always returned as a string, even when the value is numeric.
latestResultComputedAtnumberRequired
latestResultComputedAtnumberUnix timestamp in milliseconds when the result was last computed.
1772812401828latestMetricValueComputedAtnumberRequired
latestMetricValueComputedAtnumberUnix timestamp in milliseconds when the metric value was last measured.
1772812223254Source sync
These fields indicate whether the rule result was synced back to the source warehouse.
sourceSyncStatusstringRequired
sourceSyncStatusstringStatus of syncing the result back to the warehouse.
SUCCESSFULFAILEDIN_PROGRESSsourceSyncErrorMessagestringRequired
sourceSyncErrorMessagestringError message if sync failed. Returns an empty string otherwise.
Row filtering
These fields describe the row-scope filtering and failed-rows query configuration for the rule.
rowScopeFilteringEnabledbooleanRequired
rowScopeFilteringEnabledbooleanWhether row-scope filtering is configured for this rule.
failedRowsSQLstringRequired
failedRowsSQLstringSQL query to retrieve the failing rows. Returns an empty string if not applicable.
Custom SQL
These fields are populated only for rules that use the Custom SQL template. For other rule types, both fields return an empty string.
customSQLReturnTypestringOptional
customSQLReturnTypestringReturn type for Custom SQL rules.
NUMERIC_VALUEBOOLEANcustomSQLstringOptional
customSQLstringThe SQL expression defined in the Custom SQL rule.
threshold
The threshold object contains the pass/fail boundary configured for the rule.
thresholdValuenumberRequired
thresholdValuenumberConfigured threshold value.
thresholdCompareOperatorstringRequired
thresholdCompareOperatorstringComparison operator applied to the threshold.
LTELTGTEGTEQNEQthresholdUnitstring | nullOptional
thresholdUnitstring | nullUnit for the threshold. Used by freshness rules. Returns null for other rule types.
baseDatasetInfo
The baseDatasetInfo object identifies the table or view the rule is applied to.
qualifiedNamestringRequired
qualifiedNamestringAtlan qualified name of the table or view.
baseDatasetGuidstringRequired
baseDatasetGuidstringGUID of the table or view asset.
baseDatasetTypenamestringRequired
baseDatasetTypenamestringAsset type of the base dataset.
TableViewMaterialisedViewnamestringRequired
namestringDisplay name of the table or view.
baseColumnInfo
The baseColumnInfo object identifies the column for column-level rules. For table-level rules, all fields return an empty string.
qualifiedNamestringOptional
qualifiedNamestringQualified name of the column.
baseColumnGuidstringOptional
baseColumnGuidstringGUID of the column asset.
baseColumnTypenamestringOptional
baseColumnTypenamestringColumn asset type.
namestringOptional
namestringColumn name.
See also
- Configure webhooks: Set up webhook endpoints to receive data quality events
- Configure alerts: Configure Slack or Microsoft Teams notifications for data quality rule failures