Webhooks
Receive real-time notifications when events happen in your Vitable integration.
Webhooks let your application receive real-time HTTP notifications when events occur in Vitable — such as an enrollment being accepted, an employee being created, or a payroll deduction being generated.
Instead of polling the API for changes, register a webhook endpoint and Vitable will POST event data to your URL as things happen.
How It Works
- You register a webhook endpoint URL with Vitable
- When an event occurs, Vitable sends a
POSTrequest to your endpoint - Your server processes the event and responds with a
2xxstatus code - If delivery fails, Vitable retries with exponential backoff
New to Vitable? Start with the Employer Onboarding guide to understand the full integration flow and when each webhook fires.
Payload Format
All webhook events use a standardized payload schema:
event_id string
Prefixed identifier for this event (e.g., wevt_...). Use this for idempotency — your system may receive the same event more than once.
organization_id string
The organization this event belongs to. Use this to route events when managing multiple employers.
event_name string
The event type, formatted as {resource}.{action} (e.g., enrollment.accepted).
resource_type string
The type of resource affected (e.g., enrollment, employee).
resource_id string
The prefixed ID of the affected resource. Use this to fetch the current state from the API.
created_at ISO 8601 (UTC)
When the event occurred. All timestamps are in UTC.
The payload intentionally does not include a snapshot of the resource data. After receiving an event, call the corresponding API endpoint with the resource_id to get the current state. This ensures you always work with fresh data.

