Skip to main content
Plivo and Vobiz ship server SDKs for the same seven languages, and the Vobiz SDKs mirror Plivo’s resource layout and XML-builder shape. What changes when you migrate: you git-clone the Vobiz SDKs from github.com/vobiz-ai (no registry install), you construct the client with X-Auth-ID/X-Auth-Token headers instead of HTTP Basic, and a handful of method names differ (calls.createcalls.make_call, plus an explicit auth_id).

Client init & method-name mapping

Plivo SDK (Python)Vobiz SDK (Python)
import plivo / plivo.RestClient(auth_id, auth_token)from vobiz import Vobiz / Vobiz(api_key=auth_id, auth_token=…)
new plivo.Client(authId, authToken) (Node)new VobizClient({ apiKey, authToken }) (Node)
client.calls.create(from_, to, answer_url=)client.calls.make_call(auth_id, from_, to, answer_url=)
client.calls.get(call_uuid)client.live_calls.get_live_call(auth_id, call_uuid)
client.calls.get_all() / .list()client.live_calls.list_live_calls(auth_id)
client.calls.delete(call_uuid)client.live_calls.hangup_call(auth_id, call_uuid)
client.calls.play(...) / .speak(...) / .send_digits(...)client.play_audio.call(...) / client.speak_text.call(...) / client.dtmf.send_dtmf(...)
client.calls.record(...) / .stop_record(...)client.record_calls.start_recording(...) / .stop_recording(...)
client.recordings.get / list / deleteclient.recordings.get_recording / list_recordings / delete_recording
client.applications.create / get / list / update / deleteclient.applications.create_application / retrieve_application / list_applications / update_application / delete_application
client.numbers.search / buy / list / deleteclient.phone_numbers.list_inventory_numbers / purchase_from_inventory / list_numbers / unrent_number
client.conferences.* / member opsclient.conference.* (member ops) + client.conference_members.mute_member / unmute_member
client.endpoints.*client.endpoints.* (+ first-class client.trunks.*)
client.get_account()client.account.retrieve_account()
from plivo import plivoxmlfrom vobiz import vobizxml
plivoxml.ResponseElement() / add_get_digits(...) / to_string()vobizxml.ResponseElement() / add_gather(...) / to_string()
CDRs live under client.cdr.* on Vobiz (Plivo folds completed-call lookups into calls.get). For the verb-by-verb XML mapping see Convert PlivoXML to VobizXML.

Before / after: client init + outbound call

The call parameters (from, to, answer_url, answer_method, etc.) carry over unchanged. What changes is the constructor, the method name, and the added auth_id.
# --- Before: Plivo ---
import plivo
client = plivo.RestClient(auth_id="MA_PLIVO_ID", auth_token="plivo_token")

resp = client.calls.create(
    from_="14155551234",
    to="+919876543210",                       # bulk: "a<b<c"
    answer_url="https://example.com/answer",
    answer_method="POST",
)
print(resp.request_uuid)

# --- After: Vobiz ---
from vobiz import Vobiz
client = Vobiz(api_key="MA_VOBIZ_ID", auth_token="vobiz_token")

resp = client.calls.make_call(
    auth_id="MA_VOBIZ_ID",                     # new: explicit account auth_id
    from_="14155551234",
    to="+919876543210",                        # bulk: "a<b<c"  (unchanged)
    answer_url="https://example.com/answer",
    answer_method="POST",
)
print(resp)                                    # includes call_uuid

Key differences & gotchas

  • Install is git-clone, not registry. Clone vobiz-ai/Vobiz-<Language>-SDK and install from the checkout (Go is the exception: go get github.com/vobiz-ai/Vobiz-Go-SDK). Pin to a tag/commit for reproducible builds.
  • Auth is headers, not Basic. Vobiz sends api_key as X-Auth-ID and auth_token as X-Auth-Token; the constructor keyword is api_key= (Python) / apiKey: (Node), not auth_id.
  • Every account-scoped method takes an explicit auth_id — Plivo infers it from the credential.
  • In-progress vs completed calls are split. Vobiz uses live_calls for in-progress calls and cdr for completed-call records; Plivo’s client.calls.* covers both.
  • Gather uses executionTimeout, never timeout — the most common porting mistake. timeout in VobizXML belongs only to <Dial>/<Number> (ring timeout).

What has no Vobiz equivalent

  • No published packages (yet). There is nothing to pip install/npm install for Vobiz — CI that pulls from PyPI/npm must vendor or build from the cloned repo.
  • The vobiz-plivo-compat shim is not shipped. A drop-in layer that keeps plivo.RestClient(...) working against Vobiz is planned but not yet available; follow the explicit method mapping above.
  • Plivo Messaging/SMS SDK surfaces have no Vobiz counterpart. Vobiz is voice-only — client.messages.* and related SMS helpers do not map.
  • Advanced PlivoXML verbs (for example <MultiPartyCall>) have no guaranteed builder method in vobizxml. Review each and contact support.

Endpoint & SDK mapping

The full REST resource and method mapping, with the make-call contract.

Convert PlivoXML to VobizXML

Verb-by-verb XML mapping and the GetDigits/GetInput to Gather rename.