Skip to main content
contiguity.facetime
Only customers who lease numbers that support FaceTime Audio can use this.
Phone numbers must be in E.164 format. to can also be a FaceTime email.
If you omit from on dial, Contiguity picks one of your leased FaceTime Audio numbers at random. caller_id is optional and is presented as Maybe: caller_id. If not provided, it is a formatted version of your leased number, e.g. Maybe: +1 (415) 555-1234.

Join as the number

webrtc.join opens the call as the Contiguity FaceTime Audio line — not a third participant.

FaceTime Web

Once Apple creates it, link is a FaceTime Web URL. Opening it joins the call in the browser as a web participant.

Dial

Place an outbound FaceTime Audio call. Creates a call in queued and fires facetime.call.initiated. When the remote side starts ringing, status becomes ringing and Contiguity fires facetime.call.ringing. At dial time link is null, participants is [], and duration is null.

facetime.dial(params)

string
required
Recipient E.164 number or FaceTime email.
string
Your leased FaceTime Audio number. If omitted, a random one of yours is used.
string
Presented as Maybe: caller_id.

Get

Fetch a call by ID. FaceTime webhooks send this same object in data.

facetime.get(ref)

string | object
required
Call ID string, a parsed webhook event, or event.data.

Answer

Answer an inbound ringing call. Moves the call to in_progress and fires facetime.call.answered.

facetime.answer(ref, params?)

string | object
required
Call ID string, a parsed webhook event, or event.data.
string
Optional caller ID to present on the call.

Reject

Reject a ringing inbound call. Fires facetime.call.rejected.

facetime.reject(ref)

string | object
required
Call ID string, a parsed webhook event, or event.data.

Hang up

Ends the call from your side. cause becomes dialer_hungup and Contiguity fires facetime.call.ended. If the remote party hangs up first, you still get facetime.call.ended with cause recipient_hungup. You do not need to hang up in that case.

facetime.hangup(ref)

string | object
required
Call ID string, a parsed webhook event, or event.data.

Availability

Check if a phone number or email supports FaceTime.

facetime.availability(to)

string
required
E.164 phone number or FaceTime email.

Response

boolean
Whether the address supports FaceTime.
object
Request metadata: id, timestamp, api_version, object.

Webhook comfort

get, answer, reject, and hangup take a call ID string, a parsed webhook event, or event.data — the same pattern as text.reply(event).
Throws FaceTime webhook data must have call_id if neither the event nor the object has a call_id. See Webhooks for verify / parse, or the v2 event payloads.

Call object

Returned by dial, get, answer, reject, hangup, and every facetime.call.* webhook in data.
string
FaceTime call ID.
string
The FaceTime Audio number this call is on.
string
Destination address.
string
Originating address.
string | null
Caller ID presented on this call.
string
inbound or outbound.
string
queued, ringing, in_progress, completed, or failed.
string | null
null while live. dialer_hungup if you hang up; recipient_hungup if they left; otherwise another end reason.
FaceTime Web join URL once Apple creates it. null during queued and ringing.
object | null
Present while the call is active, null after it ends.
string[]
Live roster while the call is up; remaining handles after it ends.
string
When the call was created.
string | null
When the call was answered, else null.
string | null
When the call ended, else null.
number | null
Connected time in seconds. null until the call ends.
object
Request metadata: id, timestamp, api_version, object.

FaceTime webhooks

Posted to your facetime webhook URL, else catchall. Envelope is the v2 webhook format. data is the same call object as facetime.get().

Types

FacetimeCallData is an alias of FacetimeCall — the webhook data payload.