CloudVoice AI

CloudVoice AI API

REST API for voice agents, calls, leads, and outbound dialing. Base URL: https://cloudvoiceai-do.adamfrankwoodward.workers.dev

Authentication

Create an API key in Settings → Developer. Pass it on every request:

Authorization: Bearer cvk_live_xxxxxxxx
# or
X-API-Key: cvk_live_xxxxxxxx

All requests are scoped to your organization. Keys are shown once at creation — store them securely.

Endpoints

GET /api/v1/agents

List your agents.

curl https://cloudvoiceai-do.adamfrankwoodward.workers.dev/api/v1/agents \
  -H "Authorization: Bearer cvk_live_..."

POST /api/v1/agents

Create an agent. Body is a JSON agent config (name, biz_name, system_prompt, greeting, voice/niche fields, …).

GET /api/v1/calls?limit=50

List recent calls (id, agent, duration, disposition, cost, recording_key).

POST /api/v1/calls/outbound

Place an outbound call that bridges to an agent. Uses your first owned number as caller ID.

FieldTypeNotes
tostringDestination, E.164 (required)
agent_idstringAgent snapshot id (optional)
enginestringedge | gemini
curl -X POST .../api/v1/calls/outbound \
  -H "Authorization: Bearer cvk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"to":"+14155551234","engine":"edge"}'

GET /api/v1/leads   POST /api/v1/leads

List or create leads. POST requires name; optional email, phone, company, status, source. Creating a lead fires the lead.created webhook.

Webhooks

Configure outbound webhooks in Settings → Integrations. Events call.completed and lead.created POST { event, org_id, data, sent_at }; if a signing secret is set, an X-CloudVoice-Signature (HMAC-SHA256 over the body) header is included.

BYOK / BYOC

Supply your own provider keys (Deepgram, Cartesia, Groq, Gemini, OpenAI, ElevenLabs) and your own SignalWire carrier in Settings → Developer. When present, calls run on your accounts and credentials are encrypted at rest (AES-256-GCM).

Custom tools

Define tools your agent can call mid-call (Settings → Developer). CloudVoice POSTs { tool, arguments } to your URL and feeds the JSON response back to the model.

CloudVoice AI · cloudvoiceai.com