Update a subscription
Update a subscription.
Setting status to cancelled cancels the subscription as the cancel
endpoint does. It stamps cancelled_at, clears dunning, removes applicable
discount attachments, adds the cancellation note and sends the
subscription_cancelled webhook. It does not send the cancellation email.
A company admin or a back-office caller (a droplet or machine token)
records cancellation_reason_code merchant_initiated, as on the cancel
endpoint. Any other caller records unknown.
Setting status to any other value on a cancelled subscription
reactivates it as the reactivate endpoint does, then applies the
requested status. It clears cancelled_at and the cancellation reason,
clears dunning, restores the discount attachments the cancellation
removed, adds the reactivation note and sends the
subscription_reactivated webhook. It does not send the resumed email.
A plan that is inactive or a variant that is no longer available returns
422.
curl --request PUT \
--url https://api.fluid.app/api/subscriptions/{token} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subscription": {
"quantity": 2,
"address_id": 73518,
"payment_method_id": 90412
}
}
'import requests
url = "https://api.fluid.app/api/subscriptions/{token}"
payload = { "subscription": {
"quantity": 2,
"address_id": 73518,
"payment_method_id": 90412
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({subscription: {quantity: 2, address_id: 73518, payment_method_id: 90412}})
};
fetch('https://api.fluid.app/api/subscriptions/{token}', 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://api.fluid.app/api/subscriptions/{token}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'subscription' => [
'quantity' => 2,
'address_id' => 73518,
'payment_method_id' => 90412
]
]),
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://api.fluid.app/api/subscriptions/{token}"
payload := strings.NewReader("{\n \"subscription\": {\n \"quantity\": 2,\n \"address_id\": 73518,\n \"payment_method_id\": 90412\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/subscriptions/{token}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subscription\": {\n \"quantity\": 2,\n \"address_id\": 73518,\n \"payment_method_id\": 90412\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/subscriptions/{token}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"subscription\": {\n \"quantity\": 2,\n \"address_id\": 73518,\n \"payment_method_id\": 90412\n }\n}"
response = http.request(request)
puts response.read_body{
"subscription": {
"id": 184305,
"address": {
"id": 73518,
"address1": "18 Main Street",
"address2": null,
"address3": null,
"city": "Nashua",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+16035550147",
"postal_code": "03060",
"state": "NH",
"subdivision_code": null
},
"address_id": 73518,
"attempts": 0,
"auto_apply_points": false,
"baked_discounts": [],
"base_recurring_price": 54.99,
"billing_cycle_limit_reached": false,
"bundled_items": [],
"bundled_subscriptions": [],
"cancelled_at": null,
"company": {
"id": 1405,
"name": "Dunder Mifflin Paper Company"
},
"country": {
"id": 214,
"iso": "US",
"name": "United States"
},
"created_at": "2026-09-02T15:24:51Z",
"currency": {
"id": 1,
"active": true,
"code": "USD",
"name": "United States Dollar",
"rate": "1.0",
"symbol": "$"
},
"customer": {
"id": 48213,
"account_id": "DM-48213",
"active": true,
"addresses": [
{
"id": 73518,
"address1": "18 Main Street",
"address2": null,
"address3": null,
"city": "Nashua",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+16035550147",
"postal_code": "03060",
"state": "NH",
"subdivision_code": null
}
],
"created_at": "2026-09-02T15:18:44Z",
"customer_notes": [],
"default_address": {
"id": 73518,
"address1": "18 Main Street",
"address2": null,
"address3": null,
"city": "Nashua",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+16035550147",
"postal_code": "03060",
"state": "NH",
"subdivision_code": null
},
"display_total_spent": "$164.97 (USD)",
"email": "holly.flax@gmail.com",
"email_marketing": true,
"external_id": null,
"first_name": "Holly",
"full_name": "Holly Flax",
"is_discarded": false,
"is_rep": false,
"last_name": "Flax",
"last_order_id": null,
"metadata": {},
"name": "Holly Flax",
"notes": null,
"orders_count": 3,
"payment_methods": [
{
"id": 90412,
"company_id": 1405,
"created_at": "2026-09-02T15:21:08Z",
"logo_url": "https://assets.fluid.app/images/payment_icons/visa.svg",
"payment_title": "Credit Card",
"source": "card",
"updated_at": "2026-09-02T15:21:08Z",
"user_id": null
}
],
"phone": "+16035550147",
"role": "customer",
"sales_tax_id": null,
"sms_marketing": false,
"tax_exempt": false,
"total_spent": "164.97",
"user_company_id": 48213,
"verified_email": true
},
"customer_notes": [
{
"id": 5582,
"created_at": "2026-09-12T14:03:27Z",
"customer_id": 48213,
"note": "Customer asked to move deliveries to the first half of the month.",
"resource_id": 184305,
"resource_type": "Commerce::Subscription",
"user_company": {
"id": 20417,
"first_name": "Dwight",
"last_name": "Schrute",
"full_name": "Dwight Schrute",
"email": "dwight.schrute@dundermifflin.com",
"image_url": "https://cdn.fluid.app/dunder-mifflin/avatars/dwight-schrute.jpg"
},
"user_company_id": 20417
}
],
"cv": "40.0",
"cv_total": "80.0",
"decline_count": 0,
"digital": false,
"disabled": false,
"last_bill_date": "2026-09-02T15:24:51Z",
"last_failed_at": null,
"last_ship_date": null,
"max_skips": null,
"next_bill_date": "2026-10-02T14:00:00Z",
"next_retry_at": null,
"next_ship_date": "2026-10-03T14:00:00Z",
"notes": null,
"orders": [],
"original_price": 54.99,
"payment_method": {
"id": 90412,
"au_status": null,
"billing_address": null,
"created_at": "2026-09-02T15:21:08Z",
"default": true,
"details": {
"id": 90412,
"type": "CreditCard",
"card_network": "visa",
"card_brand": "Visa",
"last4_digits": "4242",
"last_four": "4242",
"exp_month": "11",
"exp_year": "2029",
"logo_url": "https://assets.fluid.app/images/payment_icons/visa.svg",
"vgs_card_id": null,
"requires_3ds": false
},
"payment_title": "Credit Card",
"payment_type": "Credit Card",
"source": "card",
"updated_at": "2026-09-02T15:21:08Z"
},
"price": 49.99,
"quantity": 2,
"qv": "40.0",
"qv_total": "80.0",
"renewal_discount_total": 0,
"skipped_count": 0,
"status": "active",
"subscription_discounts": [],
"subscription_plan": {
"id": 3127,
"active": true,
"allow_max_billing_cycles": false,
"allow_skipping": true,
"apply_to_volume": true,
"billing_frequency_in_words": "1 month",
"billing_interval": 1,
"billing_interval_unit": "month",
"company_default": true,
"created_at": "2026-09-01T13:00:00Z",
"max_billing_cycles": null,
"max_skips": 2,
"name": "Monthly Paper Delivery",
"price_adjustment_amount": 5,
"price_adjustment_type": "fixed_amount",
"products_count": 4,
"savings_display_mode": "amount",
"shipping_interval": 1,
"shipping_interval_unit": "month",
"split_volume": false,
"subscribers_count": 212,
"trial_period": null,
"trial_period_unit": null,
"updated_at": "2026-09-01T13:00:00Z",
"volume_interval": 1,
"volume_interval_unit": "month"
},
"subscription_skips": [],
"subscription_token": "sb_3f9a1c7e5b2d4086",
"successful_billing_cycles": 1,
"timezone": "America/New_York",
"updated_at": "2026-09-30T13:20:44Z",
"variant": {
"id": 61842,
"currency_code": "USD",
"display_name": null,
"image_path": null,
"image_url": null,
"options": [],
"price": "54.99",
"price_in_currency": "$54.99",
"primary_image": null,
"product": {
"id": 20931,
"canonical_url": "https://shop.dundermifflin.com/products/20lb-copy-paper",
"cv": "40.0",
"cv_in_currency": "$40.00",
"external_id": null,
"image_path": null,
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/20lb-copy-paper.jpg",
"introduction": null,
"metadata": {},
"metafields": [],
"price": "54.99",
"price_in_currency": "$54.99",
"sku": "DM-20LB",
"tax": "0.0",
"tax_in_currency": "$0.00",
"title": "Dunder Mifflin 20lb Copy Paper"
},
"sku": "DM-20LB-CASE",
"title": null
},
"volume_rep": {
"id": 20417,
"email": "dwight.schrute@dundermifflin.com",
"full_name": "Dwight Schrute",
"image_url": "https://cdn.fluid.app/dunder-mifflin/avatars/dwight-schrute.jpg",
"external_id": "DM-REP-0007"
},
"volume_rep_member_id": "3b8e2f41-9c6d-4a7e-b215-6f0d8c3a9e74"
},
"resolved_subscription_tokens": [
"sb_3f9a1c7e5b2d4086"
],
"changed_subscription_tokens": [
"sb_3f9a1c7e5b2d4086"
],
"meta": {
"request_id": "1f7c3a95-8e2d-4b60-9a14-5c3e7d2b8f61",
"timestamp": "2026-09-30T13:20:44Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "We can't calculate tax for this order right now. Please try again in a few minutes.",
"errors": {
"subscription": [
"We can't calculate tax for this order right now. Please try again in a few minutes."
]
},
"meta": {
"request_id": "2e8c5a19-6f3d-4b70-9d41-a7c3e1b5f862",
"timestamp": "2026-10-30T12:00:00Z",
"code": "tax_quote_unavailable"
}
}Body
Subscription params. next_bill_date (YYYY-MM-DD) calculated internally if not provided. Do not pass timezone in metadata as it will be ignored.
Response
Success. A bundle-scoped auto_apply_points write also carries
resolved_subscription_tokens and changed_subscription_tokens
alongside the subscription: every token the write covered, and the
subset it actually changed.
Any valid JSON value for provider, integration, theme, metadata, or other dynamic payloads whose keys are not fixed by the API contract.
curl --request PUT \
--url https://api.fluid.app/api/subscriptions/{token} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subscription": {
"quantity": 2,
"address_id": 73518,
"payment_method_id": 90412
}
}
'import requests
url = "https://api.fluid.app/api/subscriptions/{token}"
payload = { "subscription": {
"quantity": 2,
"address_id": 73518,
"payment_method_id": 90412
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({subscription: {quantity: 2, address_id: 73518, payment_method_id: 90412}})
};
fetch('https://api.fluid.app/api/subscriptions/{token}', 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://api.fluid.app/api/subscriptions/{token}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'subscription' => [
'quantity' => 2,
'address_id' => 73518,
'payment_method_id' => 90412
]
]),
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://api.fluid.app/api/subscriptions/{token}"
payload := strings.NewReader("{\n \"subscription\": {\n \"quantity\": 2,\n \"address_id\": 73518,\n \"payment_method_id\": 90412\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/subscriptions/{token}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subscription\": {\n \"quantity\": 2,\n \"address_id\": 73518,\n \"payment_method_id\": 90412\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/subscriptions/{token}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"subscription\": {\n \"quantity\": 2,\n \"address_id\": 73518,\n \"payment_method_id\": 90412\n }\n}"
response = http.request(request)
puts response.read_body{
"subscription": {
"id": 184305,
"address": {
"id": 73518,
"address1": "18 Main Street",
"address2": null,
"address3": null,
"city": "Nashua",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+16035550147",
"postal_code": "03060",
"state": "NH",
"subdivision_code": null
},
"address_id": 73518,
"attempts": 0,
"auto_apply_points": false,
"baked_discounts": [],
"base_recurring_price": 54.99,
"billing_cycle_limit_reached": false,
"bundled_items": [],
"bundled_subscriptions": [],
"cancelled_at": null,
"company": {
"id": 1405,
"name": "Dunder Mifflin Paper Company"
},
"country": {
"id": 214,
"iso": "US",
"name": "United States"
},
"created_at": "2026-09-02T15:24:51Z",
"currency": {
"id": 1,
"active": true,
"code": "USD",
"name": "United States Dollar",
"rate": "1.0",
"symbol": "$"
},
"customer": {
"id": 48213,
"account_id": "DM-48213",
"active": true,
"addresses": [
{
"id": 73518,
"address1": "18 Main Street",
"address2": null,
"address3": null,
"city": "Nashua",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+16035550147",
"postal_code": "03060",
"state": "NH",
"subdivision_code": null
}
],
"created_at": "2026-09-02T15:18:44Z",
"customer_notes": [],
"default_address": {
"id": 73518,
"address1": "18 Main Street",
"address2": null,
"address3": null,
"city": "Nashua",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+16035550147",
"postal_code": "03060",
"state": "NH",
"subdivision_code": null
},
"display_total_spent": "$164.97 (USD)",
"email": "holly.flax@gmail.com",
"email_marketing": true,
"external_id": null,
"first_name": "Holly",
"full_name": "Holly Flax",
"is_discarded": false,
"is_rep": false,
"last_name": "Flax",
"last_order_id": null,
"metadata": {},
"name": "Holly Flax",
"notes": null,
"orders_count": 3,
"payment_methods": [
{
"id": 90412,
"company_id": 1405,
"created_at": "2026-09-02T15:21:08Z",
"logo_url": "https://assets.fluid.app/images/payment_icons/visa.svg",
"payment_title": "Credit Card",
"source": "card",
"updated_at": "2026-09-02T15:21:08Z",
"user_id": null
}
],
"phone": "+16035550147",
"role": "customer",
"sales_tax_id": null,
"sms_marketing": false,
"tax_exempt": false,
"total_spent": "164.97",
"user_company_id": 48213,
"verified_email": true
},
"customer_notes": [
{
"id": 5582,
"created_at": "2026-09-12T14:03:27Z",
"customer_id": 48213,
"note": "Customer asked to move deliveries to the first half of the month.",
"resource_id": 184305,
"resource_type": "Commerce::Subscription",
"user_company": {
"id": 20417,
"first_name": "Dwight",
"last_name": "Schrute",
"full_name": "Dwight Schrute",
"email": "dwight.schrute@dundermifflin.com",
"image_url": "https://cdn.fluid.app/dunder-mifflin/avatars/dwight-schrute.jpg"
},
"user_company_id": 20417
}
],
"cv": "40.0",
"cv_total": "80.0",
"decline_count": 0,
"digital": false,
"disabled": false,
"last_bill_date": "2026-09-02T15:24:51Z",
"last_failed_at": null,
"last_ship_date": null,
"max_skips": null,
"next_bill_date": "2026-10-02T14:00:00Z",
"next_retry_at": null,
"next_ship_date": "2026-10-03T14:00:00Z",
"notes": null,
"orders": [],
"original_price": 54.99,
"payment_method": {
"id": 90412,
"au_status": null,
"billing_address": null,
"created_at": "2026-09-02T15:21:08Z",
"default": true,
"details": {
"id": 90412,
"type": "CreditCard",
"card_network": "visa",
"card_brand": "Visa",
"last4_digits": "4242",
"last_four": "4242",
"exp_month": "11",
"exp_year": "2029",
"logo_url": "https://assets.fluid.app/images/payment_icons/visa.svg",
"vgs_card_id": null,
"requires_3ds": false
},
"payment_title": "Credit Card",
"payment_type": "Credit Card",
"source": "card",
"updated_at": "2026-09-02T15:21:08Z"
},
"price": 49.99,
"quantity": 2,
"qv": "40.0",
"qv_total": "80.0",
"renewal_discount_total": 0,
"skipped_count": 0,
"status": "active",
"subscription_discounts": [],
"subscription_plan": {
"id": 3127,
"active": true,
"allow_max_billing_cycles": false,
"allow_skipping": true,
"apply_to_volume": true,
"billing_frequency_in_words": "1 month",
"billing_interval": 1,
"billing_interval_unit": "month",
"company_default": true,
"created_at": "2026-09-01T13:00:00Z",
"max_billing_cycles": null,
"max_skips": 2,
"name": "Monthly Paper Delivery",
"price_adjustment_amount": 5,
"price_adjustment_type": "fixed_amount",
"products_count": 4,
"savings_display_mode": "amount",
"shipping_interval": 1,
"shipping_interval_unit": "month",
"split_volume": false,
"subscribers_count": 212,
"trial_period": null,
"trial_period_unit": null,
"updated_at": "2026-09-01T13:00:00Z",
"volume_interval": 1,
"volume_interval_unit": "month"
},
"subscription_skips": [],
"subscription_token": "sb_3f9a1c7e5b2d4086",
"successful_billing_cycles": 1,
"timezone": "America/New_York",
"updated_at": "2026-09-30T13:20:44Z",
"variant": {
"id": 61842,
"currency_code": "USD",
"display_name": null,
"image_path": null,
"image_url": null,
"options": [],
"price": "54.99",
"price_in_currency": "$54.99",
"primary_image": null,
"product": {
"id": 20931,
"canonical_url": "https://shop.dundermifflin.com/products/20lb-copy-paper",
"cv": "40.0",
"cv_in_currency": "$40.00",
"external_id": null,
"image_path": null,
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/20lb-copy-paper.jpg",
"introduction": null,
"metadata": {},
"metafields": [],
"price": "54.99",
"price_in_currency": "$54.99",
"sku": "DM-20LB",
"tax": "0.0",
"tax_in_currency": "$0.00",
"title": "Dunder Mifflin 20lb Copy Paper"
},
"sku": "DM-20LB-CASE",
"title": null
},
"volume_rep": {
"id": 20417,
"email": "dwight.schrute@dundermifflin.com",
"full_name": "Dwight Schrute",
"image_url": "https://cdn.fluid.app/dunder-mifflin/avatars/dwight-schrute.jpg",
"external_id": "DM-REP-0007"
},
"volume_rep_member_id": "3b8e2f41-9c6d-4a7e-b215-6f0d8c3a9e74"
},
"resolved_subscription_tokens": [
"sb_3f9a1c7e5b2d4086"
],
"changed_subscription_tokens": [
"sb_3f9a1c7e5b2d4086"
],
"meta": {
"request_id": "1f7c3a95-8e2d-4b60-9a14-5c3e7d2b8f61",
"timestamp": "2026-09-30T13:20:44Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "We can't calculate tax for this order right now. Please try again in a few minutes.",
"errors": {
"subscription": [
"We can't calculate tax for this order right now. Please try again in a few minutes."
]
},
"meta": {
"request_id": "2e8c5a19-6f3d-4b70-9d41-a7c3e1b5f862",
"timestamp": "2026-10-30T12:00:00Z",
"code": "tax_quote_unavailable"
}
}