Introduction
VerifyX is a verification platform with one API for identity, document, and biometric checks, AML and sanctions screening, transaction monitoring, and Nigerian rails - BVN, NIN, NUBAN, and CAC. Every product returns a signed decision in seconds and stores zero user PII.
The base URL for all requests is https://api.verifyx.com. Looking for the interactive reference? See the Swagger API reference.
Authentication
Authenticate with a secret API key in the Authorization header. Keys are created in the dashboard, hashed at rest, and shown in full only once.
Authorization: Bearer vfx_live_••••••••Quickstart
Verify an identity - an ID document plus a selfie - in a single call:
curl https://api.verifyx.com/v1/identity \
-H "Authorization: Bearer $VERIFYX_API_KEY" \
-F id_front=@id.jpg \
-F selfie=@selfie.jpg \
-d customer_user_ref="usr_8f2a"
# 200 OK
{ "decision": "approved", "risk_score": 0.11,
"check_scores": { "face_match": 0.89, "liveness": 0.97, "doc_quality": 0.91 } }Webhooks
Results are delivered to your configured endpoint as HMAC-SHA256-signed events. Verify the X-Verify-Signature header against the timestamp and body before trusting a payload.
{
"id": "evt_9x2kJ4mPqR",
"type": "verification.approved",
"data": { "decision": "approved", "risk_score": 0.11, "check_scores": { ... } }
}Verification products
Each product is an independent endpoint - compose only what you need.
Identity Verification
The complete identity check. Choose an ID type - including Nigerian NIN and BVN - then compose document capture, facial liveness, and address verification in a single guided flow.
/v1/identitycurl https://api.verifyx.com/v1/identity \
-H "Authorization: Bearer $KEY" \
-F id_type="passport" \
-F id_front=@id.jpg \
-F selfie=@selfie.jpg \
-F checks="document,facial,address" \
-d customer_user_ref="usr_8f2a"Parameters
- · ID type
- · Document image(s)
- · Selfie
- · Optional: utility bill for address
Returns
- · decision
- · face_match
- · liveness
- · doc_quality
- · address_match
Document Verification
Standalone document OCR and authenticity. Parse the MRZ, validate the document, detect tampering and expiry - without a person match. 190+ countries.
/v1/documentscurl https://api.verifyx.com/v1/documents \
-H "Authorization: Bearer $KEY" \
-F front=@passport.jpgParameters
- · Document front
- · Optional: document back
Returns
- · doc_quality
- · mrz_valid
- · doc_type
- · expiry check
- · tamper_risk
AML & Sanctions Screening
Screen a person or business against global sanctions lists, politically-exposed-persons databases, and adverse-media watchlists. Normalised to clear / possible / hit.
/v1/screeningcurl https://api.verifyx.com/v1/screening \
-H "Authorization: Bearer $KEY" \
-d name="Ada Okafor" -d country="NG"Parameters
- · Full name
- · Optional: DOB, nationality
Returns
- · result (clear/possible/hit)
- · matched_lists
- · confidence
Transaction Monitoring
Stream transactions and score them in real time against AML typologies, velocity rules, and behavioural risk. Flags structuring, mule activity, and anomalies for review.
/v1/monitoring/eventscurl https://api.verifyx.com/v1/monitoring/events \
-H "Authorization: Bearer $KEY" \
-d customer_user_ref="usr_8f2a" \
-d amount=950000 -d currency="NGN" -d type="transfer"Parameters
- · Transaction event
- · Customer reference
- · Amount, counterparty
Returns
- · risk_score
- · flags[]
- · action (allow/review/block)
Bank Account Verification
🇳🇬 NGConfirm ownership of a Nigerian bank account by resolving a NUBAN account number and bank code to the registered account name - essential for payouts and lending.
/v1/accountscurl https://api.verifyx.com/v1/accounts \
-H "Authorization: Bearer $KEY" \
-d account_number="0123456789" -d bank_code="058"Parameters
- · Account number (NUBAN)
- · Bank code
Returns
- · account_name
- · bank
- · name_match (if expected name given)
Business Verification (KYB)
🇳🇬 NGConfirm a Nigerian business is real and registered by checking its RC number against the Corporate Affairs Commission, with directors and status. Built for merchant onboarding.
/v1/businesscurl https://api.verifyx.com/v1/business \
-H "Authorization: Bearer $KEY" \
-d rc_number="RC1234567"Parameters
- · RC number
- · Optional: business name
Returns
- · registration status
- · company_name
- · directors
- · type
SDKs
Official SDKs: a React Native (Expo) mobile SDK with on-device capture, a zero-dependency web SDK (web components), and server libraries for Node and Python.
Errors
VerifyX uses conventional HTTP status codes. Error bodies include a stable code and an actionable message.
{ "error": { "code": "invalid_bvn", "message": "BVN must be 11 digits." } }