SMS and RCS

    SMS and RCS API
    for AI agents

    The Vobiz SMS and RCS API enables two-way messaging from the same numbers that your AI voice agent calls from. Capabilities include interactive media, delivery receipts and button taps, so your AI agent can manage the entire conversation.

    Book a demo

    SMS, MMS and RCS on one endpoint

    Automatic RCS-to-SMS fallback

    10DLC registration by API

    Read receipts on RCS

    How it works

    From API key to a two-way conversation
    in four steps

    1. 1.

      Get a messaging-enabled number

      Search and buy a US local or toll-free number by API.

    2. 2.

      Register for US delivery

      Create your 10DLC brand and campaign by API, then attach your number. Carriers review it before A2P traffic flows.

    3. 3.

      Send a message

      One request, with channel set to sms, mms or rcs.

    4. 4.

      Manage inbound

      Point a webhook at your agent. Inbound messages, delivery receipts and RCS button taps arrive as events.

    cURL
    # Send an RCS message with buttons that falls back to SMS
    curl -X POST https://api.vobiz.ai/api/v1/sms/messages \
      -H "X-Auth-ID: $AUTH_ID" -H "X-Auth-Token: $AUTH_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"from":"+14155550100","to":["+14155550123"],"channel":"rcs",
           "text":"Your appointment is confirmed for 3pm tomorrow.",
           "rcsSuggestions":[
             {"type":"REPLY","text":"Reschedule","postbackData":"reschedule"},
             {"type":"DIAL_PHONE","text":"Call us","postbackData":"call","phoneNumber":"+14155550100"}],
           "failoverToSms":true,"idempotencyKey":"appt-8812-confirm"}'
    
    Messaging quickstart →

    Three channels, one endpoint

    SMS, MMS and RCS through one API

    Set the channel on each message. Webhooks, status tracking, opt-outs and idempotency work the same across all three.

    SMSMMSRCS
    ContentTextText up to 5,000 characters, plus mediaText, files, location
    MediaNoneUp to 10 HTTPS URLs: JPEG, PNG, GIF, MP4, 3GP, VCF, PDFFiles by URL
    InteractiveNoneNoneButtons: reply, open link, call, show or request location
    StatusSent, delivered, failedSent, delivered, failedDelivered, seen, button tapped
    Billed asPer segmentOne message, whatever its lengthOne message, no segments
    ReachesAny mobile numberUS and Canadian numbersRCS-capable handsets, checked before send

    Send an SMS with media to a US or Canadian number and it goes as MMS automatically. No code change.

    RCS

    RCS business messaging, with SMS fallback built in

    RCS puts your verified brand name and logo on the message, adds buttons, and tells you when it was read. Not every handset can receive it, so Vobiz checks first and falls back to SMS when it can’t.

    RCS reference

    Check reachability per number

    — find out whether a recipient can receive RCS before you send.

    capability check

    Fall back to SMS automatically

    — set one flag and an unreachable recipient gets the message as SMS.

    failoverToSms

    Buttons that do something

    — quick replies, open a link, call a number, show or request a location.

    REPLY · OPEN_URL · DIAL_PHONE · SHOW_LOCATION · REQUEST_LOCATION

    Know when it was read

    — a message.seen event when the recipient opens the message.

    Know what they tapped

    — a message.button_tap event carrying the postbackData you set on the button.

    Send a verified brand

    — register your RCS sender by API and track its approval status.

    sender status

    Voice and text together

    The text channel for your voice agent

    Most calls end with something the caller needs in writing: a confirmation, a link, an address. Send it from the same Vobiz account, while the call is live or the moment it ends.

    Voice API

    Text during the call

    — your agent sends a payment link or booking confirmation mid-conversation, from the same backend that answers the call webhook.

    Missed call, text back

    — when hangup_url reports an unanswered call, send an SMS so the lead isn’t lost.

    Two-way conversations

    Two-way SMS your agent can answer

    Every inbound message is threaded into a conversation with that contact. Pull the history before your agent replies, so it answers in context.

    Inbound messaging

    Inbound on every channel

    — SMS, MMS with its media URLs, and RCS text, files, locations and button taps all arrive as message.received.

    Conversation history

    — fetch every message in a thread, in order, by conversation ID.

    conversations/{id}/messages

    Read state for human handoff

    — mark threads read and pull unread counts, so a person can pick up where the agent stopped.

    unread-count

    Real-time over WebSocket

    — receive new messages and status changes on an open socket, for a live console.

    message.received · message.status