Database KYC
Check a person's name and optional date of birth and address against identity records. This check does not require a mobile number. The separate mobile network KYC check remains available.
Endpoint: POST https://api.provero.io/api/validate/kyc-database. Authenticate with your Provero bearer token. Access to this service must be enabled for your account.
Request
{
"first_name": "John",
"last_name": "Smith",
"date_of_birth": "1980-05-15",
"Address1": "10 Downing Street",
"postcode": "SW1A 2AA",
"country": "GB",
"reference": "customer_record_123",
"response_type": "standard"
}
first_name and last_name are required. Date of birth, Address1 and postcode are optional. Include the complete house or flat number in Address1. Country defaults to GB; GB is the only confirmed supported country. Country chooses the search database and is not an independently verified field. Reference is returned unchanged. Response type defaults to standard; detailed adds supporting data.
Standard response
{
"status": "success",
"verification_id": "kyc_database_example_001",
"reference": "customer_record_123",
"verified": true,
"verification_result": "verified",
"record_found": true,
"name_match": true,
"results": {
"first_name": {"result": "match"},
"last_name": {"result": "match"},
"date_of_birth": {"result": "match"},
"Address1": {"result": "match"},
"postcode": {"result": "match"}
}
}
status describes request completion. verified and verification_result describe the identity outcome. name_match is the provider's combined name assessment. Field results appear only for submitted identity inputs. They can be match, no_match, or unable_to_verify.
Outcomes
verified: submitted name, date of birth and address belong to one person on file.address_unconfirmed: name and date of birth found, but the supplied address was not confirmed.dob_unconfirmed: name found at the address, but date of birth was not confirmed.mixed_identity: name/date of birth and name/address matches point to different people.not_found: no record found. The completed request hasstatus: success,verified: false,record_found: false,name_match: null, and supplied fields markedunable_to_verify.
For example, a completed not_found check returns:
{
"status": "success",
"verification_id": "kyc_database_example_002",
"reference": "customer_record_123",
"verified": false,
"verification_result": "not_found",
"record_found": false,
"name_match": null,
"results": {
"first_name": {"result": "unable_to_verify"},
"last_name": {"result": "unable_to_verify"}
}
}
A technical failure returns an error instead of a negative verification result:
{
"status": "error",
"error": {
"code": "service_temporarily_unavailable",
"message": "KYC verification is temporarily unavailable"
}
}
Detailed response
Detailed mode adds details with best_address, identities_count, residency_score, last_seen, and days_since_last_seen. Unavailable values are null. Residency score categories are very_high, high, medium, low, and very_low. They are categories, not a numeric identity score.
A verified identity may match a previous address. Verification does not establish current residence. best_address indicates the provider's preferred address. A postcode match alone does not confirm the house or flat, and an incorrect number can prevent full address verification.
HTML/PDF reports, scoring and asynchronous checks are unavailable until their supplier contracts and retrieval flow are confirmed.