Record an enrollment funnel event#
Record an enrollment funnel event.
Use this for steps Light's APIs do not already capture, such as when plans are presented to a customer or when they decline to continue enrollment. Call from your backend using your app token. Do not expose your app token in a browser. No account token is required because these events usually happen before an account is created in Light. Server-side API actions (for example plan requests) are recorded automatically by Light.
Supported events (event field):
| Value | When to call |
|---|---|
plans_viewed | Plans are presented to the customer, not when fetching or caching plan data |
enrollment_opt_out | Customer declines to continue; fetch survey options from GET /accounts/enroll/opt-out/reasons |
Errors:
400: Request validation failed (for example unknownaccount_uuid,occurred_atin the future, invalid field types, or unknowneventvalue)
Request
Body (event = plans_viewed)
{"email":"customer@example.com"}"a14b20c3-809a-483f-98dc-3d35911eec42""2026-03-15T14:30:00Z"plans/request response.["db94f2a7-84ab-4081-9896-4de2bdde984e"]esi_id and service_address if you have them. Any additional keys are allowed, up to 50 keys.{"esi_id":"55512345671234567","service_address":"123 Main St, Dallas, TX 75201"}"plans_viewed"Body (event = enrollment_opt_out)
{"email":"customer@example.com"}"a14b20c3-809a-483f-98dc-3d35911eec42""2026-03-15T14:30:00Z"plans/request response.["db94f2a7-84ab-4081-9896-4de2bdde984e"]esi_id and service_address if you have them. Any additional keys are allowed, up to 50 keys.{"esi_id":"55512345671234567","service_address":"123 Main St, Dallas, TX 75201"}"enrollment_opt_out"GET /accounts/enroll/opt-out/reasons, other, or a partner-defined code."found_cheaper_rate""I don't want to switch right now"enrollment_switch, enrollment_move_in, or renewal."enrollment_switch"follow_up_placeholder on the selected reason."Acme Energy 12-month plan"