Atomically debits your partner master balance and credits the customer’s wallet. Both legs are recorded in each account’s ledger. Transfers are permanent and cannot be reversed.
curl --request POST \
--url https://api.vobiz.ai/api/v1/partner/accounts/{customer_auth_id}/transfer-balance \
--header 'Content-Type: application/json' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"amount": 500,
"currency": "INR"
}
'{
"transaction_id": "txn_aabbccdd1234",
"from_account": "PA_XXXXXXXX",
"to_account": "MA_XXXXXXXX",
"amount": 500,
"currency": "INR",
"description": "April recharge",
"status": "completed",
"partner_balance_after": 47750,
"customer_balance_after": 2950,
"timestamp": "2026-03-25T11:00:00Z"
}← Partner API Reference Transfer credits from your partner master wallet to a customer’s wallet. This is the primary mechanism for reselling voice minutes - you fund your customers, who then spend from their allocated balance on calls.Documentation Index
Fetch the complete documentation index at: https://docs.vobiz.ai/llms.txt
Use this file to discover all available pages before exploring further.
X-Auth-ID and X-Auth-Token headers. See Authentication for details.| Property | Behavior |
|---|---|
| Atomic | Transfers complete or fail entirely - no partial states |
| Permanent | Cannot be reversed via API - verify amount before submitting |
| Instant | Customer wallet is credited immediately on success |
-₹500.00).+₹500.00).| Field | Type | Required | Description |
|---|---|---|---|
amount | number | Required | Amount to transfer in the partner’s currency |
currency | string | Required | ISO 4217 currency code, e.g. INR |
description | string | Optional | Free-text note recorded in both transaction ledgers |
curl -X POST \
"https://api.vobiz.ai/api/v1/partner/accounts/{customer_auth_id}/transfer-balance" \
-H "X-Auth-ID: {your_partner_id}" \
-H "X-Auth-Token: {your_auth_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"amount": 500.00,
"currency": "INR",
"description": "April recharge - Credresolve"
}'
import requests
BASE = "https://api.vobiz.ai/partner/v1"
HEADERS = {
"X-Auth-ID": "{your_partner_id}",
"X-Auth-Token": "{your_auth_token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
# Check your own balance first
profile = requests.get(f"{BASE}/me", headers=HEADERS).json()
if profile["balance"] >= 500.00:
response = requests.post(
f"{BASE}/accounts/MA_48149cf4/transfer-balance",
headers=HEADERS,
json={
"amount": 500.00,
"currency": "INR",
"description": "April recharge - Credresolve",
},
)
print(response.json())
customer_auth_id and amount before calling this endpoint.400 error.description field is recorded in your partner transaction ledger as a debit and in the customer’s transaction ledger as a credit. Use clear notes for easier reconciliation during billing cycles.customer_auth_id is correct.amount and currency.description for ledger reconciliation.Your Vobiz account Auth ID
Your Vobiz account Auth Token
"MA_ZKITB8Z2"
Transfer completed
Was this page helpful?
curl --request POST \
--url https://api.vobiz.ai/api/v1/partner/accounts/{customer_auth_id}/transfer-balance \
--header 'Content-Type: application/json' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"amount": 500,
"currency": "INR"
}
'{
"transaction_id": "txn_aabbccdd1234",
"from_account": "PA_XXXXXXXX",
"to_account": "MA_XXXXXXXX",
"amount": 500,
"currency": "INR",
"description": "April recharge",
"status": "completed",
"partner_balance_after": 47750,
"customer_balance_after": 2950,
"timestamp": "2026-03-25T11:00:00Z"
}