Initiate Prove
Last updated April 28th, 2026
post api.withmono.com/v1/prove/initiateThis resource initiates a Mono Prove session, returning a Mono URL, ID, and other relevant details in the response. Your customers can access this URL via their browser, a web view in your mobile app, or the Mono Prove SDK.

Custom verification support
You can set kyc_level to custom and provide an identities array to define the exact checks required in the widget. For custom flows, identities is required and must include at least one of bvn or nin.

The level of KYC verification required
tier_1: Validating only the BVN and NIN numbers and verifying ownership of the submitted identity numbers with facial recognition.
tier_2: Validating BVN, NIN, a government-issued identification document, and verifying ownership of the submitted document with facial recognition.
tier_3: Validating BVN, NIN, government ID, and address, verifying ownership of the submitted documents with facial recognition, and confirming the user resides at the provided address.
custom: Uses the
identitiesarray to dynamically render and verify configured identity checks. At least one ofbvnorninmust be present.
Request
curl --request POST \
--url https://api.withmono.com/v1/prove/initiate \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'mono-sec-key: string' \
--data '{
"customer": {
"name": "Samuel Olamide",
"phone": "08100110000",
"address": "Lagos State",
"email": "samuel@neem.co",
"identity": {
"number": "12345678901",
"type": "bvn"
}
},
"reference": "refId001",
"redirect_url": "http://mono.co",
"kyc_level": "custom",
"identities": ["bvn", "address"],
"bank_accounts": false
}
'
Response
Choose an option from the drop down or click one of these buttons to see an example:
