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, you must provide ONE of the following combinations in the Option 2: National ID + Selfie
To update an individual customer with their verification documents:Example with National ID + Selfie: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.
identifying_information array:Option 1: Passport + Selfie| 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_informationarray 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:identifying_information array includes a selfie object with type: "selfie" and image_front containing a base64 encoded selfie image.
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 image) are uploaded in theidentifying_informationarray.
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.