Skip to main content
This reference covers the v2 webhook format (users registered after November 1st, 2024). For the full payload envelope and best practices, see Overview and Example Webhook Data - v2. For the legacy v1 format, see Example Webhook Data - v1.
Use the type field on every webhook payload to determine which event occurred.

Text

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


Fired when you cancel a queued SMS/MMS send (POST /conversations/cancel/{msg_id}). Does not mean the message was unsent — an in-flight send may still go out.

iMessage

imessage.incoming


An incoming iMessage was received.

imessage.cancelled


Fired when you cancel a queued iMessage send (POST /conversations/cancel/{msg_id}). Does not mean the message was unsent — an in-flight send may still go out.

Email

email.incoming


An incoming email was received.

FaceTime

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.

OTP

otp.reverse.verified


A user has verified their phone number using a Reverse OTP.

Numbers

numbers.substitution


When the requested number is unavailable, a random number is used instead.