Renewal
Intro
Once a customer is approaching the end of their contract, they will be sent reminder emails to accept a renewal contract. They will be switched to a month-to-month plan if a renewal plan is not accepted by the original contract expiration date.
By default, you can rely on the no-code flow for renewals to handle the experience and regulatory needs. We send renewal emails once a customer is eligible for renewal (90 days out from expiration), with links to hosted no-code flows. These flows provide a branded experience where customers can see a renewal rate and accept it to start once their current term ends.
The default renewal terms use the same pricing model as is used for new customers. You can work with our team to adjust default overrides like extending term length or changing pricing on renewal if desired.
Most partners start with our default renewal behavior at launch. Once you have a good handle on your new customer flows, you may consider building a custom renewal flow if you need specific control over the renewal experience or want to integrate it directly into your app.
Prebuilt UI
No-code flow
The default renewal experience uses our no-code flow hosted by Light. When a customer is eligible for renewal, they receive an email with a link to a branded flow where they can:
- Review their renewal rate and plan details
- See when their current contract ends
- Accept the renewal to start service on the next day after expiration
This happens automatically without any implementation required from your side.
Custom embedded flow
If you want to host the renewal flow in your own app, we offer a prebuilt UI embedded flow using the same renewal interface. This lets you keep customers within your domain and app experience but without having to build the entire flow from scratch.
To use this option:
- Implement the prebuilt UI with the
renewal
scope in your app - Let us know where you've set up the flow
- We'll update our renewal emails to link to your app instead of the default hosted flow
API
If you want to customize your renewal process beyond the prebuilt flows, you can use our API directly. The prebuilt flows are built on top of our public API, so you can achieve the same behavior with a native implementation.
The API requires you retrieve a user's AccountToken
for the renewal experience. Refer to the authentication docs for more details.
Request renewal plans
To show customers their available renewal plans, use the POST /v1/account/locations/{location_uuid}/renewal-plans/request
API. This returns the renewal plans available for an active service location.
The response includes plan details like rates, term length, and start dates. For typical renewals, the earliest_start_date
and latest_start_date
will be the same date (the day after the current contract ends).
Accept renewal plan
Once a customer selects a renewal plan, use the POST /v1/account/locations/{location_uuid}/renewal-plans/accept
API to finalize their selection.
You'll need to pass:
plan_uuid
: The unique identifier for the selected renewal planservice_start_date
: The start date (typically theearliest_start_date
from the request)terms_accepted
: Must betrue
to confirm the customer accepted the terms
Customizing renewal rates
If you want to offer different rates or plans to customers on renewal, you can use the general enrollment plans API instead. Call POST /v1/app/accounts/enroll/plans/request
to request a custom plan, then accept the renewal using the renewal accept API with the service_start_date
set to the day after their current contract ends.
This approach gives you full control over what plans and rates you offer at renewal time.
Related webhooks
Webhooks allow your application to receive real-time notifications about events that occur within the Light platform. This enables you to build responsive and up-to-date integrations without the need for constant polling. Learn more
location.renewal_plan_requested
Triggered when a customer requests renewal plans for their location.
location.renewal_plan_accepted
Triggered when a customer accepts a renewal plan for their location.