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/callsInitiates an outbound FaceTime call. Returns immediately with a call_log id; track progress via webhooks.
| Field | Type | Description |
|---|---|---|
torequired | string | Recipient phone in E.164 format. |
from | string | Line ID or phone number to call from. |
callbackNumber | string | Phone the recipient can call back. Defaults to the calling line. |
maxDuration | integer | Hang 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/endcurl -X POST 'https://api.bluereplies.com/v1/calls/call_xxx/end' \-H "x-api-key: $BLUEREPLIES_KEY"
List + get
GET
/v1/callsMost recent first.
GET
/v1/calls/:idCall lifecycle webhooks
Subscribe to these events on a /v1/webhooks endpoint:
call.initiated— your request was queued and we started dialingcall.ringing— the recipient's device is ringingcall.connected— they picked upcall.no_answer— no answer within the call's max durationcall.completed— call hung up (any reason). Payload includesdurationSecondscall.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.