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.
Webhook Payload Format
All webhook notifications follow this consistent structure:Events
Below are the events that Contiguity can send to your webhook endpoint. Use thetype field to determine which event occurred.
text.incoming.sms
An incoming SMS message was received.
text.incoming.mms
An incoming MMS message with attachments was received.
text.delivery.confirmed
SMS/MMS delivery was confirmed by the carrier.
text.delivery.failed
SMS/MMS delivery failed or timed out.
text.cancelled / imessage.cancelled / whatsapp.cancelled
Fired when you cancel a queued send (
POST /conversations/cancel/{msg_id}). Does not mean the message was unsent — an in-flight send may still go out.
imessage.incoming
An incoming iMessage was received.
numbers.substitution
When the requested number is unavailable, a random number is used instead.
otp.reverse.verified
A user has verified their phone number using a Reverse OTP.
email.incoming
An incoming email was received.
facetime.call.initiated
An outbound FaceTime Audio dial created the call.
data.status is queued. Posted to your facetime webhook URL, else catchall. data is the same call object as Get a call.
facetime.call.ringing
The outbound call is ringing, or an inbound call arrived.
data.status is ringing. Same envelope and call object as initiated: link is still null, participants is [], webrtc is present, duration is null.
facetime.call.answered
The call is connected.
data.status is in_progress. link is now the FaceTime join URL. participants is the remote party.
facetime.call.rejected
You rejected an inbound ringing call via
POST /{call_id}/reject. Same call object; status reflects the rejected call.
facetime.call.failed
Contiguity could not place the call.
data.status is failed.
facetime.call.ended
The call ended: you hung up, the recipient hung up, or FaceTime disconnected.
data.status is completed. webrtc is null. duration is seconds of connected time.
participants at hangup is the remaining roster, not everyone who was on the call. If the recipient already left, this is often just your FaceTime Audio line.
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 information 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 Console, and manually approve or deny them.
identity.verification_session.manually_approved
A user’s verification session was manually approved by you in the Console.
identity.verification_session.manually_denied
A user’s verification session was manually denied by you in the Console.
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.
