Skip to main content
← Partner Overview A step-by-step integration guide demonstrating the full lifecycle of a customer on your platform - from provisioning and balance transfer to KYC, trunk creation, and CDR monitoring.

Authentication Setup

All Partner API calls require your Master credentials. Store these securely in your backend.

Step 1 - Create customer account

Provision a new SIP-enabled account under your partner umbrella. POST https://api.vobiz.ai/api/v1/partner/accounts
Save both auth_id and auth_token. The auth_id is used in every partner API call for this customer. The auth_token is the customer’s own credential - used when calling the Customer API on their behalf.

Step 2 - Transfer balance to customer

When you call the transfer endpoint, Vobiz atomically debits the amount from your partner master balance and credits it to the customer’s wallet.
  • Your Master Balance - debited by the transfer amount (e.g. -₹500.00).
  • Customer Wallet - credited by the same amount (e.g. +₹500.00).
POST https://api.vobiz.ai/api/v1/partner/accounts/{customer_auth_id}/transfer-balance

Step 3 - Initiate KYC session

Vobiz supports two ways to initiate KYC. Pick the one that matches your onboarding UX:
  • Email flow (default, async) - Vobiz emails the customer a link to a hosted KYC widget. They complete verification later from their inbox.
  • Redirect flow (real-time) - Vobiz returns a widget_url in the response. You redirect the customer to it during signup; their browser comes back to your redirect_url after verification.
Full request/response reference: KYC Sessions API. POST https://api.vobiz.ai/api/v1/partner/kyc-sessions

Email flow

POST /kyc-sessions itself sends the first email, which starts a 30-minute resend cooldown. Calling /resend immediately after creation returns 429. Also, creating a new session for an account_auth_id that already has an active one silently auto-revokes the old session - always act on the most recent session_id. See KYC Sessions for the full edge-case matrix.

Redirect flow

A fresh redirect-flow session starts at link_ready (not email_sent). Redirect the customer’s browser to widget_url immediately. After verification, their browser is sent back to:
Treat the redirect return params as a UI hint, not proof of completion. Query params can be spoofed. When your redirect_url is hit, confirm the real outcome before unlocking anything - either trust the kyc.completed webhook (below) or call GET /kyc-sessions/{session_id} and check status server-side.
expires_in_days defaults to 7 if omitted. The examples above override it to 14.

Step 4 - Customer completes KYC

The customer completes verification on the Vobiz-hosted widget (either by clicking the email link, or via the redirect URL).
  • Individual (PAN 4th char = P) - PAN + DOB → Aadhaar via DigiLocker (Govt OTP)
  • Company (PAN 4th char = C) - PAN + entity name → GSTIN

Webhook events

Vobiz POSTs JSON to your webhook_url as the session progresses:
  • kyc.completed - All steps verified. The sub-account’s kyc_status flips to completed.
  • kyc.failed - Document invalid, name mismatch, or OTP failure. The session terminates.
  • kyc.session_revoked - You revoked the session (or a newer session auto-revoked it).
A kyc.completed payload echoes your metadata and the verified data:

Verify and handle the webhook

Always re-confirm the session server-side before granting access - never trust the POST body alone. Respond 200 fast and process asynchronously so Vobiz doesn’t retry.
Webhook deliveries retry with exponential backoff on any non-2xx response, so make your handler idempotent - the same kyc.completed may arrive more than once.

Managing KYC sessions

Transactions

CDRs (Call History)

Partner view

You (the partner) look up any customer’s call history from your side.

Customer view

The customer calls this endpoint using their own credentials.

Phone numbers (partner view)

Profile & dashboard

Customer API

These endpoints are called using the customer’s own credentials - not yours as the partner. The auth_id and auth_token are returned when you create the customer account (Step 1).
  • Base URL - https://api.vobiz.ai/api/v1/Account/{customer_auth_id}/...
  • Auth headers - X-Auth-ID: {customer_auth_id} + X-Auth-Token: {customer_auth_token}

Inventory Numbers (Browse Available)

Lists phone numbers available to purchase - not yet assigned to any account.

Release a phone number

Returns a number from the customer’s account back to inventory. Permanent - cannot be undone.

Create a SIP trunk

Vobiz auto-generates a unique SIP domain for the trunk in the format: {trunk_id}.sip.vobiz.ai
Save the trunk_id - it is required for all trunk update, delete, and lookup operations.

Build the full onboarding with an AI agent

End-to-end customer onboarding - create account, transfer balance, fire KYC, all wired up.

Open in Cursor