curl --request POST \
--url https://{defaultHost}/v1/cancellation_reasons \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cancellation_reason": {
"label": "Switching to competitor"
}
}
'import requests
url = "https://{defaultHost}/v1/cancellation_reasons"
payload = { "cancellation_reason": { "label": "Switching to competitor" } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({cancellation_reason: {label: 'Switching to competitor'}})
};
fetch('https://{defaultHost}/v1/cancellation_reasons', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{defaultHost}/v1/cancellation_reasons",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'cancellation_reason' => [
'label' => 'Switching to competitor'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{defaultHost}/v1/cancellation_reasons"
payload := strings.NewReader("{\n \"cancellation_reason\": {\n \"label\": \"Switching to competitor\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{defaultHost}/v1/cancellation_reasons")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cancellation_reason\": {\n \"label\": \"Switching to competitor\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{defaultHost}/v1/cancellation_reasons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cancellation_reason\": {\n \"label\": \"Switching to competitor\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "9be0f99e-139a-4455-bc4f-10bb44545d48",
"object": "cancellation_reason",
"archived": false,
"archived_at": null,
"comment_enabled": false,
"comment_prompt": null,
"coupon_enabled": false,
"label": "Switching to competitor",
"position": 1,
"discarded_at": null,
"created_at": 1787228348,
"updated_at": 1787228348
}Create
Creates a new cancellation reason.
curl --request POST \
--url https://{defaultHost}/v1/cancellation_reasons \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cancellation_reason": {
"label": "Switching to competitor"
}
}
'import requests
url = "https://{defaultHost}/v1/cancellation_reasons"
payload = { "cancellation_reason": { "label": "Switching to competitor" } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({cancellation_reason: {label: 'Switching to competitor'}})
};
fetch('https://{defaultHost}/v1/cancellation_reasons', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{defaultHost}/v1/cancellation_reasons",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'cancellation_reason' => [
'label' => 'Switching to competitor'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{defaultHost}/v1/cancellation_reasons"
payload := strings.NewReader("{\n \"cancellation_reason\": {\n \"label\": \"Switching to competitor\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{defaultHost}/v1/cancellation_reasons")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cancellation_reason\": {\n \"label\": \"Switching to competitor\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{defaultHost}/v1/cancellation_reasons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cancellation_reason\": {\n \"label\": \"Switching to competitor\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "9be0f99e-139a-4455-bc4f-10bb44545d48",
"object": "cancellation_reason",
"archived": false,
"archived_at": null,
"comment_enabled": false,
"comment_prompt": null,
"coupon_enabled": false,
"label": "Switching to competitor",
"position": 1,
"discarded_at": null,
"created_at": 1787228348,
"updated_at": 1787228348
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Show child attributes
Show child attributes
Response
Success
The UUID of the specific object.
A string describing the object type returned.
Whether or not this cancellation reason is archived.
Whether or not this cancellation reason should prompt the user for a comment.
A breif customer-facing prompt for more detail that will be shown when this cancellation reason is selected.
Whether or not this cancellation reason should offer the subscription_protocol.cancellation_prevention_coupon to the customer to preserve the subscription.
The customer-facing label for this cancellation reason.
The ordering position of this cancellation reason when displayed to customers.
Time at which the object was archived. Measured in seconds since the Unix epoch.
Time at which the object was discarded. Measured in seconds since the Unix epoch.
Time at which the object was created. Measured in seconds since the Unix epoch.
Time at which the object was last updated. Measured in seconds since the Unix epoch.
Was this page helpful?