Skip to main content
PATCH
/
v1
/
subscriptions
/
{id}
/
preserve
Preserve
curl --request PATCH \
  --url https://{defaultHost}/v1/subscriptions/{id}/preserve \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://{defaultHost}/v1/subscriptions/{id}/preserve"

headers = {"Authorization": "Bearer <token>"}

response = requests.patch(url, headers=headers)

print(response.text)
const options = {method: 'PATCH', headers: {Authorization: 'Bearer <token>'}};

fetch('https://{defaultHost}/v1/subscriptions/{id}/preserve', 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/subscriptions/{id}/preserve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://{defaultHost}/v1/subscriptions/{id}/preserve"

req, _ := http.NewRequest("PATCH", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.patch("https://{defaultHost}/v1/subscriptions/{id}/preserve")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{defaultHost}/v1/subscriptions/{id}/preserve")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "bfae4ba5-cb18-40ff-9192-2e1ec29b37ad",
  "object": "subscription",
  "ad_hoc_amount": null,
  "affiliation_expires_at": null,
  "cancel_at_period_end": false,
  "currency": "usd",
  "current_period_end_at": 1785077910,
  "current_period_start_at": 1782485910,
  "ended_at": null,
  "finite": false,
  "last_renewal_reminder_sent_at": null,
  "live_mode": true,
  "manual_payment": false,
  "metadata": {},
  "pending_update": {},
  "price_readonly": false,
  "portal_url": "http://app.example.com/portal_redirect/subscriptions/bfae4ba5-cb18-40ff-9192-2e1ec29b37ad",
  "quantity": 1,
  "remaining_period_count": null,
  "restart_on_completed": false,
  "restore_at": null,
  "subtotal_amount": 2900,
  "status": "active",
  "tax_enabled": false,
  "trial_end_at": null,
  "trial_start_at": null,
  "variant_options": null,
  "affiliation": null,
  "current_cancellation_act": "f357bf9b-5e70-46c0-a060-b19efd0ad08b",
  "current_period": "91cfb39f-b19f-4d6a-9aa5-bd8b3136baa5",
  "customer": "e1bb88f1-6ce9-4e07-ac9a-6d1538c19712",
  "discount": null,
  "manual_payment_method": null,
  "payment_method": "b92c5a3f-04f4-4665-9600-46113e779e98",
  "price": "d5dbafa1-927c-4195-a71d-4549c63db3d7",
  "purchase": "6007412f-f185-439c-a0d3-035aa9fa3eb1",
  "shipping_method": null,
  "variant": null,
  "created_at": 1782485910,
  "updated_at": 1782485910
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Query Parameters

cancellation_act[cancellation_reason_id]
string

The cancellation reason that should be set on the cancellation act when the subscription is canceled or preserved.

cancellation_act[comment]
string

The comment that should be set on the cancellation act when the subscription is canceled or preserved.

Response

200 - application/json

Success

id
string | null

The UUID of the specific object.

object
string

A string describing the object type returned.

ad_hoc_amount
integer | null

The amount to use for this subscription when the associated price is ad_hoc=true.

affiliation_expires_at
integer | null

Time at which the affiliation will expire.

cancel_at_period_end
boolean

If the subscription is set to cancel at the end of the current period. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.

live_mode
boolean

Set to true if this subscription is in live mode, and set to false if it is in test mode.

manual_payment
boolean

Whether or not this subscription should finalize checkouts during renewal with the manual_payment=true option.

quantity
integer

The quantity of products being purchased.

restore_at
integer | null

The time at which this subscription will automatically be restored. This can only be set if the subscription is canceled or set to cancel at period end.

restart_on_completed
boolean

Whether installment subscriptions should be automatically restarted when they reach the completed state. When the subscription is created, this value will be inherited from the price restart_subscription_on_completed value.

tax_enabled
boolean

Whether or not tax is enabled for this subscription. This will default to the account's tax_protocol.tax_enabled value when the subscription is created.

trial_end_at
integer | null

If the subscription has a trial, the end of that trial.

metadata
object

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

current_period_end_at
integer | null

End of the current period that the subscription is in. At the end of this period, a new period will be created. This will be null when the subscription has a one-time price.

current_period_start_at
integer | null

Start of the current period that the subscription is in.

ended_at
integer | null

If the subscription has ended, the date the subscription ended.

finite
boolean

Whether or not this subscription belongs to a price with a set recurring_period_count, meaning it has a defined end.

last_renewal_reminder_sent_at
integer | null

Time at which the last renewal reminder notification sent. Measured in seconds since the Unix epoch.

pending_update
object
portal_url
string | null

A URL that will redirect to this subscription's correct portal page (hosted or external).

price_readonly
boolean

Whether or not the price of this subscription can be modified. If true, the price is locked and cannot be changed

remaining_period_count
integer | null

The number of periods remaining before this subscription ends. This count is reduced when a period is paid.

subtotal_amount
integer

Total of the subscription before discounts or taxes are applied.

status
string

The current status of this subscription, which can be one of incomplete, trialing, active, past_due, canceled, or completed.

affiliation
object | null

The affiliation associated with this subscription.

current_cancellation_act

Expandable – The associated cancellation act ID.

current_period

Expandable – The associated period ID.

customer

Expandable – The associated customer ID.

discount

Expandable – The associated discount ID.

manual_payment_method

Expandable – The associated manual payment method ID.

payment_method

Expandable – The associated payment method ID.

periods

Expandable – Property not returned unless expanded.

price

Expandable – The associated price ID.

purchase

Expandable – The associated purchase ID.

shipping_method

Expandable – The associated shipping method ID.

variant

Expandable – The associated variant ID.

variant_options
array | null

An array of the associated variant's options.

created_at
integer | null

Time at which the object was created. Measured in seconds since the Unix epoch.

updated_at
integer | null

Time at which the object was last updated. Measured in seconds since the Unix epoch.