Skip to main content
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 utility_bill and address_verified flags are set. The request is multipart/form-data and the company must already have an address.

Form fields

companyId
string
required
The company the bill belongs to.
bill
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"
}
When the bill cannot be matched the response is 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

StatusBodyWhen
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.
Verification is rate limited to 10 attempts per hour per caller.