Skip to main content
POST
Accept a retention offer
Click the base URL in the API playground and select the Sandbox host for test data or the Production host for live data. Use credentials from the same environment.

Authorizations

Authorization
string
header
required

The Server API Key obtained from the kelviq application. Pass as a Bearer token in the Authorization header. Example: 'Authorization: Bearer YOUR_API_KEY'

Path Parameters

subscriptionId
string<uuid>
required

The unique identifier of the subscription.

Body

application/json
offerType
enum<string>
required

The offer to apply. Must be the offer configured for cancellationFeedback.

Available options:
DISCOUNT,
PAUSE,
SUPPORT
Example:

"PAUSE"

cancellationFeedback
enum<string>
required

The cancellation reason the customer picked.

Available options:
TOO_EXPENSIVE,
MISSING_FEATURES,
SWITCHED_SERVICE,
UNUSED,
CUSTOMER_SERVICE,
LOW_QUALITY,
TOO_COMPLEX,
OTHER
Example:

"UNUSED"

pauseMonths
integer | null

Required when offerType is PAUSE. Must be one of the durations returned by Get retention offers.

Required range: x >= 1
Example:

3

Response

The offer was applied. The fields after cancellationFeedback depend on offerType.

message
string
Example:

"Subscription paused successfully"

subscriptionId
string<uuid>
offerType
enum<string>
Available options:
DISCOUNT,
PAUSE,
SUPPORT
cancellationFeedback
enum<string>
Available options:
TOO_EXPENSIVE,
MISSING_FEATURES,
SWITCHED_SERVICE,
UNUSED,
CUSTOMER_SERVICE,
LOW_QUALITY,
TOO_COMPLEX,
OTHER
percentageOff
integer

DISCOUNT only.

Example:

20

billingCycles
integer

DISCOUNT only.

Example:

3

appliesUntil
string<date-time> | null

DISCOUNT only. When the discount stops applying, or null when it applies to a single invoice.

originalAmount
string

DISCOUNT only. The amount billed per period before the discount.

Example:

"50.00"

discountedAmount
string

DISCOUNT only. The amount billed per period while the discount lasts.

Example:

"40.00"

pauseMonths
integer

PAUSE only.

Example:

3

resumesAt
string<date-time>

PAUSE only. When billing and access resume.

url
string

SUPPORT only. The support URL to send the customer to.

Example:

"https://cal.com/acme/15min"