Skip to main content
POST
/
api
/
v1
/
sub-accounts
/
{sub_auth_id}
/
kyc
/
verify-pan
Verify PAN
curl --request POST \
  --url https://api.vobiz.ai/api/v1/sub-accounts/{sub_auth_id}/kyc/verify-pan \
  --header 'Content-Type: application/json' \
  --header 'X-Auth-ID: <api-key>' \
  --header 'X-Auth-Token: <api-key>' \
  --data '
{
  "pan": "ABCDE1234F"
}
'
import requests

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

payload = { "pan": "ABCDE1234F" }
headers = {
"X-Auth-ID": "<api-key>",
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'X-Auth-ID': '<api-key>',
'X-Auth-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({pan: 'ABCDE1234F'})
};

fetch('https://api.vobiz.ai/api/v1/sub-accounts/{sub_auth_id}/kyc/verify-pan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
  "verification_type": "pan",
  "status": "verified",
  "pan": "ABCDE1234F",
  "registered_name": "ACME PRIVATE LIMITED",
  "name_match": true,
  "kyc_calls_blocked": true
}
{
"api_id": "<string>",
"error": "<string>",
"message": "<string>"
}
Runs a real PAN verification for the sub-account. pan must be exactly 10 characters. The result is persisted and the sub-account’s aggregated KYC status is recomputed.
Authenticate with your parent main account’s X-Auth-ID and X-Auth-Token — the same credentials used everywhere else in the API.
Testing? Use the mock endpoint with magic inputs like TESTSUCCESS0001 instead of a real PAN.

Request body

FieldTypeRequiredDescription
panstringYesThe PAN. Must be exactly 10 characters (e.g. ABCDE1234F).

Response example

200 OK
{
  "verification_type": "pan",
  "status": "verified",
  "pan": "ABCDE1234F",
  "registered_name": "ACME PRIVATE LIMITED",
  "name_match": true,
  "kyc_calls_blocked": true
}
  • status is verified, failed, or pending (some providers return asynchronously).
  • kyc_calls_blocked is the sub-account’s recomputed gate after this step — it may still be true if other required documents are outstanding.
  • A 400 is returned when pan is not exactly 10 characters.

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"

Body

application/json
pan
string
required
Required string length: 10
Example:

"ABCDE1234F"

Response

Verification result

Outcome of a single KYC verification step.

verification_type
enum<string>
required
Available options:
pan,
gst,
cin,
aadhaar
status
enum<string>
required
Available options:
verified,
failed,
pending
kyc_calls_blocked
boolean

Recomputed sub-account call-blocking state after this verification.

mock
boolean

Present and true on responses from the test-mode endpoints.