Skip to main content
POST
/
v1
/
loans
/
customers
/
{customerId}
/
verify-kyc
Verify KYC
curl --request POST \
  --url https://carbonapistagingsecure.getcarbon.co/baas/api/v1/loans/customers/{customerId}/verify-kyc \
  --header 'apikey: <api-key>' \
  --header 'x-carbon-key: <x-carbon-key>'
{
  "status": "success",
  "message": "KYC verification initiated"
}

Overview

Initiates identity verification (BVN check) for a customer who has been enrolled for lending. The result is asynchronous — poll GET /v1/loans/customers/:customerId/kyc-status until kyc_status becomes VERIFIED. This call is idempotent for already-verified customers and returns immediately with 200.

Request

Method: POST
URL: /v1/loans/customers/:customerId/verify-kyc

Parameters

NameInTypeRequiredDescription
x-carbon-keyHeaderstringYesAPI key for authentication.
customerIdPathstringYesUUID of the customer to verify.
No request body required.

Response

200 — Verification Initiated

{
  "status": "success",
  "message": "KYC verification initiated",
  "data": {
    "customer_id": "1732ca47-42b2-4990-a65d-c369e934eed3",
    "kyc_status": "PENDING"
  }
}

200 — Already Verified

{
  "status": "success",
  "message": "KYC already verified",
  "data": {
    "kyc_status": "VERIFIED"
  }
}

Error Responses

StatusMessageCause
400Customer not foundcustomerId not found
422Customer is not enrolled for lendingEnroll the customer first

Authorizations

apikey
string
header
required

Provide your API key in the 'apikey' header.

Headers

x-carbon-key
string
required

Path Parameters

customerId
string
required

Response

200 - application/json

Successful response

The response is of type object.