A valid request URL is required to generate request examples{
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reasons": [
"too_expensive"
],
"access_until": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Open the cancellation flow
Step zero of the cancellation flow: the reasons the form should offer, and the date the confirmation will promise. Requires $billing.manage — unlike the billing read, which every member gets, this is the shape of an act only an owner can perform.
The reasons come from the API rather than from a copy in your own code, so a reason added here needs no deploy of yours. access_until is the end of the paid period, or null where the gateway has never told us one — a screen that invented a date would be promising access that ends on a day nothing happens.
The save offers are deliberately not here. Which offer is worth making depends on what the person just said, and one shown before the question is asked is a discount handed to somebody leaving over a missing feature. They come back from the POST below.
subscription_id is optional and resolves as it does everywhere on this surface: omitted when the team holds one subscription, required when it holds several.
A valid request URL is required to generate request examples{
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reasons": [
"too_expensive"
],
"access_until": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Authorizations
A contact session token, uk_ct_…. Belongs to one of the developer's own users, and reads only that user's data.
Headers
The customer this call is acting inside — the same arrangement as X-Organization-Id, one plane down. Switching customers is navigation, not a mutation: nothing is stored, you send a different header, and the membership JOIN behind it decides what you may do there. An id you are not a member of matches no row and answers 404. Absent, the contact's oldest membership answers.
Query Parameters
Which subscription, when the team holds several.