Skip to main content
POST
/
v1
/
verifyCacAndReport
curl -X POST https://api.vouchmark.com/v1/verifyCacAndReport \
  -H "Authorization: Bearer $TOKEN" \
  -F "companyId=cmp_aBcD..." \
  -F "cacert=@./cacert.pdf" \
  -F "cacReport=@./cac-report.pdf" \
  -F "memartDocument=@./memart.pdf"
{
  "success": true,
  "message": "CAC documents submitted for verification. You will receive an email notification once verification is complete, or check back later for status.",
  "data": {
    "verified": false,
    "status": "pending",
    "details": { "companyId": "cmp_aBcD..." }
  }
}
Submit CAC documents for verification. This endpoint is asynchronous: it queues the documents and returns immediately with a pending status. Verification runs in the background and the result is emailed to the owner; you can also poll Get CAC verification status for the per-document outcome. Send the request as multipart/form-data. Supply at least the certificate or the status report. RC companies (any classification other than BUSINESS_NAME) also need the MEMART to complete the bucket.

Form fields

companyId
string
required
The company the documents belong to.
cacert
file
required
CAC certificate. PDF, JPEG, or PNG, up to 25 MB.
cacReport
file
CAC status report. Optional, same formats and limit.
memartDocument
file
MEMART document. Optional, but required to clear the full CAC bucket for RC companies.
curl -X POST https://api.vouchmark.com/v1/verifyCacAndReport \
  -H "Authorization: Bearer $TOKEN" \
  -F "companyId=cmp_aBcD..." \
  -F "cacert=@./cacert.pdf" \
  -F "cacReport=@./cac-report.pdf" \
  -F "memartDocument=@./memart.pdf"

Response

The response uses the standard envelope { success, message, data }. Because verification is asynchronous, data is the uniform verification object with verified: false and status: "pending"; the submitted companyId is echoed in data.details.
{
  "success": true,
  "message": "CAC documents submitted for verification. You will receive an email notification once verification is complete, or check back later for status.",
  "data": {
    "verified": false,
    "status": "pending",
    "details": { "companyId": "cmp_aBcD..." }
  }
}

Errors

Errors use the same envelope with success: false and a message.
StatusBodyWhen
400{ "success": false, "message": "At least one file is required." }Neither cacert nor cacReport was supplied.
400{ "success": false, "message": "Memart document is required for RC companies." }An RC company submitted with no files.
404{ "success": false, "message": "Company not found" }No company matches companyId.
500{ "success": false, "message": "..." }Unexpected processing error.
Verification is rate limited to 10 attempts per hour per caller.
To submit a single document type instead of a batch, use Verify one CAC document.