Public API · Developer guide
Automate Voxovo with omni_sk_ platform keys
One production REST API for agents, workflows, phone numbers, campaigns, knowledge, webhooks, calls, voices, and billing. Paths under /api/v2 are compatibility aliases of the same surface — prefer /api/v1.
Create keys in Settings → Platform API Keys. Base URL: https://api.voxovo-ai.com/api
Official SDKs (July 2026)
Prefer SDKs for browser voice and server automation. REST omni_sk_ keys still work for any language.
JavaScript / TypeScript
@voxovo/sdk — REST client + WebVoiceClient for browser mic sessions.
npm install @voxovo/sdk # or pnpm add @voxovo/sdk
Python
voxovo on PyPI — agents, calls, and campaign helpers.
pip install voxovo
// Browser WebVoiceClient (Test Live style)
import { VoxovoClient, WebVoiceClient } from "@voxovo/sdk";
const api = new VoxovoClient({ apiKey: "omni_sk_…" });
const call = await api.createOutboundCall({ agent_id: "AGENT_UUID", mode: "browser" });
const voice = new WebVoiceClient({ callId: call.id, token: call.token });
await voice.connect();Authentication
Platform keys start with omni_sk_. Send either header below. Never put secret keys in browsers or mobile apps — use the dashboard session there instead.
# Preferred Authorization: Bearer omni_sk_… # Alternate X-API-Key: omni_sk_… # Deduplicate POSTs Idempotency-Key: <unique string per logical write>
- Humans sign in on voxovo-ai.com with an email code from info@voxovo-ai.com — that is not an API key.
401— missing/invalid key402— no credits403— suspended workspace or bad client scope429— concurrency limit
Agents / assistants
/v1/agents and /v1/assistants are equivalent. Create with name, language, system_prompt, voice_id, and optional knowledge/tool ids.
Workflows
Create, publish, and run workflows on the same Public API: /v1/workflows, /v1/workflows/{id}/publish, /v1/workflows/{id}/run, and /v1/triggers/webhook. Older /v2/… paths still work as aliases.
Calls
GET /v1/calls lists recent calls. POST /v1/calls starts a browser or phone session. GET /v1/calls/{id} returns status, transcript, and latency.
Webhooks
Register HTTPS URLs with POST /v1/webhooks. Discover event names via GET /v1/webhook-events. Verify X-Voxovo-Signature when a secret is set.
Voices
GET /v1/voices returns Cartesia / ElevenLabs / Deepgram catalog entries. Pass ?provider=cartesia to filter. Assign voice_id + voice_provider when creating an agent.
Endpoints
/v1/agentsList / create agents/v1/assistantsAlias of agents/v1/agents/{id}Read / update / delete/v1/voicesVoice catalog/v1/phone-numbersBYO numbers/v1/campaignsCampaigns/v1/campaigns/{id}/start|pause|resumeCampaign control/v1/knowledgeCollections/v1/knowledge/{id}/searchSearch chunks/v1/webhooksPost-call webhook URLs/v1/webhook-eventsEvent catalog/v1/callsList / start call/v1/calls/{id}Status + transcript + latency/v1/billingCredits + concurrencyCopy-paste examples
List agents (assistants)
curl -s https://api.voxovo-ai.com/api/v1/agents \ -H "Authorization: Bearer omni_sk_YOUR_KEY" # Alias — same payload: curl -s https://api.voxovo-ai.com/api/v1/assistants \ -H "Authorization: Bearer omni_sk_YOUR_KEY"
Create agent
curl -s -X POST https://api.voxovo-ai.com/api/v1/agents \
-H "Authorization: Bearer omni_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: agent-create-1" \
-d '{"name":"Support","language":"en","system_prompt":"You help callers."}'List calls
curl -s "https://api.voxovo-ai.com/api/v1/calls?limit=20" \ -H "Authorization: Bearer omni_sk_YOUR_KEY"
Start a call
curl -s -X POST https://api.voxovo-ai.com/api/v1/calls \
-H "Authorization: Bearer omni_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: call-1" \
-d '{"agent_id":"AGENT_UUID","mode":"browser"}'Get call status + transcript
curl -s https://api.voxovo-ai.com/api/v1/calls/CALL_UUID \ -H "Authorization: Bearer omni_sk_YOUR_KEY"
List voices
curl -s "https://api.voxovo-ai.com/api/v1/voices?provider=cartesia" \ -H "Authorization: Bearer omni_sk_YOUR_KEY"
Register a webhook
curl -s -X POST https://api.voxovo-ai.com/api/v1/webhooks \
-H "Authorization: Bearer omni_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/hooks/voxovo","secret":"whsec_…","label":"crm"}'List webhook event types
curl -s https://api.voxovo-ai.com/api/v1/webhook-events \ -H "Authorization: Bearer omni_sk_YOUR_KEY"
List workflows
curl -s https://api.voxovo-ai.com/api/v1/workflows \ -H "Authorization: Bearer omni_sk_YOUR_KEY"
Publish a workflow
curl -s -X POST https://api.voxovo-ai.com/api/v1/workflows/WORKFLOW_UUID/publish \ -H "Authorization: Bearer omni_sk_YOUR_KEY" \ -H "Idempotency-Key: publish-1"
Search knowledge
curl -s -X POST https://api.voxovo-ai.com/api/v1/knowledge/COLLECTION_ID/search \
-H "Authorization: Bearer omni_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"refund policy","limit":5}'Discovery: GET https://api.voxovo-ai.com/api/v1. Interactive OpenAPI: https:/.voxovo-ai.com/api/docs when the API host is up. Carrier setup: Connect Twilio in 5 minutes.