Skip to main content
GET
/
api
/
v1
/
sub-accounts
/
{sub_auth_id}
/
kyc
/
status
Get sub-account KYC status
curl --request GET \
  --url https://api.vobiz.ai/api/v1/sub-accounts/{sub_auth_id}/kyc/status \
  --header 'X-Auth-ID: <api-key>' \
  --header 'X-Auth-Token: <api-key>'
import requests

url = "https://api.vobiz.ai/api/v1/sub-accounts/{sub_auth_id}/kyc/status"

headers = {
"X-Auth-ID": "<api-key>",
"X-Auth-Token": "<api-key>"
}

response = requests.get(url, headers=headers)

print(response.text)
const options = {
method: 'GET',
headers: {'X-Auth-ID': '<api-key>', 'X-Auth-Token': '<api-key>'}
};

fetch('https://api.vobiz.ai/api/v1/sub-accounts/{sub_auth_id}/kyc/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
  "sub_account_id": "SA_XXXXXX",
  "kyc_mode": "customer_use",
  "business_type": "private_limited",
  "overall_status": "pending",
  "kyc_calls_blocked": true,
  "verifications": {
    "pan": "verified",
    "gst": "pending",
    "aadhaar": "not_started",
    "cin": "not_started"
  }
}
{
"api_id": "<string>",
"error": "<string>",
"message": "<string>"
}
{
"api_id": "<string>",
"error": "<string>",
"message": "<string>"
}
Returns the aggregated KYC state for a customer_use sub-account: the per-document verification states, whether calls are still blocked (kyc_calls_blocked), and the business_type.
Authenticate with your parent main account’s X-Auth-ID and X-Auth-Token — the same credentials used everywhere else in the API. The caller must own the sub-account (or be an admin).

Response fields

FieldTypeDescription
sub_account_idstringThe sub-account’s auth_id (SA_…).
kyc_modestringpersonal_use or customer_use.
business_typestringThe legal constitution that drives required documents.
overall_statusstringAggregate state: not_started, pending, verified, or failed.
kyc_calls_blockedbooleantrue while the sub-account still needs KYC before it can place calls.
verificationsobjectPer-document state keyed by type (pan, gst, cin, aadhaar), each not_started / pending / verified / failed.

Response example

200 OK
{
  "sub_account_id": "SA_XXXXXX",
  "kyc_mode": "customer_use",
  "business_type": "private_limited",
  "overall_status": "pending",
  "kyc_calls_blocked": true,
  "verifications": {
    "pan": "verified",
    "gst": "pending",
    "aadhaar": "not_started",
    "cin": "not_started"
  }
}
StatusCause
403The caller is not the parent of this sub-account.
404Sub-account not found.
Poll this endpoint after each verification (or on each webhook) and gate the customer’s “go live” on kyc_calls_blocked === false.

Authorizations

X-Auth-ID
string
header
required

Your Vobiz account Auth ID

X-Auth-Token
string
header
required

Your Vobiz account Auth Token

Path Parameters

sub_auth_id
string
required

The sub-account's Auth ID.

Example:

"SA_XXXXXX"

Response

Aggregated KYC state

Aggregated KYC state for a sub-account.

sub_account_id
string
kyc_mode
enum<string>
Available options:
personal_use,
customer_use
business_type
string
overall_status
enum<string>
Available options:
not_started,
pending,
verified,
failed
kyc_calls_blocked
boolean

True while the sub-account still needs KYC before it can place calls.

verifications
object

Per-document state keyed by verification type.