Connectivity Lifecycle

Cancel subscription

Canceling a subscription is an order-driven lifecycle action.

The subscription is canceled through a cancellation order, and the exact outcome depends on the selected schedule:

  • Immediate -> cancel now
  • End of cycle -> cancel at the billing boundary
  • Specific date -> cancel at the requested timestamp

In all cases, Connect emits lifecycle events so your platform can keep the customer state synchronized.

Best for: Use this flow when you need to terminate a subscription and want control over when cancellation becomes effective.

What you will do


Termination flow

Cancel subscription, step by step

Follow the lifecycle used to cancel a subscription immediately, at the end of the billing cycle, or at a specific date.

01
Identify active subscription
Subscription lookup / customer action
Result
Target subscription identified

Identify the active subscription that must be canceled and confirm the intended cancellation timing with the customer.

↓
02A
Immediate cancellation
POST /orders
Result
201 Order Created

Create a cancel_subscription order type with schedule mode immediate when the subscription must be terminated right away.

Events
subscription.canceledproduct.canceledphone_number.pending_terminationorder.completed
↓
02B
End-of-cycle cancellation
POST /orders
Result
201 Order Created

Create a cancel_subscription order type with schedule mode end_of_cycle when the subscription should remain active until the billing cycle boundary.

Events
order.scheduled
↓
02C
Specific-date cancellation
POST /orders
Result
201 Order Created

Create a cancel_subscription order type with schedule mode specific_date and provide effective_at when the subscription should end at an exact date and time.

Events
order.scheduled
↓
03
Cancellation completed
Lifecycle events / product state
Result
Subscription canceled

Once the scheduled time is reached, Connect completes the cancelation and your systems should reflect the canceled subscription and product state.

Events
subscription.canceledproduct.canceledphone_number.pending_terminationorder.completed