Provero Logo

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 has status: success, verified: false, record_found: false, name_match: null, and supplied fields marked unable_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.