API reference

Calls (FaceTime)

Place outbound FaceTime audio/video calls and receive inbound ones via webhook. Includes TwiML-style call control: play audio, record voicemail, hang up.

iOS-only

FaceTime calls can only be placed to other Apple users. We auto-detect with a lookup before initiating; non-Apple recipients return 400 FACETIME_UNSUPPORTED.

Place a call

POST/v1/calls

Initiates an outbound FaceTime call. Returns immediately with a call_log id; track progress via webhooks.

FieldTypeDescription
torequiredstringRecipient phone in E.164 format.
fromstringLine ID or phone number to call from.
callbackNumberstringPhone the recipient can call back. Defaults to the calling line.
maxDurationintegerHang up after this many seconds total. Default 1800 (30 min), max 7200 (2 hr).
curl -X POST 'https://api.bluereplies.com/v1/calls' \
-H "x-api-key: $BLUEREPLIES_KEY" \
-H 'Content-Type: application/json' \
-d '{
"to": "+15551234567",
"maxDuration": 1800
}'

End a live call

POST/v1/calls/:id/end
curl -X POST 'https://api.bluereplies.com/v1/calls/call_xxx/end' \
-H "x-api-key: $BLUEREPLIES_KEY"

List + get

GET/v1/calls

Most recent first.

GET/v1/calls/:id

Call lifecycle webhooks

Subscribe to these events on a /v1/webhooks endpoint:

  • call.initiated — your request was queued and we started dialing
  • call.ringing — the recipient's device is ringing
  • call.connected — they picked up
  • call.no_answer — no answer within the call's max duration
  • call.completed — call hung up (any reason). Payload includes durationSeconds
  • call.failed — technical failure (line down, FaceTime unsupported, etc.)
call.connected payload
{
"event": "call.connected",
"data": {
"id": "call_8x7y6w5v4u",
"to": "+15551234567",
"from": "+18001234567",
"connectedAt": "2026-05-25T17:23:14.221Z",
"lineId": "lin_abc123"
}
}

Receive inbound calls

Inbound call handling (auto-answer, voicemail recording) is a production-tier feature. On sandbox + standard plans we auto-decline incoming FaceTime so they don't ring the shared infrastructure. Reach out to [email protected] if you need inbound call automation.