Webhooks

Send notifications as webhook payload to an HTTP endpoint.

Configuration Parameters

Field / OptionRequiredDescriptionExample
Channel typeSelect Webhook as the channel type to send notifications to.
NameIdentifier for the channel, used to configure notification rules.Name it after the team accessing the channel.
Webhook URLWebhook URL to the specified HTTP endpoint.
Auth headerSignature to include in the authorization header sent to the HTTP endpoint.
Application link URLURL to your Validio application instance, used to send notifications.

Note: This is predefined based on the web browser URL.

Webhook Payload

Webhook payload is data embedded in a HTTP POST as JSON format. When your Notification rule is triggered, the webhook payload is sent to the specified HTTP endpoint. The payload structure varies depending on the notification type.

📘

Note

Validio does not send notifications for backfilled incidents.

Validator Incidents

Validator incidents occur when your data breaches a configured Threshold. The payload structure varies depending on Segmentation and Threshold type.

{
    "title": "69 incidents triggered on: Maximum of 'Age' (Dynamic threshold)",
    "validatorUrl": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg/validators/MTR_AKMsyNxgTaaPKmcVCvJYGg",
    "validatorId": "MTR_AKMsyNxgTaaPKmcVCvJYGg",
    "sourceId": "SRC_TOA6BUGIQMS7k84426Nbdg",
    "incidents": [
        {
            "segment": {
                "segmentId": "PRT_2jgUSDHhEWnH66mYs4ATBQ",
                "segmentFields": [
                    {
                        "field": "Gender",
                        "value": "Female"
                    },
                    {
                        "field": "Education",
                        "value": "Assoc-acdm"
                    }
                ]
            },
            "startTime": "3/30/2023, 09:22:02",
            "endTime": "3/30/2023, 09:22:21",
            "url": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg/validators/MTR_AKMsyNxgTaaPKmcVCvJYGg?segmentId=PRT_2jgUSDHhEWnH66mYs4ATBQ&timeRange=%28typename%3ACUSTOM%2Cfrom%3A2023-03-26T21%21%3A22%21%3A11.687Z%2Cto%3A2023-04-02T21%21%3A22%21%3A11.687Z%29",
            "message": "Expected value to be between 43.00223 - 50.33960, was 33.",
            "threshold": {
                "thresholdType": "DynamicThreshold",
                "lowerBound": 43.00223,
                "upperBound": 50.3396,
                "value": 33
            }
        }
    ]
}
{
    "title": "3 incidents triggered on: Maximum of 'Age' (Dynamic threshold)",
    "validatorUrl": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg/validators/MTR_4cGUgDqdQMq6NOOaqIxsQQ",
    "validatorId": "MTR_4cGUgDqdQMq6NOOaqIxsQQ",
    "sourceId": "SRC_TOA6BUGIQMS7k84426Nbdg",
    "incidents": [
        {
            "segment": {
                "segmentId": "PRT_JGX187xhdypkKrryhRzMXw",
                "segmentFields": []
            },
            "startTime": "3/30/2023, 09:33:37",
            "endTime": "3/30/2023, 09:33:55",
            "url": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg/validators/MTR_4cGUgDqdQMq6NOOaqIxsQQ?segmentId=PRT_JGX187xhdypkKrryhRzMXw&timeRange=%28typename%3ACUSTOM%2Cfrom%3A2023-03-26T21%21%3A33%21%3A46.696Z%2Cto%3A2023-04-02T21%21%3A33%21%3A46.696Z%29",
            "message": "Expected value to be between 80.81601 - 84.46623, was 80.",
            "threshold": {
                "thresholdType": "DynamicThreshold",
                "lowerBound": 80.81601,
                "upperBound": 84.46623,
                "value": 80
            }
        },
    ]
}

Dynamic Threshold

The payload structure for dynamic thresholds include the value, boundary, and decisionBoundsType: LOWER, UPPER, or UPPER_AND_LOWER.

"threshold": {
    "thresholdType": "DynamicThreshold",
    "value": 90,
    "decisionBoundsType": "UPPER_AND_LOWER",
    "lowerBound": 80.47892,
    "upperBound": 84.3383
}
"threshold": {
    "thresholdType": "DynamicThreshold",
    "value": 81,
    "decisionBoundsType": "LOWER",
    "lowerBound": 81.62181
}

