Places an outbound call to a contact using the configured AI voice provider (currently ElevenLabs over Sinch EST). Resolves or creates the contact, picks a voice-enabled agent (Prompt), picks an AI-enabled Sinch number to call from, and asks the provider to dial. Guarded by a 30s Redis idempotency lock keyed on user+contact+agent+toNumber; concurrent retries return 429 with OUTBOUND_IN_FLIGHT. Caches conversation context for the post-call webhook.
Documentation Index
Fetch the complete documentation index at: https://docs.tetherai.ca/llms.txt
Use this file to discover all available pages before exploring further.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Either contactId or phoneNumber must be supplied. phoneNumber will find-or-create a contact.
E.164 phone number (the + prefix will be added if missing).
Prompt._id — ElevenLabs-synced voice agent to use. Defaults to the first voice-enabled agent in the org.
Specific Sinch number to call from. Defaults to the first AI-enabled Sinch number in the user's voicePhoneNumbers.
Free-text context passed to the agent as the call_reason dynamic variable.
AI call initiated