Quickstart
Your first call in five minutes.
Sign up, grab an API key, and talk to a live voice agent in your browser — nothing to set up. Then place a real phone call from the number connected to your workspace.
1 · Get an API key
Create an account and your first workspace. In the dashboard, open Settings → API Keys, create a key, and copy the vk_live_… value — it’s shown once. Use vk_test_… while you’re experimenting. New keys carry every scope by default. See Authentication for the details.
2 · Talk to your agent in the browser
A test room is a free, short-lived WebRTC session — no phone number, no credit hold. Pass an inline agent_config.prompt; no agent needs to exist yet.
curl -X POST https://api.rexa.ai/v1/rooms/test \
-H "Authorization: Bearer vk_live_..." \
-H "Content-Type: application/json" \
-d '{
"agent_config": {
"prompt": "You are a friendly scheduling assistant. Greet the caller and offer three time slots."
}
}'You get back a room url + token:
{
"id": "019eb8c6-8515-7b97-9143-c947f2f175f2",
"url": "https://rooms.rexa.ai/r/abcd-efgh-ijkl",
"token": "ey...<short-lived join token>",
"expires_at": "2026-06-16T10:02:00.000Z"
}Connect to it from the browser with PipecatClient or the Daily SDK and start talking. Test rooms are TTL-capped (~120 s) and rate-limited per workspace (~20/hour). For longer, billed rooms with full control, use POST /v1/rooms.
3 · Pick a voice
List the voice catalog and copy an id to pass as agent_config.voice_id. Omit it to use the platform default.
curl https://api.rexa.ai/v1/voices \
-H "Authorization: Bearer vk_live_..."4 · Place a real phone call
Phone numbers are included — we buy and configure one for your workspace, so there’s nothing to source before your first call. Prefer to keep your existing carrier? Connect your own Telnyx, Twilio, or Plivo account under Settings → Providers instead. Either way the number is connected to your workspace, and the from value must be a DID on it.
curl -X POST https://api.rexa.ai/v1/calls \
-H "Authorization: Bearer vk_live_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+14155552671",
"from": "+15555551000",
"agent_config": {
"prompt": "You are calling to confirm tomorrow'"'"'s 3pm appointment.",
"voice_id": "<id from GET /v1/voices>"
}
}'The call returns 202 Accepted with a session you can track. If no number is connected to the workspace yet, it returns 412 no_providers_configured instead. Subscribe to webhooks to get the transcript, recording, and disposition when it ends.
Next
Go deeper: Authentication · Webhooks · Rooms.