🇿🇦 South Africa
South Africa - Bank Account Holder Verification
Confirms a South African bank account belongs to the named holder via the inter-bank Account Holder Verification service. Authoritative real-time identity lookup for South Africa. Real-time lookup, pay-per-call.
POST
Confirms a South African bank account belongs to the named holder via the inter-bank Account Holder Verification service. Didit exposes this service through
POST /v3/database-validation/ so you can verify the submitted data against the authoritative source and receive normalized match results.
Coverage
- Coverage: —
- Country: South Africa
- Service ID:
zaf_bank_account_holder - Data domain: Financial
- Category: Banking
Inputs
| Field | Required | Example |
|---|---|---|
national_id | Yes | SAMPLE-NID-12345 |
bank_account_number | Yes | 1234567890 |
bank_name | Yes | John Doe |
account_type | No | checking |
first_name | No | John |
last_name | No | Doe |
initials | No | JD |
email | No | john.doe@example.com |
phone_number | No | +15550101000 |
vendor_data | No | user-1234 |
- Required inputs:
national_id,bank_account_number,bank_name - Optional inputs:
account_type,first_name,last_name,initials,email,phone_number,vendor_data - Consent: Required
- Workflow availability: Standalone API only
- Coverage: —
- Price: $0.40 per successful query
Body parameters
ISO 3166-1 alpha-3 country code for this database service.Example:
ZAFArray containing this service ID. Pinning the service keeps the request scoped to this exact database.Example:
zaf_bank_account_holderExplicit end-user consent for this service.Example:
trueNational identity number for this service.Example:
SAMPLE-NID-12345bank_account_number value required by this database service.Example: 1234567890bank_name value required by this database service.Example: John Doeaccount_type value required by this database service.Example: checkingGiven name to validate.Example:
JohnFamily name to validate.Example:
Doeinitials value required by this database service.Example: JDEmail address.Example:
john.doe@example.comphone_number value required by this database service.Example: +15550101000Your stable user reference for this person, such as your internal user ID. Didit uses it to link standalone checks to the same end user and reduce duplicate-detection noise.Example:
user-1234Input rules & validation notes
- Send the fields listed above exactly as captured from the user or document.
- Didit validates required fields before calling the database. Requests rejected before source lookup are not charged.
How to call it
Returned data
The exact fields surfaced insource_data depend on what the registry returns. The generated example for zaf_bank_account_holder currently documents this normalized shape:
first_nameidentification_numberlast_name
Pricing & SLAs
South Africa - Bank Account Holder Verification queries are billed only when Didit receives a conclusive result from the validation source.- Per-call price: $0.40 USD.
- Billing: per successful query. You are not charged when the registry is unreachable, when required fields are missing, or when the request is rejected before reaching the source.
- Latency: typical p95 < 2 s.
- Availability: 99.9% per quarter on Didit’s side; downstream source availability varies by country and dataset.