Vertical Insure

Webhooks

Our API will publish the following events to registered webhooks. All webhook requests are sent via POST and include a VerticalInsure-Signature header which is an HMAC-SHA256 and can be used to validate the request came from Vertical Insure. The header value is a hash of the webhook's signature_key and the json request body.

Subscribing to Web Hook Events

To create a webhook and subscribe the webhook to certain events, login to our Partner Portal and navigate to the Webhooks page.

Webhooks

Generating Signatures for Validation

Mac mac = HmacUtils.getInitializedMac(HmacAlgorithms.HMAC_SHA_256,
            signatureKey.getBytes(StandardCharsets.UTF_8));
String signature = Hex.encodeHexString(mac.doFinal(eventJson.getBytes(StandardCharsets.UTF_8)));

Policy Events

policy_bind_complete

Sent once the policy bind process has been completed.

{
    'event': 'policy_bind_complete',
    'webhook': 'https://www.example.com/my-webhook',
    'data': {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "master_policy_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "policy_number": "string",
        "customer": {
            "first_name": "string",
            "last_name": "string",
            "email_address": "string"
        },
        "policy_status": "ACTIVE",
        "issued_date": "2022-09-05",
        "expiration_date": "2022-09-05",
        "effective_date": "2022-09-05",
        "quote_date": "2022-09-05",
        "policy_attributes": {},
        "premium_amount": 0,
        "quote_id": "string",
        "is_test": true
    }
}

policy_bind_failed

Sent once the policy bind process has been completed.

{
    'event': 'policy_bind_failed,
    'webhook': 'https://www.example.com/my-webhook',
    'data': {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "master_policy_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "policy_number": "string",
        "customer": {
            "first_name": "string",
            "last_name": "string",
            "email_address": "string"
        },
        "policy_status": "BIND_FAILED",
        "issued_date": "2022-09-05",
        "expiration_date": "2022-09-05",
        "effective_date": "2022-09-05",
        "quote_date": "2022-09-05",
        "policy_attributes": {},
        "premium_amount": 0,
        "quote_id": "string",
        "is_test": true
    }
}

policy_purchase_invalid

This event is similar to the policy_bind_failed event but is sent when a batch purchase is made and 1 or more policies in the batch failed to bind.

{
    'event': 'policy_purchase_invalid',
    'webhook': 'https://www.example.com/my-webhook',
    'data': {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "master_policy_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "policy_number": "string",
        "customer": {
            "first_name": "string",
            "last_name": "string",
            "email_address": "string"
        },
        "policy_status": "PENDING",
        "issued_date": "2022-09-05",
        "expiration_date": "2022-09-05",
        "effective_date": "2022-09-05",
        "quote_date": "2022-09-05",
        "policy_attributes": {},
        "premium_amount": 0,
        "quote_id": "string",
        "is_test": true
    }
}

policy_payment_failed

Sent when a payment for a policy purchase fails.

{
    'event': 'policy_payment_failed',
    'webhook': 'https://www.example.com/my-webhook',
    'data': {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "master_policy_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "policy_number": "string",
        "customer": {
            "first_name": "string",
            "last_name": "string",
            "email_address": "string"
        },
        "policy_status": "REQUIRES_PAYMENT",
        "issued_date": "2022-09-05",
        "expiration_date": "2022-09-05",
        "effective_date": "2022-09-05",
        "quote_date": "2022-09-05",
        "policy_attributes": {},
        "premium_amount": 0,
        "quote_id": "string",
        "is_test": true
    }
}

policy_canceled

Sent when a policy is canceled.

{
    'event': 'policy_canceled,
    'webhook': 'https://www.example.com/my-webhook',
    'data': {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "master_policy_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "policy_number": "string",
        "customer": {
            "first_name": "string",
            "last_name": "string",
            "email_address": "string"
        },
        "policy_status": "CANCELED",
        "issued_date": "2022-09-05",
        "expiration_date": "2022-09-05",
        "effective_date": "2022-09-05",
        "quote_date": "2022-09-05",
        "policy_attributes": {},
        "premium_amount": 0,
        "quote_id": "string",
        "is_test": true
    }
}