Quickstart
Hash credentials, trade for an X-Auth-Token, and make your first API call.
A hosted sandbox is not yet available — see Sandbox. The flow below runs against your live account, so use a non-production user or test callflow when experimenting with PSTN-bound endpoints.
1. Gather what you need
- The account name you chose at signup (or your account realm / a phone number on the account).
- A user username and password for that account.
- Your account ID (UUID, on the dashboard home).
- The API base URL —
https://api.vinixglobal.com/v2.
export VINIX_ACCOUNT_NAME=acme # account name, realm, or phone_number
export VINIX_USERNAME=[email protected]
export VINIX_PASSWORD='m32c6NfqYEt'
export VINIX_ACCOUNT_ID=... # UUID from the dashboard
export VINIX_BASE=https://api.vinixglobal.com/v22. Exchange credentials for an auth token
Hash the user credentials (MD5 or SHA-1 of username:password, with the
username lowercased) and PUT /v2/user_auth. See
Authentication for the full
mechanics.
HASH=$(echo -n "${VINIX_USERNAME,,}:${VINIX_PASSWORD}" | md5sum | cut -d' ' -f1)
VINIX_AUTH_TOKEN=$(curl -s -X PUT $VINIX_BASE/user_auth \
-H "Content-Type: application/json" \
-d "{\"data\":{\"credentials\":\"$HASH\",\"account_name\":\"$VINIX_ACCOUNT_NAME\",\"method\":\"md5\"}}" \
| jq -r '.auth_token')
export VINIX_AUTH_TOKENThe response also returns account_id, owner_id, and is_reseller
under data — capture them if you don't already know them.
3. List the users on your account
A read-only smoke test:
curl $VINIX_BASE/accounts/$VINIX_ACCOUNT_ID/users \
-H "X-Auth-Token: $VINIX_AUTH_TOKEN"const r = await fetch(
`${process.env.VINIX_BASE}/accounts/${process.env.VINIX_ACCOUNT_ID}/users`,
{ headers: { "X-Auth-Token": process.env.VINIX_AUTH_TOKEN! } },
);
const { data } = await r.json();
console.log(data);import os, httpx
r = httpx.get(
f"{os.environ['VINIX_BASE']}/accounts/{os.environ['VINIX_ACCOUNT_ID']}/users",
headers={"X-Auth-Token": os.environ["VINIX_AUTH_TOKEN"]},
)
r.raise_for_status()
print(r.json()["data"])<?php
$ch = curl_init(
getenv("VINIX_BASE") . "/accounts/"
. getenv("VINIX_ACCOUNT_ID") . "/users"
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-Auth-Token: " . getenv("VINIX_AUTH_TOKEN"),
]);
echo curl_exec($ch);4. Originate an internal call with Quickcall
Pick a user or device UUID from the list above. PUT /quickcall/{id}/{number}
rings that endpoint and bridges the call to number when answered. Ring
an internal extension first so you don't pay for outbound PSTN minutes.
curl -X PUT $VINIX_BASE/accounts/$VINIX_ACCOUNT_ID/quickcall/USER_OR_DEVICE_ID/EXT_OR_NUMBER \
-H "X-Auth-Token: $VINIX_AUTH_TOKEN"See Core API → Live Calls → Quickcall for the full options (caller ID, auto-answer, timeout).
5. Next steps
- Subscribe to lifecycle events: Webhooks.
- For backend integrations, swap user_auth for the account API-key flow.
- Explore the full Core API reference.

