Veytrix AI
Veytrix AI
For developers

VeytrixAI API and Developer Platform

Build AI voice calling into your own product with the VeytrixAI REST API. Place calls, create voice agents, manage campaigns, read transcripts and ratings, and receive signed webhook events.

Integration

Three steps, in the order they matter

Most teams stop after the first and wonder why the programme is not paying back. The second is the one that does.

  1. Place a call from your own system

    Your CRM decides who to call. A lead lands, your backend posts the number, the agent and any variables your prompt uses, and the platform dials. Nobody uploads a CSV.

    curl -X POST https://veytrix-api.fly.dev/api/calls   -H "Authorization: Bearer $VEYTRIX_KEY"   -H "Content-Type: application/json"   -d '{
        "agentId": "agt_...",
        "to": "+9198XXXXXXXX",
        "variables": { "name": "Priya", "order_id": "A-4192" }
      }'
  2. Receive the outcome

    A webhook fires when the call completes, carrying status, duration, transcript, summary, extracted fields and rating. Write it straight onto the lead record.

    This is the step that decides whether a calling programme is worth running. An outcome nobody wrote down is a call you paid for twice.

    POST https://your-app.example/hooks/veytrix
    X-Veytrix-Signature: <hmac>
    
    {
      "event": "call.completed",
      "callId": "cl_...",
      "status": "completed",
      "durationSeconds": 96,
      "rating": { "overall": 4.5 },
      "extracted": { "interested": true }
    }
  3. Trigger on an event, not a schedule

    The highest-value calls are time-sensitive — a cart that went stale forty minutes ago, an application that stalled overnight, a delivery that failed this afternoon. Those fire the moment the state changes, which a nightly batch cannot do.

    Why the first hour matters.

Gotchas

Things worth knowing before you build

Each of these has cost somebody a day.

Money is integer paise

Wallet balances and call costs are integers, not floats — no rounding drift across a hundred thousand calls.

Calls are asynchronous

The create response returns immediately with an id; the outcome arrives by webhook, seconds to minutes later.

Concurrency is per organisation

Posting a thousand calls at once queues them against your plan's limit rather than failing.

Retries are the platform's job

Configure the policy on the agent rather than re-posting no-answers yourself, or you will double-charge your own wallet.

There is no sandbox

Test calls to your own number are the equivalent and bill per minute. A voice agent that has not touched a real phone line has not been tested.

Bring your own keys

Telephony, speech, model and voice are per-agent and can use your own credentials — or stay bundled in the per-minute rate.

Chat With Us