API Reference
🔑 Authentication
All requests require a Bearer token. One key covers all channels.
bash— Header
Authorization: Bearer or_live_your_api_key_hereNever expose API keys client-side. Use server-side requests only.
📧 Email API
Send transactional and marketing emails. 48+ AI features included.
POST
/email/sendjavascript— Send Email
const res = await fetch('https://api.omnireach.ca/email/send', {
method: 'POST',
headers: {
'Authorization': 'Bearer or_live_xxxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
from: '[email protected]',
to: '[email protected]',
subject: 'Welcome to OmniReach 🚀',
html: '<h1>You are in!</h1>',
ai: { improve: true, tone: 'friendly' }
})
});
// { id: "em_abc123", status: "sent", latency_ms: 187 }javascript— AI Compose
const email = await fetch('https://api.omnireach.ca/email/ai/compose', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
prompt: 'Follow up on the partnership proposal from last week',
tone: 'professional',
length: 'medium'
})
});
// { subject: "Following Up: Partnership Proposal", body: "Dear ...", model: "gpt-4o-mini" }🎙️ Voice Agents
Deploy AI voice agents that make and receive calls. Natural voice, branching scripts, CRM sync.
POST
/voice/deployPOST
/voice/callGET
/voice/call/:idGET
/voice/agentsjavascript— Deploy Voice Agent
const agent = await fetch('https://api.omnireach.ca/voice/deploy', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'Support Bot',
phone: '+1-800-555-0100',
persona: 'friendly_professional',
voice: 'alloy', // alloy, echo, shimmer, nova
language: 'en-CA',
script: {
greeting: 'Hi! This is Alex from OmniReach. How can I help?',
intents: ['appointment_booking', 'billing_inquiry', 'technical_support'],
escalation_email: '[email protected]'
},
fallback_channel: 'sms' // Send SMS if call fails
})
});
// { agent_id: "va_xyz789", phone: "+1-800-555-0100", status: "active" }javascript— Outbound Call
const call = await fetch('https://api.omnireach.ca/voice/call', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
agent_id: 'va_xyz789',
to: '+1-416-555-0199',
context: { name: 'John', reason: 'appointment_reminder', date: 'April 30' }
})
});
// { call_id: "ca_111", status: "ringing" }💬 SMS API
Bulk campaigns, transactional SMS, and two-way AI conversations.
javascript— Send SMS
// Single SMS
await fetch('https://api.omnireach.ca/sms/send', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
to: '+1-416-555-0199',
message: 'Your order #1234 ships today! Track: omnireach.ca/t/xxx',
ai_personalize: true // AI customizes tone per recipient
})
});
// Bulk SMS Campaign
await fetch('https://api.omnireach.ca/sms/campaign', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'Summer Sale',
list: 'subscribers',
template: 'Hey {{first_name}}, summer sale is LIVE! Use code OMNI30.',
schedule: '2026-06-01T09:00:00-04:00'
})
});📹 Video Calls
Embeddable video calls with AI transcription, sentiment analysis, and automated follow-ups.
javascript— Create Meeting Room
const room = await fetch('https://api.omnireach.ca/video/rooms', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'Sales Call - Acme Corp',
ai: {
transcribe: true, // Live transcription
sentiment: true, // Real-time mood analysis
action_items: true, // Extract tasks from conversation
auto_followup_email: true // Send summary email after call
},
expires_in: 3600 // seconds
})
});
// { room_id: "rm_aaa", url: "https://meet.omnireach.ca/rm_aaa", expires_at: "..." }🤖 AI Agents
Dispatch autonomous agents across all channels. Dream Mode, Digital Twin, Negotiator, and more.
compose
reply
improve
translate
summarize
phishing
sentiment
priority
extract-tasks
negotiate
subject
twin
tone
categorize
dreammail
predict
javascript— Dream Mode
// Start overnight autonomous processing
await fetch('https://api.omnireach.ca/agents/dream', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
user_id: 'usr_123',
permissions: {
reply_routine: true, // AI can reply to routine emails
schedule_voice: true, // AI can schedule voice callbacks
send_sms_reminders: true, // AI can send SMS follow-ups
max_actions: 50 // Safety limit
},
morning_briefing_email: '[email protected]'
})
});
// { session_id: "dm_zzz", status: "running", started_at: "..." }javascript— Negotiator AI
const negotiation = await fetch('https://api.omnireach.ca/agents/negotiate', {
method: 'POST',
headers: { 'Authorization': 'Bearer or_live_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
item: 'Office Furniture',
quantity: 200,
budget: '$250/unit',
stage: 'initial_inquiry', // initial_inquiry | counter_offer | follow_up | close_deal
channels: ['email', 'sms'] // Multi-channel negotiation
})
});
// { subject: "...", body: "...", sms_followup: "...", tip: "..." }📡 Webhooks
Real-time events for all channels. Signed payloads for security.
email.sentemail.deliveredemail.openedsms.deliveredsms.replyvoice.call_startedvoice.call_endedvoice.transcribedvideo.meeting_endedvideo.transcript_readyagent.action_takenagent.dream_completejson— Webhook Payload
{
"event": "voice.call_ended",
"channel": "voice",
"timestamp": "2026-04-28T14:33:00Z",
"data": {
"call_id": "ca_111",
"agent_id": "va_xyz789",
"duration_s": 187,
"sentiment": "positive",
"transcript_url": "https://api.omnireach.ca/voice/transcripts/ca_111",
"action_items": ["Send follow-up email", "Schedule demo"],
"followup_sent": true
},
"signature": "sha256=xxxx"
}⚡ Rate Limits
| Plan | API Calls/min | Voice | SMS | |
|---|---|---|---|---|
| Free | 60/min | 1K/mo | 50 mins/mo | 500/mo |
| Starter | 600/min | 25K/mo | 500 mins/mo | 5K/mo |
| Growth | 3K/min | 200K/mo | 2K mins/mo | 25K/mo |
| Enterprise | Custom | Unlimited | Unlimited | Unlimited |