Sends an audio file as a native iMessage voice note (waveform balloon with a play button on the receiver) instead of a generic file pill.
Two-step flow: upload an audio file via POST /v1/files, then pass
the returned file ID as voice_note. Any format afconvert can read
works — m4a, mp3, wav, caf, aiff. The audio is transcoded server-side
on the line’s machine to the format Messages.app renders as a
waveform balloon.
Requires advanced features. The line’s machine must have the
helper dylib injected into Messages.app (SIP / AMFI disabled). When
no node attached to the line has advanced features, the request
returns 400 advanced_features_required. iMessage only — SMS lines
are rejected.
Like all writes, this is asynchronous: returns a delivery ID with
status: "pending". Track via GET /outbox or webhooks.
Use an API key as a bearer token: Authorization: Bearer sk_live_...
Sender line handle (phone number or Apple ID)
"+15551234567"
Recipient phone number, Apple ID, or chat ID (cht_...)
"+15559876543"
File ID (file_...) of the uploaded audio
"file_abc123"
Message ID (msg_...) or iMessage GUID to reply to
"msg_abc123"