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..." }
}
}
Verifications
Verify CAC documents
Submit CAC certificate, status report, and MEMART for asynchronous verification.
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
Verification is rate limited to 10 attempts per hour per caller.
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
string
required
The company the documents belong to.
file
required
CAC certificate. PDF, JPEG, or PNG, up to 25 MB.
file
CAC status report. Optional, same formats and limit.
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 withsuccess: false and a message.
| Status | Body | When |
|---|---|---|
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. |
To submit a single document type instead of a batch, use Verify one CAC document.
