TryVox

Quickstart

Make your first voice call in under 5 minutes.

Quickstart

Get up and running with TryVox in under 5 minutes. This guide walks you through making your first AI-powered voice call.

Prerequisites

  • A TryVox account (sign up at tryvox.io)
  • curl or any HTTP client
  • A publicly reachable URL that can serve a VoxML response (or use a tunnel like ngrok)

Step 1: Get Your API Credentials

  1. Log in to the TryVox Dashboard
  2. Navigate to Settings → API Keys
  3. Click Create API Key
  4. Copy both values:
    • Auth IDTJ followed by 8 hex chars (e.g., TJab12cd34)
    • Auth Token — 32 hex chars (e.g., 1f2e3d4c5b6a7988a1b2c3d4e5f60718)

The Auth Token is shown once. Store it somewhere safe — if you lose it, you'll have to rotate.

All requests authenticate with HTTP Basic auth: Auth ID as the username, Auth Token as the password. With curl that's the -u flag.

export TRYVOX_AUTH_ID="TJab12cd34"
export TRYVOX_AUTH_TOKEN="1f2e3d4c5b6a7988a1b2c3d4e5f60718"

Step 2: Provision a Phone Number

Before making calls, you need a phone number. Purchase one from inventory:

curl -X POST https://api.tryvox.io/v1/account/$TRYVOX_AUTH_ID/numbers/purchase-from-inventory \
  -u $TRYVOX_AUTH_ID:$TRYVOX_AUTH_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "country": "IN",
    "type": "local"
  }'

Response:

{
  "data": {
    "e164": "+919876543210",
    "country": "IN",
    "status": "active",
    "type": "local",
    "capabilities": ["voice", "sms"]
  }
}

Your number is active and ready to receive inbound calls. To place outbound calls with it, continue to the next step.

Step 3: Verify a Caller ID

Outbound calls require the from number to be a verified caller ID on your account. The number you bought in Step 2 needs to be registered before you can use it as from.

Initiate verification:

curl -X POST https://api.tryvox.io/v1/voice/accounts/$TRYVOX_AUTH_ID/verified-caller-ids \
  -u $TRYVOX_AUTH_ID:$TRYVOX_AUTH_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "+919876543210",
    "channel": "call"
  }'

TryVox will place a call to that number reading out a 6-digit OTP. Capture the OTP and submit it:

curl -X POST https://api.tryvox.io/v1/voice/accounts/$TRYVOX_AUTH_ID/verified-caller-ids/+919876543210/verify \
  -u $TRYVOX_AUTH_ID:$TRYVOX_AUTH_TOKEN \
  -H "Content-Type: application/json" \
  -d '{"otp": "123456"}'

Once verified, the number is usable as from on outbound calls. See the Verified Caller IDs section for the full lifecycle.

Step 4: Make an Outbound Call

curl -X POST https://api.tryvox.io/v1/voice/accounts/$TRYVOX_AUTH_ID/calls \
  -u $TRYVOX_AUTH_ID:$TRYVOX_AUTH_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "from": "+919876543210",
    "to": "+14155551234",
    "answer_url": "https://your-app.com/answer"
  }'

Parameters:

  • from — your verified caller ID (from Step 3)
  • to — the destination phone number, E.164 format
  • answer_url — your webhook URL that returns VoxML when the call is answered

Response:

{
  "request_uuid": "550e8400-e29b-41d4-a716-446655440000",
  "call_uuid": "c7a34e6f-9d1b-4c8e-a5f2-3b9d7e8c1a4f",
  "from": "+919876543210",
  "to": "+14155551234",
  "direction": "outbound",
  "status": "ringing"
}

Step 5: Control the Call with VoxML

When the call is answered, TryVox POSTs to your answer_url. Your server should respond with VoxML instructions to control the call:

{
  "voxml_version": "1.0",
  "instructions": [
    {
      "verb": "Say",
      "text": "Hello! I am your AI assistant.",
      "engine": "google",
      "language": "en-IN"
    },
    {
      "verb": "Stream",
      "url": "wss://your-app.com/ai-agent",
      "track": "inbound_track"
    }
  ]
}

What this does:

  1. Say — speaks a TTS greeting using Google's TTS engine
  2. Stream — opens a WebSocket to your AI agent for real-time bidirectional audio

TryVox executes the instructions in order, streaming the caller's audio to your WebSocket so your LLM agent can respond in real time.

Next Steps

You've made your first call. Here's what to explore next:

Need Help?

On this page