Your webhook data doesn’t look like this?

This page is for the v2 webhook format, which is used for users registered after November 1st, 2024. For the v1 format, see Example Webhook Data - v1.

Data Format

{
    "id": "", // an event id
    "type": "", // the event. See https://docs.contiguity.co/api-reference/webhook/example-v2#events for more information.
    "timestamp": "", // unix timestamp of when the event was generated by Contiguity
    "api_version": "v2",
    "data": {
        // event-specific data, like message or identity verification details
    }
}

Events

Below are the events that Contiguity can send to your webhook endpoint. Use the type field to determine which event occurred.

communications.incoming.sms


An incoming SMS message was received.

{
    "id": "evt_1234567890",
    "type": "communications.incoming.sms",
    "timestamp": 1726502400,
    "api_version": "v2",
    "data": {
        "message": "Hello, how are you?",
        "from": "+1234567890",
        "to": "0987654321"
    }
}

communications.incoming.mms


An incoming MMS message was received.

{
    "id": "evt_1234567890",
    "type": "communications.incoming.mms",
    "timestamp": 1726502400,
    "api_version": "v2",
    "data": {
        "message": "Here's a picture of a cat!",
        "from": "+1234567890",
        "to": "0987654321",
        "attachments": [
            {
                "url": "https://example.com/cat.jpg",
                "type": "image/jpeg"
            }
        ]
    }
}

communications.incoming.whatsapp


An incoming WhatsApp message was received.

{
    "id": "evt_1234567890",
    "type": "communications.incoming.whatsapp",
    "timestamp": 1726502400,
    "api_version": "v2",
    "data": {
        "message": "Hello, how are you?",
        "from": "+1234567890",
        "to": "0987654321"
    }
}

communications.incoming.imessage


An incoming iMessage was received.

{
    "id": "evt_1234567890",
    "type": "communications.incoming.imessage",
    "timestamp": 1726502400,
    "api_version": "v2",
    "data": {
        "message": "Hello, how are you?",
        "from": "+1234567890",
        "to": "0987654321"
    }
}

communications.incoming.email


An incoming email was received.

{
    "id": "evt_1234567890",
    "type": "communications.incoming.email",
    "timestamp": 1726502400,
    "api_version": "v2",
    "data": {
        "message_id": "xxx-xx-contiguity-email-xxxxx",
        "to": "user@example.com",
        "from": "support@example.com",
        "subject": "Some subject",
        "body": {
            "type": "text",
            "content": "Hello, how are you?",
            "raw_body": "headers, body, etc."
        }
    }
}

identity.verification_session.started


A user began verifying their identity.

identity.verification_session.processing


A user has submitted their identity information, and Contiguity is verifying it.

identity.verification_session.verified


A user has submitted their identity information, and the verification is complete. Here, you will also receive a data.verification_report field, which contains the Verification Report ID for you to fetch.

identity.verification_session.failed


A user has submitted their identity information, but Contiguity believes their infomation is invalid (high-accuracy)

identity.verification_session.requires_input


A user has submitted their identity information, but Contiguity isn’t sure of their identity. You will have to review their information in the Dashboard, and manually approve or deny them.

identity.verification_session.manually_approved


A user’s verification session was manually approved by you in the Dashboard.

identity.verification_session.manually_denied


A user’s verification session was manually denied by you in the Dashboard.

identity.verification_report.generated


In addition to identity.verification_session.completed, you will also receive this event. Here, there will be non-sensitive information about the verification report, such as age & country of residence.