API Testing Payloads
This guide provides copy-paste request bodies for testing common integration scenarios against the Verifow sandbox. All payloads assume the base URL/api/v1/ and bearer token authentication.
1. Authentication
1.1 Login
POST /api/v1/auth/login
2. KYC Verification
2.1 Submit Individual KYC Application
POST /api/v1/kyc/applications
3. Transaction Screening
3.1 Screen Transaction — Individual (APPROVE)
POST /api/v1/transactions/screen
3.2 Screen Transaction — Individual (KYC BLOCK)
POST /api/v1/transactions/screen
3.3 Screen Transaction — Sanctions Hit
POST /api/v1/transactions/screen
3.4 Screen Transaction — Business / KYB
For corporate senders, your payload must flag the transaction as a business transaction and supply the company’s CAC registration number. When your bank has already performed KYB verification outside of Verifow, assertsenderKybStatus: "VERIFIED" to bypass the Verifow KYB lookup. You should still send the sender’s KYC fields, because authorized signatories and directors may still be evaluated under individual KYC rules.
POST /api/v1/transactions/screen
| Field | Type | Required | Description |
|---|---|---|---|
senderKycStatus | string | ✅ | VERIFIED, PENDING, IN_PROGRESS, REJECTED, EXPIRED, NONE. Asserts the sender’s individual KYC status. Required in EXTERNAL mode. |
senderKycTier | string | ✅ | TIER_1, TIER_2, TIER_3. Required in EXTERNAL mode; enables CBN tier-based limits. |
senderKycVerifiedAt | string | ISO 8601 timestamp of the last KYC verification. | |
senderKycExternalRef | string | Internal KYC reference for audit trail (e.g. CORE-BANK-KYC-78432). | |
senderKybStatus | string | ✅ | VERIFIED, PENDING, IN_PROGRESS, REJECTED, EXPIRED, NONE. Asserts the corporate KYB status. Send VERIFIED when your bank has independently verified the business. |
metadata.entityType | string | ✅ | Must be "BUSINESS" to trigger KYB screening. |
metadata.senderRcNumber | string | ✅ | CAC registration number (e.g. "RC123456"). |
Note: IfsenderKybStatusis omitted for a business transaction, Verifow will attempt a local KYB lookup usingmetadata.senderRcNumber. If no KYB record exists, the transaction will be scored as high risk.
4. KYB Verification
4.1 Submit KYB Application
POST /api/v1/kyc/kyb/applications