Skip to content
View as Markdown

FaceTime Audio

Initiate real FaceTime Audio calls programmatically and connect to the live call audio via WebRTC using Agora's SDK. The pb_line_id must be a FaceTime-enabled line on your account.

POST/start-facetime-call-apiBearer token
FaceTime-enabled accounts only
These endpoints are available only on API accounts with FaceTime Audio enabled. Calls from accounts without the feature return 403 with error code FACETIME_NOT_ENABLED — that means the feature isn't active on your account, not that the API is down. Interested in FaceTime Audio? Contact sales@tryprojectblue.com or reach out to support to upgrade.

Request body

pb_line_idstring (UUID)Required
FaceTime-enabled line to call from. UUID returned from GET /get-lines.
phone_numberstring (E.164)Required
Destination phone number. Flexible formats accepted; normalized to E.164.

Response

status"OK"Required
Present on every successful call.
call_uuidstringRequired
Identifies the call. Pass it to the status and end endpoints.
agoraobject | nullRequired
WebRTC credentials for joining the call audio, or null when the device placed the call but returned no credentials. The call is still ringing in that case — you simply cannot join its audio, so check for null before calling the Agora SDK.

Joining the call

The returned agora credentials are used with the Agora Voice SDK to stream audio to and from the FaceTime call. Tokens are time-limited, so join the channel promptly after starting the call.

agora can be null on a 200
A 200 means the call was placed, not that you can hear it. When the device returns no credentials, agora is null and the call still rings — check for it before touching the SDK, and fall back to polling /get-facetime-call-status-api for the outcome.
API reference