PlatformXeDocs
Get API Key

Identity Resolution Overview

Country-pluggable identity resolver with per-(country, provider) circuit breakers, latency tracking, and a dead-letter queue.

The PlatformXe Identity Resolution Service is a country-pluggable resolver: a single API surface dispatches identifier lookups through the right per-country provider chain. Phase 6F.5 introduced country plugins as drop-in modules; Phase 6F.5b added latency observations, hedging, and a dead-letter queue. Phase 6F shipped per-kind verifications (BVN, NIN, liveness, face-match, account-name) with KMS-encrypted audit persistence.

Supported countries

CodeCountryIdentifier typesCapabilities
NGNigeriaBVN, NIN, TIN, PASSPORT, PHONE, VOTER_ID, DRIVERS_LICENSEBVN, NIN, liveness, face-match, account
KEKenyaNIN (Huduma Number), TIN (KRA PIN), PASSPORT, PHONE, DRIVERS_LICENSENIN, liveness, face-match
GHGhanaNIN (Ghana Card), TIN, PASSPORT, PHONE, VOTER_ID, DRIVERS_LICENSENIN, liveness, face-match, account
ZASouth AfricaNIN (SAID), TIN (SARS), PASSPORT, PHONE, DRIVERS_LICENSENIN, liveness, face-match, account

NIN is the canonical key for each country's primary national identifier; the country plugin handles validation against local format (8-digit Huduma vs GHA-XXXXXXXXX-X Ghana Card vs 13-digit SAID). BVN stays Nigeria-specific. See Identity Resilience for the per-country provider chains, breaker state, and replay flow.

Nigerian identifier types (default)

TypeCodeDescription
Bank Verification Numberbvn11-digit BVN issued by NIBSS
National Identification Numbernin11-digit NIN issued by NIMC
Tax Identification NumbertinTIN issued by FIRS
Voter CardvoterPermanent Voter Card number (INEC)
International PassportpassportNigerian passport number
Phone NumberphoneMobile number linked to identity records
Driver's LicenselicenseNational driver's license number (FRSC)

How it works

NIN serves as the resolution hub. When you submit any identifier type, the service resolves it through the provider chain and links it back to the NIN, then resolves other linked identifiers from there.

Input (BVN) → Provider Chain → NIN (hub) → Linked identifiers (TIN, Voter, Passport, etc.)

The service queries each country's declared provider chain in priority order, returning the first successful match. Each (country, provider) pair has its own circuit breaker — a flaky provider in one country quarantines without dragging down others. Combined, the provider network covers over 130 million identity records across the supported countries.

Caching

Resolved identities are cached in Redis with a 24-hour TTL. Subsequent lookups for the same identifier hit the cache instead of making provider calls, reducing latency and cost.

No personally identifiable information (PII) is persisted to the database. The Redis cache is the only storage, and entries expire automatically after 24 hours.

Consent requirement

Every identity resolution request must include a consent reference. PlatformXe is a pass-through service — your application is responsible for obtaining consent from the data subject before calling the API.

See Consent & NDPR for full details on compliance requirements.

API scope

All identity resolution endpoints require the identity:resolve scope on your API key.

Next steps