Webhooks

Send notifications as webhook payload to an HTTP endpoint.

Configuration Parameters

Field / Option

Required

Description

Example

Channel type

✅

Select Webhook as the channel type to send notifications to.

Name

✅

Identifier for the channel, used to configure notification rules.

Name it after the team accessing the channel.

Webhook URL

✅

Webhook URL to the specified HTTP endpoint.

Auth header

Signature to include in the authorization header sent to the HTTP endpoint.

Application link URL

✅

URL 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"
                    ]
                }
            }
        },
    ]
}