Skip to main content
POST
Cancel the subscription at the end of the current period.

Authorizations

klef.session
string
cookie
required

Cookie-based session. Obtain by completing the /auth/login/{provider} OAuth flow; the /auth/callback response sets the klef.session cookie that subsequent requests send automatically.

Body

application/json

The cancellation survey. Reason is required — it is the whole point of asking — and Other is always available so answering can never block someone from leaving.

reason
enum<string>
required

Why a customer cancelled. The names are Stripe's cancellation_details.feedback vocabulary so the answer reaches Stripe's own churn reporting unchanged, rather than as a private synonym only Klef can read.

Available options:
too_expensive,
unused,
missing_features,
too_complex,
low_quality,
customer_service,
switched_service,
other
comment
null | string
Maximum string length: 1000

Response

OK

The envelope for a single-resource response: T? ApiResponse<T>.Result on success, otherwise null with one or more IReadOnlyList<ApiError> ApiResponse<T>.Errors.

result
null | object
required

The full billing detail for the settings page (read live from Stripe).

errors
object[]
required