curl -X POST https://api.vouchmark.com/v1/verifyBill \
-H "Authorization: Bearer $TOKEN" \
-F "companyId=cmp_aBcD..." \
-F "bill=@./utility-bill.jpg"
{
"success": true,
"message": "Utility bill verified successfully"
}
Verifications
Verify utility bill
Upload a utility bill and verify the printed address against the company on file.
POST
/
v1
/
verifyBill
curl -X POST https://api.vouchmark.com/v1/verifyBill \
-H "Authorization: Bearer $TOKEN" \
-F "companyId=cmp_aBcD..." \
-F "bill=@./utility-bill.jpg"
{
"success": true,
"message": "Utility bill verified successfully"
}
Upload a utility bill image. The bill is read by the verification model and its address is checked against the company’s address on file. On a pass, the company’s
When the bill cannot be matched the response is
Verification is rate limited to 10 attempts per hour per caller.
utility_bill and address_verified flags are set. The request is multipart/form-data and the company must already have an address.
Form fields
string
required
The company the bill belongs to.
file
required
The utility bill. PDF, JPEG, or PNG, up to 10 MB.
curl -X POST https://api.vouchmark.com/v1/verifyBill \
-H "Authorization: Bearer $TOKEN" \
-F "companyId=cmp_aBcD..." \
-F "bill=@./utility-bill.jpg"
Response
A pass returns a short success message. The TIN/address details are written to the company record, not echoed back.{
"success": true,
"message": "Utility bill verified successfully"
}
400 with a reason and suggestions.
Failed
{
"success": false,
"error": "Bill verification failed",
"reason": "The address on the bill does not match the company address",
"suggestions": [
"Make sure the bill is authentic and recent (within 6 months)",
"Check that the address on the bill matches your company address",
"Ensure the image is clear and shows all details"
]
}
Errors
| Status | Body | When |
|---|---|---|
400 | { "success": false, "error": "Please upload a utility bill image" } | No file was sent. |
400 | { "success": false, "error": "Company information is required" } | companyId was omitted. |
400 | { "success": false, "error": "Company address not found", "reason": "...", "suggestions": [...] } | The company has no address on file to compare against. |
401 | { "success": false, "error": "Unauthorized" } | No authenticated user. |
404 | { "success": false, "error": "Company not found. Please check your company details" } | No company matches companyId. |
500 | { "success": false, "error": "...", "reason": "...", "suggestions": [...] } | Processing failed. |
