Prerequisites
Before you begin, ensure you have:- A Busha Business Account and Secret API Key (from the Quick Start Tutorial).
- An understanding of API Environments (Sandbox vs. Production) and their base URLs (from the Make Your First Request Guide).
- A customer account created (see Create Individual Customer or Create Business Customer).
Verifying Customer Identity (KYC/KYB)
Submit Customer KYC/KYB Documents
The core requirement for verifying a customer is the completed upload of identification documents.Individual customerFor individual customers, the KYC documents required, depending on your country, are:
To update an individual customer with their verification documents:Business customerFor business customers, the KYB documents and sections required are:Documents:
Files uploaded for KYC/KYB must be in Base64 format and have a file size less than 4MB.
| Country | Documents Required |
|---|---|
| Nigeria |
|
| Kenya |
|
- Open your terminal or command prompt.
- Use the
PUTrequest below to the/v1/customers/{customer_id}endpoint. - Replace
{customer_id}with the customer ID. - Replace
YOUR_BASE_URLwith your chosen environment’s URL and{YOUR_SECRET_KEY}with your actual key. - Replace the values in the
identifying_informationanddocumentsarray with the customer documents.
- Certificate of Incorporation
- Corporate registry extract
- Memorandum of Association articles (memart)
- Corporate structure chart
- Board resolution
- Anti-money laundering policy
- Regulatory licenses
- Proof of wealth
- Proof of address
- Business Owners - Directors and beneficial owners information
- Business Transaction - Expected transaction patterns and volumes
- Business Registration - Legal and regulatory details
- Open your terminal or command prompt.
- Use the
PUTrequest below to the/v1/customers/{customer_id}endpoint. - Replace
{customer_id}with the customer ID. - Replace
YOUR_BASE_URLwith your chosen environment’s URL and{YOUR_SECRET_KEY}with your actual key. - Include all required sections and documents.
Verify the Customer
After uploading all required documents and information, call the verify endpoint to submit the customer for verification.To verify the customer:Expected ResponseA successful response indicates the verification request has been submitted:
- Open your terminal or command prompt.
- Use the
POSTrequest below to the/v1/customers/{customer_id}/verifyendpoint. - Replace
{customer_id}with the customer ID. - Replace
YOUR_BASE_URLwith your chosen environment’s URL and{YOUR_SECRET_KEY}with your actual key.
After calling the verify endpoint, the customer status will change from
inactive to in_review. You’ll receive webhook notifications as the verification progresses.Check Verification Status
Monitor the customer’s verification status by retrieving their details:Customer Status Values:
inactive- Customer created but not yet verifiedin_review- Verification documents submitted and under reviewactive- Customer verified and can perform transactionsrejected- Verification failed (check rejection reason)
Monitor Verification via Webhooks (Recommended)
Set up webhooks to receive real-time notifications about verification status changes. See Webhook Events for available customer verification events:Learn how to set up webhooks in the Webhooks Guide.
customer.verification.in_review- Verification submittedcustomer.verification.active- Verification approvedcustomer.verification.rejected- Verification failedcustomer.verification.inactive- Verification reverted
Common Verification Errors
Individual Customers:documents array includes a selfie video with purposes: ["selfie_video"].
Business Customers:
business_owners array with at least one owner/director.
business_transaction object with transaction details.
Troubleshooting
400 Bad Request / 422 Unprocessable Entity: Review your request body to ensure all required fields are present and correctly formatted.401 Unauthorized: Verify that your Secret API Key is correct and included in the header.missing_sectionerrors: For business customers, ensure all three sections (owners, transaction, registration) are complete before verification.profile_kyc_verificationerrors: For individual customers, ensure all required documents (ID images and selfie video) are uploaded.
What’s Next?
Now that you can programmatically verify customers, you can proceed to perform transactions on their behalf:- How to Initiate Transactions on Behalf of a Customer: Understand how to use the
customer_idto perform operations for your customers. - Webhook Events: Learn about all customer verification webhook events.
- Monitor Verification Status: Track customer verification progress.