Fixed Threshold

The payload structure for fixed thresholds include the comparison value, value, and comparison operator: LESS, LESS_EQUAL, EQUAL, NOT_EQUAL, GREATER, or GREATER_EQUAL.

"threshold": {
    "thresholdType": "FixedThreshold",
    "operator": "LESS",
    "comparisonValue": 8,
    "value": 6
}
"threshold": {
    "thresholdType": "FixedThreshold",
    "operator": "LESS_EQUAL",
    "comparisonValue": 30,
    "value": 24
}

Schema Changes

Validio can send notifications about changes in your schema. changeTypes can include one of the following: Nullability, MissingField, JtdType, or UnderlyingType.

{
    "title": "1 schema change found on: Loan Application Data (GcpBigQuerySource).",
    "sourceUrl": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg",
    "sourceId": "SRC_TOA6BUGIQMS7k84426Nbdg",
    "incidents": [
        {
            "changes": {
                "Age": {
                    "new": {
                        "name": "Age",
                        "type": "float64",
                        "nullable": true,
                        "underlyingType": "int"
                    },
                    "old": {
                        "name": "Age",
                        "type": "float64",
                        "nullable": false,
                        "underlyingType": "int"
                    },
                    "changeTypes": [
                        "Nullability"
                }
            }
        },
    ]
}

Webhook payload examples

Validator incident on fixed threshold

{
    "title": "14 incidents triggered on: Maximum of 'Credit_scoring' (Fixed threshold)",
    "validatorUrl": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg/validators/MTR__1cXrW8iSG6vn23lqm7IeA",
    "validatorId": "MTR__1cXrW8iSG6vn23lqm7IeA",
    "sourceId": "SRC_TOA6BUGIQMS7k84426Nbdg",
    "incidents": [
        {
            "segment": {
                "segmentId": "PRT_1GJHLWOaAqZoxMekUL3OCQ",
                "segmentFields": [
                    {
                        "field": "Gender",
                        "value": "Male"
                    },
                    {
                        "field": "Education",
                        "value": "11th"
                    }
                ]
            },
            "startTime": "3/30/2023, 09:25:58",
            "endTime": "3/30/2023, 09:26:14",
            "url": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg/validators/MTR__1cXrW8iSG6vn23lqm7IeA?segmentId=PRT_1GJHLWOaAqZoxMekUL3OCQ&timeRange=%28typename%3ACUSTOM%2Cfrom%3A2023-03-26T21%21%3A26%21%3A06.620Z%2Cto%3A2023-04-02T21%21%3A26%21%3A06.620Z%29",
            "message": "Expected value to not be less than 8, was 6.",
            "threshold": {
                "thresholdType": "FixedThreshold",
                "operator": "LESS",
                "decisionBoundary": 8,
                "value": 6
            }
        },
    ]
}

Schema type changes

{
    "title": "2 schema changes found on: Loan Application Data (GcpBigQuerySource).",
    "sourceUrl": "https://validio-deployment.com/sources/SRC_TOA6BUGIQMS7k84426Nbdg",
    "sourceId": "SRC_TOA6BUGIQMS7k84426Nbdg",
    "incidents": [
        {
            "changes": {
                "Age": {
                    "new": {
                        "name": "Age",
                        "type": "float64",
                        "nullable": true,
                        "underlyingType": "int"
                    },
                    "old": {
                        "name": "Age",
                        "type": "float64",
                        "nullable": false,
                        "underlyingType": "int"
                    },
                    "changeTypes": [
                        "Nullability"
                    ]
                },
                "Credit_score": {
                    "new": {
                        "name": "Credit_score",
                        "type": "string",
                        "nullable": false,
                        "underlyingType": "float64"
                    },
                    "old": {
                        "name": "Credit_score",
                        "type": "float64",
                        "nullable": false,
                        "underlyingType": "float64"
                    },
                    "changeTypes": [
                        "JtdType"
                    ]
                }
            }
        },
    ]
}