Capability and operation reference¶
The package uses capability interfaces rather than one large cross-provider API. Resolve a driver, then check that it implements the capability before calling the methods. All operation paths below are relative to the provider base URL.
Shared contracts¶
IdentityDriverInterfaceis a marker for provider-specific drivers.IdentitySessionDriverInterface::createSession(array $data): arrayis currently supported by QoreID.IdentityLookupDriverInterface::getCountries(): arrayis currently supported by QoreID.
QoreID capabilities¶
QoreID JSON methods return decoded provider responses. The API implementation uses fixed named routes and backend token exchange. For SDK sessions, see the QoreID guide.
Digital identity — DigitalIdentityDriverInterface¶
| Method | HTTP route |
|---|---|
verifyBvnBasic($bvnNumber, $payload = [], $query = []) |
POST /v1/ng/identities/bvn-basic/{bvnNumber} |
verifyBvnPremium($bvnNumber, $payload = [], $query = []) |
POST /v1/ng/identities/bvn-premium/{bvnNumber} |
matchBvn($idNumber, $payload = []) |
POST /v1/ng/identities/bvn-match/{idNumber} |
verifyNin($idNumber, $payload = []) |
POST /v1/ng/identities/nin/{idNumber} |
verifyNinByPhone($phoneNumber, $payload = []) |
POST /v1/ng/identities/nin-phone/{phoneNumber} |
verifyNinPremium($idNumber, $payload = []) |
POST /v1/ng/identities/nin-premium/{idNumber} |
verifyNinPremiumByPhone($phoneNumber, $payload = []) |
POST /v1/ng/identities/nin-phone-premium/{phoneNumber} |
verifyVirtualNin($vNIN, $payload = []) |
POST /v1/ng/identities/virtual-nin/{vNIN} |
verifyLasrraId($idNumber, $payload = []) |
POST /v2/ng/identities/lasrra/{idNumber} |
verifyVotersCard($vin, $payload = []) |
POST /v1/ng/identities/vin/{vin} |
verifyNigerianPassport($passportNumber, $payload = []) |
POST /v1/ng/identities/passport/{passportNumber} |
verifyGhanaCard($idNumber, $payload = []) |
POST /v1/gh/identities/ghana-id/{idNumber} |
verifyKenyaId($idNumber, $payload = []) |
POST /v1/ke/identities/kenya-id/{idNumber} |
verifyKenyaPassport($passportNumber, $payload = []) |
POST /v1/ke/identities/passport/{passportNumber} |
verifyKenyaAlienCard($idNumber, $payload = []) |
POST /v1/ke/identities/alien-card/{idNumber} |
verifyDriversLicense($idNumber, $payload = []) |
POST /v1/ng/identities/driver-license/{idNumber} |
For BVN Basic and Premium, QoreID documents optional isBvnIgree query data. Path identifiers are encoded as individual URL path segments.
Biometrics — BiometricVerificationDriverInterface¶
| Method | HTTP route |
|---|---|
verifyNinFace($payload) |
POST /v1/ng/identities/face-verification/nin |
verifyBvnFace($payload) |
POST /v1/ng/identities/face-verification/bvn |
verifyDriversLicenseFace($payload) |
POST /v1/ng/identities/face-verification/drivers-license |
verifyVirtualNinFace($payload) |
POST /v1/ng/identities/face-verification/vnin |
verifyNigerianPassportFace($payload) |
POST /v1/ng/identities/face-verification/passport |
verifyKenyaPassportFace($payload) |
POST /v1/ke/identities/face-verification/passport |
Some provider pages describe a binary photo while indicating JSON content. The package forwards JSON and does not implement multipart photo transport; verify the expected transport with QoreID before using binary uploads.
Business and bank accounts¶
BusinessVerificationDriverInterface:
| Method | HTTP route |
|---|---|
verifyCacBasic($payload) |
POST /v1/ng/identities/cac-basic |
verifyCacPremiumV2($payload) |
POST /v3/ng/identities/cac-premium-1 |
verifyCacPremiumV3($payload) |
POST /v3/ng/identities/cac-premium |
verifyTin($tin) |
GET /v2/ng/identities/tin/{tin} |
The CAC method names mirror provider documentation labels; both premium methods use documented /v3 routes.
BankAccountVerificationDriverInterface:
| Method | HTTP route |
|---|---|
verifyBvnNuban($payload) |
POST /v1/ng/identities/bvn-nuban |
verifyNuban($payload) |
POST /v1/ng/identities/nuban |
verifyNubanWithBvnConsent($bvn, $payload) |
POST /v1/ng/identities/bvn-accounts-with-consent/{bvn} |
getNubanBanksForBvnData() |
GET /v1/banks/bvn-nuban |
Other QoreID methods¶
| Capability | Method | HTTP route |
|---|---|---|
AddressVerificationDriverInterface |
verifyAddressPro($payload) |
POST /v1/addresses/pro |
BackgroundVerificationDriverInterface |
verifyGuarantor($payload) |
POST /v1/guarantors |
BackgroundVerificationDriverInterface |
getGuarantorVerification($guarantorId) |
GET /v1/guarantors/{guarantorId} |
BackgroundVerificationDriverInterface |
verifyGuarantorPlus($payload) |
POST /v1/guarantors/plus |
AssetVerificationDriverInterface |
createPropertyVerification($payload) |
POST /v1/properties |
AssetVerificationDriverInterface |
getPropertyVerification($propertyId) |
GET /v1/properties/{propertyId} |
AssetVerificationDriverInterface |
verifyVehicle($payload) |
POST /v1/vehilces (provider reference spelling) |
AssetVerificationDriverInterface |
verifyVehicleSelf($payload) |
POST /v1/vehicles/self |
AssetVerificationDriverInterface |
verifyLicensePlateBasic($plateNumber, $payload) |
POST /v1/ng/identities/license-plate-basic/{plateNumber} |
AssetVerificationDriverInterface |
verifyLicensePlatePremium($plateNumber, $payload) |
POST /v1/ng/identities/license-plate-premium/{plateNumber} |
EmploymentVerificationDriverInterface |
verifyEmployment($payload) |
POST /v1/employments |
WorkflowDriverInterface |
getWorkflowByCustomerReference($customerReference) |
GET /v1/workflows/customerReference/{customerReference} |
WorkflowDriverInterface |
getWorkflowById($id) |
GET /v1/workflows/{id} |
WorkflowDriverInterface |
getWorkflowReport($workflowId, $query = []) |
GET /v1/api/workflow/{workflowId} |
WorkflowDriverInterface |
getCollectionReport($collectionId, $productCode, $query = []) |
GET /v1/api/collections/{collectionId}/products/{productCode} |
CollectionWebhookDriverInterface |
resendCollectionWebhook($verificationType, $query = []) |
POST /v1/webhooks/collection/{verificationType} |
IdentityLookupDriverInterface |
getCountries() |
GET /v1/countries |
IdentitySessionDriverInterface |
createSession($data) |
POST /v1/sessions (HTTP Basic authentication) |
Mono capabilities¶
Mono JSON operations return decoded arrays. PDF operations return Illuminate\Http\Client\Response. The full guide covers configuration and webhook integration.
MonoIdentityLookupDriverInterface¶
| Method | HTTP route |
|---|---|
getBanks() |
GET /v3/lookup/banks |
lookupAccountNumber($payload) |
POST /v3/lookup/account-number |
lookupCreditHistory($provider, $payload) |
POST /v3/lookup/credit-history/{provider} (crc, xds, or all) |
verifyDriversLicense($payload) |
POST /v3/lookup/driver_license |
verifyHouseAddress($payload) |
POST /v3/lookup/address |
verifyInternationalPassport($payload) |
POST /v3/lookup/passport |
lookupMashup($payload) |
POST /v3/lookup/mashup |
lookupNin($payload, $query = []) |
POST /v3/lookup/nin |
getNinPdfJob($jobId) |
GET /v3/lookup/nin/{jobId}/job |
lookupTin($payload) |
POST /v3/lookup/tin |
initiatePhoneNin($payload) |
POST /v3/lookup/phone/initiate |
verifyPhoneNin($payload) |
POST /v3/lookup/phone/verify |
Other Mono interfaces¶
| Interface | Method | HTTP route |
|---|---|---|
MonoBvnIgreeDriverInterface |
initiateBvnIgree($payload) |
POST /v2/lookup/bvn/initiate |
MonoBvnIgreeDriverInterface |
verifyBvnIgree($payload, $sessionId) |
POST /v2/lookup/bvn/verify (x-session-id) |
MonoBvnIgreeDriverInterface |
fetchBvnIgreeDetails($payload, $sessionId) |
POST /v2/lookup/bvn/details (x-session-id) |
MonoCacLookupDriverInterface |
searchCac($query) |
GET /v3/lookup/cac |
MonoCacLookupDriverInterface |
getCacShareholders($companyId) |
GET /v3/lookup/cac/company/{id} |
MonoCacLookupDriverInterface |
getCacPreviousAddress($companyId) |
GET /v3/lookup/cac/company/{id}/previous-address (deprecated) |
MonoCacLookupDriverInterface |
getCacChangeOfName($companyId) |
GET /v3/lookup/cac/company/{id}/change-of-name (deprecated) |
MonoCacLookupDriverInterface |
getCacPsc($companyId) |
GET /v3/lookup/cac/company/{id}/psc |
MonoCacLookupDriverInterface |
getCacSecretary($companyId) |
GET /v3/lookup/cac/company/{id}/secretary |
MonoCacLookupDriverInterface |
getCacDirectors($companyId) |
GET /v3/lookup/cac/company/{id}/directors |
MonoCacLookupDriverInterface |
getCacProfile($rcNumber) |
GET /v3/lookup/cac/profile/{rcnumber} |
MonoCacLookupDriverInterface |
getCacStatusReport($companyId) |
GET /v3/lookup/cac/company/{id}/status-report (PDF) |
MonoWatchlistScreeningDriverInterface |
submitWatchlistScreening($payload) |
POST /v3/lookup/watchlist |
MonoWatchlistScreeningDriverInterface |
submitWatchlistBatch($payload) |
POST /v3/lookup/watchlist/batch |
MonoWatchlistScreeningDriverInterface |
getWatchlistScreening($screeningId) |
GET /v3/lookup/watchlist/{id} |
MonoWatchlistScreeningDriverInterface |
getWatchlistAuditLog($screeningId) |
GET /v3/lookup/watchlist/{id}/audit-log |
MonoWatchlistScreeningDriverInterface |
getWatchlistReport($screeningId) |
GET /v3/lookup/watchlist/{id}/report (PDF) |
MonoWatchlistScreeningDriverInterface |
startWatchlistMonitoring($payload) |
POST /v3/lookup/watchlist/monitor |
MonoWatchlistScreeningDriverInterface |
stopWatchlistMonitoring($monitoringId) |
DELETE /v3/lookup/watchlist/monitor/{id} |
MonoProveDriverInterface |
initiateProve($payload) |
POST /v1/prove/initiate |
MonoProveDriverInterface |
getProveCustomer($reference) |
GET /v1/prove/customers/{reference} |
MonoProveDriverInterface |
getProveCustomers($query = []) |
GET /v1/prove/customers |
MonoProveDriverInterface |
blacklistProveCustomer($payload) |
POST /v1/prove/customers/blacklist |
MonoProveDriverInterface |
whitelistProveCustomer($payload) |
POST /v1/prove/customers/whitelist |
MonoProveDriverInterface |
revokeProveCustomer($reference) |
DELETE /v1/prove/customers/{reference} |
Mono's changelog marks Previous Address and Change of Name deprecated; the Previous Address and Change of Name references still describe these routes. They are included for compatibility with existing integrations; confirm availability with Mono before relying on them.
IdenVault capabilities¶
IdenVault operations return Laravel HTTP responses. Verification POST methods require a non-empty idempotency key; generate it once per logical operation and reuse it on retries. See the full IdenVault guide.
| Interface | Method | HTTP route |
|---|---|---|
IdenVaultIdentityVerificationDriverInterface |
verifyNinBasic($payload, $idempotencyKey) |
POST /nin/basic |
IdenVaultIdentityVerificationDriverInterface |
verifyNinMatch($payload, $idempotencyKey) |
POST /nin/match |
IdenVaultIdentityVerificationDriverInterface |
verifyPhone($payload, $idempotencyKey) |
POST /nin/phone |
IdenVaultIdentityVerificationDriverInterface |
verifyBvn($payload, $idempotencyKey) |
POST /verify/bvn |
IdenVaultIdentityVerificationDriverInterface |
verifyBvnBasic($payload, $idempotencyKey) |
POST /verify/bvn/basic |
IdenVaultIdentityVerificationDriverInterface |
verifyShareCode($payload, $idempotencyKey) |
POST /verify/sharecode |
IdenVaultIdentityVerificationDriverInterface |
verifyDemography($payload, $idempotencyKey) |
POST /verify/demography |
IdenVaultBankVerificationDriverInterface |
verifyBankAccount($payload, $idempotencyKey) |
POST /verify/bank-account |
IdenVaultBankVerificationDriverInterface |
getBanks() |
GET /banks |
IdenVaultAccountDriverInterface |
getAccountBalance() |
GET /account/balance |
IdenVaultAccountDriverInterface |
getMeta() |
GET /meta |
QoreID coverage notes¶
The package documents named operations whose routes were individually verified. It does not claim to cover every QoreID endpoint. The following topics are excluded where route contracts could not be established: regular NUBAN bank list, States/LGAs, webhook resend by flow ID/reference, Kenya CR12/business search, OCR, standalone liveness, business-address verification, employment fetch by ID, and additional document/face variants.
AML/PEP is excluded because public API references disagree about its versioned route. Some provider schemas contain spelling inconsistencies, including QoreID's /v1/vehilces route; the implementation preserves the documented path. Address Verification Status is a set of status values, not a supported operation. Do not infer routes for excluded topics. See QoreID's API reference, reference index, and employment guide.