Skip to main content

Monitoring

Subscribe to an entity for periodic re-verification. VendorVal will re-run the specified checks on your chosen schedule and deliver a webhook when anything changes.

Create a monitor

curl https://api.vendorval.com/v1/monitors \
-X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entity_id": "ent_01abc...",
"checks": ["sam_registration", "tin_match"],
"frequency": "daily",
"webhook_url": "https://yourapp.com/webhooks/vendorval"
}'

Response:

{
"id": "mon_01...",
"entity_id": "ent_01abc...",
"checks": ["sam_registration", "tin_match"],
"frequency": "daily",
"webhook_url": "https://yourapp.com/webhooks/vendorval",
"status": "active",
"created_at": "2026-04-19T12:00:00Z"
}

Frequencies

ValueSchedule
dailyOnce per day
weeklyOnce per week
monthlyOnce per month

Webhook payload

When a monitored check changes, VendorVal sends a POST to your webhook_url:

{
"event": "monitor.change_detected",
"monitor_id": "mon_01...",
"entity_id": "ent_01abc...",
"changes": [
{
"field": "sam_registration.registration_status",
"previous": "active",
"current": "expired",
"detected_at": "2026-04-20T06:00:00Z"
}
],
"verification_id": "ver_02...",
"delivered_at": "2026-04-20T06:01:33Z"
}

Webhooks are delivered with idempotency — if delivery fails, VendorVal will retry with exponential backoff.

List monitors

GET /v1/monitors

Get monitor events

GET /v1/monitors/{monitor_id}/events

Returns the history of detected changes for this monitor.

Delete a monitor

DELETE /v1/monitors/{monitor_id}