Skip to main content
Bank verification confirms a company controls a real, named bank account. The owner supplies the account number and bank, Vouchmark resolves the account with the bank, and the resolved account name is matched against the company name. On a sufficient match the account is saved to the company and the score is recalculated. This flow is handled by company management, not the verification endpoints.

How it runs

1

List supported banks

Fetch the bank list (with codes) from GET /v1/banks. Use the bank_code from this list when connecting an account.
2

Connect an account

Submit the account number, bank code, and bank name to POST /v1/connect-account/{companyId}. The account is resolved with the bank and the resolved name is compared to the company name.
3

Score updates

On a sufficient name match the account is saved to the company and the Vouchmark Score is recalculated.

List banks — GET /v1/banks

curl https://api.vouchmark.com/v1/banks \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "message": "Successfully fetched bank list",
  "data": [
    { "name": "Guaranty Trust Bank", "code": "058" }
  ]
}

Connect an account — POST /v1/connect-account/{companyId}

The body requires a 10-digit account_number, a bank_code, and a bank_name.
curl -X POST https://api.vouchmark.com/v1/connect-account/cmp_aBcD... \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "account_number": "0123456789",
    "bank_code": "058",
    "bank_name": "Guaranty Trust Bank"
  }'
Verified
{
  "message": "Successfully verified bank account for company cmp_aBcD...",
  "details": {
    "bankName": "TEKCIFY TECHNOLOGIES LTD",
    "companyName": "TEKCIFY TECHNOLOGIES LTD",
    "similarityScore": 1
  }
}
When the resolved account name doesn’t match the company closely enough, the response is 400:
Name mismatch
{
  "message": "Bank account name does not match company name",
  "suggestions": [
    "Ensure the bank account is registered under the company name",
    "Verify that the account name matches your registered company name exactly",
    "Check for any spelling differences or abbreviations",
    "Contact your bank to update the account name if needed"
  ],
  "details": {
    "bankName": "JANE DOE",
    "companyName": "TEKCIFY TECHNOLOGIES LTD",
    "similarityScore": 0.1
  }
}

Errors

StatusBodyWhen
404{ "message": "Company not found" }The company is missing or not yours.
400{ "message": "Could not resolve the bank account details provided", "suggestions": [...] }The account could not be resolved with the bank.
400{ "message": "Bank account name does not match company name", "suggestions": [...], "details": {...} }The resolved name is too dissimilar to the company name.
500{ "error": "An error occurred while verifying your bank account" }Unexpected error.