curl -X POST https://api.vouchmark.com/v1/compliance/obligations \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"companyId": "cmp_aBcD...",
"category": "vat",
"title": "VAT filing",
"description": "Monthly VAT return filed with FIRS by the 21st.",
"frequency": "monthly",
"nextDueDate": "2026-07-21",
"notifyLeadDays": [30, 7, 1]
}'
{
"success": true,
"data": {
"id": "obl_aBcD...",
"companyId": "cmp_aBcD...",
"category": "vat",
"title": "VAT filing",
"description": "Monthly VAT return filed with FIRS by the 21st.",
"frequency": "monthly",
"nextDueDate": "2026-07-21",
"lastCompletedAt": null,
"isSeeded": false,
"isActive": true,
"notifyLeadDays": [30, 7, 1],
"daysUntilDue": 24,
"createdAt": "2026-06-01T09:00:00Z",
"updatedAt": "2026-06-01T09:00:00Z"
}
}
Compliance
Create obligation
Add a custom compliance obligation to track.
POST
/
v1
/
compliance
/
obligations
curl -X POST https://api.vouchmark.com/v1/compliance/obligations \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"companyId": "cmp_aBcD...",
"category": "vat",
"title": "VAT filing",
"description": "Monthly VAT return filed with FIRS by the 21st.",
"frequency": "monthly",
"nextDueDate": "2026-07-21",
"notifyLeadDays": [30, 7, 1]
}'
{
"success": true,
"data": {
"id": "obl_aBcD...",
"companyId": "cmp_aBcD...",
"category": "vat",
"title": "VAT filing",
"description": "Monthly VAT return filed with FIRS by the 21st.",
"frequency": "monthly",
"nextDueDate": "2026-07-21",
"lastCompletedAt": null,
"isSeeded": false,
"isActive": true,
"notifyLeadDays": [30, 7, 1],
"daysUntilDue": 24,
"createdAt": "2026-06-01T09:00:00Z",
"updatedAt": "2026-06-01T09:00:00Z"
}
}
Creates a new compliance obligation. Use this to track regulatory deadlines not covered by the auto-seeded defaults.
Returns
Body
string
required
The company this obligation belongs to.
string
required
One of
cac_annual_return, vat, cit, paye, pension, itf, custom.string
required
Obligation name, 1–160 characters.
string
Optional detail, up to 1000 characters.
string
required
One of
monthly, annual, one_off, custom.string
required
Next due date as a
YYYY-MM-DD date string.integer[]
Reminder lead times in days before the due date. Each value
0–365, up to 8 entries.curl -X POST https://api.vouchmark.com/v1/compliance/obligations \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"companyId": "cmp_aBcD...",
"category": "vat",
"title": "VAT filing",
"description": "Monthly VAT return filed with FIRS by the 21st.",
"frequency": "monthly",
"nextDueDate": "2026-07-21",
"notifyLeadDays": [30, 7, 1]
}'
{
"success": true,
"data": {
"id": "obl_aBcD...",
"companyId": "cmp_aBcD...",
"category": "vat",
"title": "VAT filing",
"description": "Monthly VAT return filed with FIRS by the 21st.",
"frequency": "monthly",
"nextDueDate": "2026-07-21",
"lastCompletedAt": null,
"isSeeded": false,
"isActive": true,
"notifyLeadDays": [30, 7, 1],
"daysUntilDue": 24,
"createdAt": "2026-06-01T09:00:00Z",
"updatedAt": "2026-06-01T09:00:00Z"
}
}
201 Created with the new obligation object.