Data Anomaly Policy - Schema

Data Anomaly (profile anomaly) policy

Execution result endpoints for anomaly detection use separate result schemas.

Top-level Fields

Depending on the endpoint, anomaly policy responses carry configuration in one or both of:

Field

Type

Description

details

object

Rule-level details including policy items (metrics to monitor, thresholds, etc.).

assetConfiguration

object

Asset-level configuration for anomaly detection (profiling type, schedule, owner/team, pattern settings).

manualProfilingTriggers

array

Reasons and flags controlling when manual profiling is required or blocked.

Key nested properties (high-level):

  • details.backingAssetId (integer) – Asset the anomaly policy is configured for.

  • details.items[] – Individual anomaly checks (per metric/column).

  • assetConfiguration.profilingType (string) – Type of profiling (for example distribution, volume, etc.).

  • assetConfiguration.schedule / scheduled (string / boolean) – When anomaly profiling runs.

  • assetConfiguration.notificationChannels (string or object, depending on shape) – High-level alerting configuration.

  • manualProfilingTriggers[].canTrigger (boolean) – Whether manual profiling is allowed.

  • manualProfilingTriggers[].reason (string) – Human-readable reason.

  • manualProfilingTriggers[].type (string) – Trigger type.

Example JSON

{ "details": { "backingAssetId": 7456771, "continueExecutionOnFailure": false, "executionSequence": 1, "filter": null, "id": 23001, "isCompositeRule": false, "isSegmented": false, "items": [ { "businessExplanation": "Detect anomalies in daily order volume.", "columnName": "order_date", "executionOrder": 1, "id": 34001, "ruleId": 23001, "ruleVersion": 1, "weightage": 100 } ] }, "assetConfiguration": { "profilingType": "VOLUME", "owner": "data-team@company.com", "team": "Data Platform", "schedule": "0 * * * *", "scheduled": true, "timeZone": "Asia/Kolkata", "patternConfiguration": { "frequencyType": "DAILY", "maxPatterns": 10 }, "notificationChannels": "DEFAULT", "minimumRequiredHistoricalMetricsForAnomalyDetection": "7d", "referenceCheckConfiguration": "LATEST", "sparkResourceConfig": "DEFAULT", "persistencePath": "s3://bucket/path/anomaly-metrics", "updatedAt": "2024-06-18T12:32:30.415Z" }, "manualProfilingTriggers": [ { "canTrigger": false, "reason": "Insufficient historical data for anomaly detection.", "type": "HISTORICAL_DATA_INSUFFICIENT" } ] }