Cancel a subscription
Cancel a subscription
Overview
Requires a read-write API key. For recurring subscriptions, typically stop_renewals is the preferred option (stop renewals and keep remaining issues active). Use cancel to stop renewals and cancel unsent issues. For non-recurring subscriptions, only cancel (cancel unsent issues) is supported, as there are no renewals to stop.
Request parameters
idstringRequiredpath
Resource ID (alphanumeric).
Request body
modestop_renewals | cancelRequiredstop_renewals: recurring only — stop renewals and keep remaining issues active. cancel: cancel the subscription and cancel unsent issues (only option for non-recurring).
Example
{
"mode": "<stop_renewals | cancel>"
}Request examples
curl -X POST https://api.subsail.com/v1/subscriptions/{id}/cancel/ \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "<stop_renewals | cancel>"
}'const response = await fetch('https://api.subsail.com/v1/subscriptions/{id}/cancel/', {
method: 'POST',
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
"mode": "<stop_renewals | cancel>"
}),
});
const data = await response.json();Responses
idstringSubscription ID.
statusSubscriptionStatusvalues
- Active
- Active - Renewals stopped
- Complete
- Cancelled
- Past due
mediumPrint | Digital | Print + digitalfirst_namestringlast_namestringshipping_addressShippingAddressObject (ShippingAddress):
companystringaddress1stringaddress2stringcitystringstatestringpostcodestringcountrystringcountry_namestringphonestringlengthnumberHow many issues have been purchased during the subscription.
notesstringOptional internalnotes about the subscription.
is_recurringbooleanis_compbooleanTrue if the subscription is a complimentary subscription (no purchase made).
is_giftbooleangifterGifterRefDetails of the person who gifted the subscription (when is_gift is true).
Object (GifterRef):
full_namestringemailstringpromo_codestringdiscount_amountstringrefundedstringcurrencystringpricestringorder_datedatestart_issueIssueRefObject (IssueRef):
idstringnumbernumbernamestringissue_listnumber[]Issue numbers included in this subscription.
periodsSubscriptionPeriod[]Array (SubscriptionPeriod):
idnumberorder_datedateis_completebooleanlengthnumberHow many issues this period contains.
issue_listnumber[]Issue numbers included in this period.
subscriberSubscriberRefObject (SubscriberRef):
idstringfull_namestringemailstringsourceSourceRefObject (SourceRef):
idstringnamestringExample
{
"id": "<string>",
"status": "Active",
"medium": "<Print | Digital | Print + digital>",
"first_name": "<string>",
"last_name": "<string>",
"shipping_address": {
"company": "<string>",
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postcode": "<string>",
"country": "<string>",
"country_name": "<string>",
"phone": "<string>"
},
"length": "<number>",
"notes": "<string>",
"is_recurring": "<boolean>",
"is_comp": "<boolean>",
"is_gift": "<boolean>",
"gifter": {
"full_name": "<string>",
"email": "<string>"
},
"promo_code": "<string>",
"discount_amount": "<string>",
"refunded": "<string>",
"currency": "<string>",
"price": "<string>",
"order_date": "<date>",
"start_issue": {
"id": "<string>",
"number": "<number>",
"name": "<string>"
},
"issue_list": [
"<number>"
],
"periods": [
{
"id": "<number>",
"order_date": "<date>",
"is_complete": "<boolean>",
"length": "<number>",
"issue_list": [
"<number>"
]
}
],
"subscriber": {
"id": "<string>",
"full_name": "<string>",
"email": "<string>"
},
"source": {
"id": "<string>",
"name": "<string>"
}
}errorbooleanRequiredmessagestringRequiredcodestringMachine-readable code, e.g. read_only_key for read-only key write attempts.
Example
{
"error": "<boolean>",
"message": "<string>",
"code": "<string>"
}errorbooleanRequiredmessagestringRequiredcodestringMachine-readable code, e.g. read_only_key for read-only key write attempts.
Example
{
"error": true,
"message": "This API key is read-only. Create a read-write key in Subsail settings to perform write operations.",
"code": "read_only_key"
}errorbooleanRequiredmessagestringRequiredcodestringMachine-readable code, e.g. read_only_key for read-only key write attempts.
Example
{
"error": "<boolean>",
"message": "<string>",
"code": "<string>"
}