Skip to content

Quickstart

Get your first AI voice agent making a call in a few minutes.

1. Get Your API Key

Sign up at studio.rymi.live and grab your API key from the dashboard.

bash
export RYMI_API_KEY="your_api_key_here"

2. Create an Agent

bash
curl -X POST https://api.rymi.live/v1/agents \
  -H "Authorization: Bearer $RYMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Alex - Sales Agent",
    "system_prompt": "You are Alex, a friendly sales assistant for TechCorp. Your goal is to qualify inbound leads by asking about their company size and budget. Be warm, concise, and professional."
  }'

3. Connect Your Carrier

bash
curl -X POST https://api.rymi.live/v1/telephony/connect \
  -H "Authorization: Bearer $RYMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "twilio",
    "auth_id": "AC...",
    "auth_token": "..."
  }'

Rymi does not buy phone numbers. Provision a number in your carrier account first, then use that provider-owned number as from_number.

4. Optional: Register and Attach a BYOC Number

Register the carrier-owned number in Rymi if you want inbound routing or dashboard assignment:

bash
curl -X POST https://api.rymi.live/v1/numbers \
  -H "Authorization: Bearer $RYMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "number": "+15551234567" }'
bash
curl -X POST https://api.rymi.live/v1/numbers/15551234567/attach \
  -H "Authorization: Bearer $RYMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "agent_id": "YOUR_AGENT_ID" }'

This requires the number to already be registered or synced in Rymi. For outbound-only calls, you can skip this and pass from_number directly.

5. Start an Outbound Call

bash
curl -X POST https://api.rymi.live/v1/calls \
  -H "Authorization: Bearer $RYMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "YOUR_AGENT_ID",
    "participants": [
      {
        "transport": "pstn",
        "identity": "+15559990001",
        "from_number": "+15551234567"
      }
    ],
    "variables": { "name": "Alice" }
  }'

What's Next?