Events
Klarefi event names and webhook delivery guidance for intake integrations
Event model
Events are versioned integration signals. Use them to wake up your system, then read the canonical session or case state when you need current data.
Common events
v1.intake.session_createdv1.intake.session_expiredv1.intake.handoff_readyv1.intake.submittedv1.case.processingv1.case.applicant_blockedv1.case.needs_reviewv1.case.completedv1.case.failedv1.review.completedv1.document.processedv1.document.failedv1.intake.gap_resolved- emitted when a missing information request is resolvedv1.fact.evidence_updatedv1.webhook.delivery_failedv1.decision.offer_sent- a person sent the offer on a case whose workflow ends with a decisionv1.decision.accepted- the applicant accepted the offer, or a person recorded that they did for an offer signed outside Klarefiv1.decision.approved- a person sent a yes that expects no answer, so the decision was final when it was sentv1.decision.declined- a person declined the applicationv1.decision.withdrawn- an offer was taken back, or a decided case was reopened, and the case is in review againv1.decision.not_taken- the applicant said no to the offer, its last day passed without an answer, or a person recorded that it was not taken
fact.review_completed maps to catalog event v1.review.completed for
historical compatibility. Webhook payloads still carry the fact event stem in
semantic_event_type.
v1.webhook.test is reserved for the webhook test endpoint and is not a
subscription event.
Decision events
A workflow can end with a decision: an offer or a decline. The v1.decision.*
events follow that decision. Their payload_summary carries decision_status,
and where the workflow names a value and the offer has an end date,
decision_value and valid_until, an ISO date. The reason a person recorded for
a decline stays on the case and is never part of an event.
Sending an offer or a decline also completes the case, so v1.case.completed
is delivered as well. Use the decision event to know which way it was decided.
Delivery guidance
Subscription deliveries are sent for live-environment events only. Use the webhook test endpoint to exercise a receiver from a test environment.
Process duplicate deliveries idempotently using delivery_id. Use trace_id
to correlate webhook delivery logs with your own receiver logs.