Provide alternative offers when a customer expresses a desire to cancel a service, such as web hosting, to retain them. This may include adjusted billing periods or other benefits based on the customer's reason for cancellation.
path.accountId accountId integer · min: 1 required
Example: 20000 Unique account identifier
reason string · enum required
· Example: Too expensive Moving to different provider Too expensive Accept Example Content-Type Example data object required data.accountDetails object required data.accountDetails.billingCycle string required
· Example: Annually data.accountDetails.billingCycleKey string required
· Example: a data.accountDetails.domain string required
· Example: example.com data.accountDetails.productName string required
· Example: Start (cpanel) data.accountDetails.total integer required
· Example: 708 data.offers array<object> required
· Example: [{"type":"klarna","title":"Pay in installments","titleSv":"Delbetala fakturan","descrip... data.offers[].data object required data.offers[].data.availableCycles array<object>
· Example: [{"id":"m","name":"Monthly","price":79,"isCurrent":false,"monthlyEquivalent":79},{"id":... data.offers[].data.availableCycles[].id string required
· Example: m data.offers[].data.availableCycles[].isCurrent boolean required
· Example: false data.offers[].data.availableCycles[].monthlyEquivalent integer required
· Example: 79 data.offers[].data.availableCycles[].name string required
· Example: Monthly data.offers[].data.availableCycles[].price integer required
· Example: 79 data.offers[].data.currentCycle string
· Example: a data.offers[].data.currentCycleName string
· Example: Annually data.offers[].data.currentCycleNameSv string
· Example: Årsvis data.offers[].data.currentPrice integer
· Example: 708 data.offers[].data.features array<object>
· Example: [{"icon":"shield","title":"A hacked site sells nothing","titleSv":"En hackad sajt sälje... data.offers[].data.features[].description string required
· Example: We run Ryzen, NVMe and LiteSpeed for maximum speed. But while others stop there, we als... data.offers[].data.features[].descriptionSv string required
· Example: Självklart kör vi Ryzen, NVMe och LiteSpeed för maximal hastighet. Men medan andra stan... data.offers[].data.features[].icon string · enum required
· Example: shield shield target zap data.offers[].data.features[].title string required
· Example: A hacked site sells nothing data.offers[].data.features[].titleSv string required
· Example: En hackad sajt säljer inget data.offers[].data.installmentAmount integer
· Example: 177 data.offers[].data.installments integer
· Example: 4 data.offers[].data.pendingInvoiceId string
· Example: 48489 data.offers[].data.totalAmount integer
· Example: 708 data.offers[].description string required
· Example: Split your 708 kr invoice into 4 interest-free payments data.offers[].descriptionSv string required
· Example: Dela upp fakturan på 708 kr i 4 räntefria delbetalningar data.offers[].title string required
· Example: Pay in installments data.offers[].titleSv string required
· Example: Delbetala fakturan data.offers[].type string · enum required
· Example: klarna billing_switch klarna value_props data.originalReason string · enum required
· Example: Too expensive Moving to different provider Too expensive data.reason string · enum required
· Example: too_expensive different_provider too_expensive requestId string required
· Example: 2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba Unique request identifier (UUID).
success boolean required
· Example: true True for successful responses.
timestamp string required
· Example: 2026-02-10T00:00:00.000Z ISO 8601 timestamp (UTC).
https://cloud.hostup.se/api/hosting/{accountId}/save-offers curl -X GET "https://cloud.hostup.se/api/hosting/20000/save-offers?reason=Too%20expensive" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" {
"success": true,
"timestamp": "2026-02-10T00:00:00.000Z",
"requestId": "2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba",
"data": {
"reason": "too_expensive",
"originalReason": "Too expensive",
"offers": [
{
"type": "klarna",
"title": "Pay in installments",
"titleSv": "Delbetala fakturan",
"description": "Split your 708 kr invoice into 4 interest-free payments",
"descriptionSv": "Dela upp fakturan på 708 kr i 4 räntefria delbetalningar",
"data": {
"totalAmount": 708,
"installmentAmount": 177,
"installments": 4,
"pendingInvoiceId": "48489"
}
}
],
"accountDetails": {
"domain": "example.com",
"productName": "Start (cpanel)",
"billingCycle": "Annually",
"billingCycleKey": "a",
"total": 708
}
}
}