Add items to cart
Applies one or more line-item changes and recalculates totals (unless
perform_cart_calculations is false). Use variant_id with a positive
quantity to add or update a variant. Use variant_id or cart_item_id
with quantity: 0 to remove the matching existing line. Mark a line as a
subscription by setting subscription: true; subscription_plan_id is
optional when the product has a default plan. Without cart_item_id, a
regular variant’s entry that carries subscription matches only an
existing line of the variant in that subscription state (true is a
subscription line, false or null a one-time line) and otherwise adds
a new line, so a cart can hold one variant as both a subscription and a
one-time line. A regular variant’s entry that omits subscription
matches the variant’s existing line whatever its state and leaves its
subscription unchanged. A dynamic bundle is matched on its component
selection and subscribe choice instead (an omitted subscription counts
as one-time). cart_item_id addresses one exact line, and it is the
only way to remove one configuration of a dynamic bundle with
quantity: 0, since removal by variant_id does not distinguish bundle
configurations. Access is scoped by the
cart_token in the path — the endpoint itself does not require
authentication. In Fluid’s recommended server-side integration you send a
company bearer token (Authorization: Bearer <company_token>) on every cart
request; it is optional at the endpoint but drives cart attribution and
wallet resolution for companies using isolated payment tokens (see the
Headless Commerce guide). Returns 422 when an item is invalid or
unavailable and 410 when the cart is already completed.
curl --request POST \
--url https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"variant_id": 90731,
"quantity": 1,
"subscription": true,
"subscription_plan_id": 4
}
]
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items"
payload = { "items": [
{
"variant_id": 90731,
"quantity": 1,
"subscription": True,
"subscription_plan_id": 4
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
items: [{variant_id: 90731, quantity: 1, subscription: true, subscription_plan_id: 4}]
})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items', 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/checkout/v2026-04/carts/{cart_token}/items",
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([
'items' => [
[
'variant_id' => 90731,
'quantity' => 1,
'subscription' => true,
'subscription_plan_id' => 4
]
]
]),
CURLOPT_HTTPHEADER => [
"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/checkout/v2026-04/carts/{cart_token}/items"
payload := strings.NewReader("{\n \"items\": [\n {\n \"variant_id\": 90731,\n \"quantity\": 1,\n \"subscription\": true,\n \"subscription_plan_id\": 4\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"variant_id\": 90731,\n \"quantity\": 1,\n \"subscription\": true,\n \"subscription_plan_id\": 4\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"variant_id\": 90731,\n \"quantity\": 1,\n \"subscription\": true,\n \"subscription_plan_id\": 4\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"cart": {
"id": 482913,
"cart_token": "ct_4mK8vQ2nR7xT9pL3wY6zBd",
"state": "start",
"state_revision": 5,
"population_status": "complete",
"type": "regular",
"enrollment": false,
"email": "holly.flax@dundermifflin.com",
"phone": "+15705550142",
"language_iso": "en",
"currency_code": "USD",
"currency_symbol": "$",
"currency_decimal_places": 2,
"customer_id": 58201,
"buyer_rep_id": 3017,
"enrollment_pack_id": null,
"enrollment_member_type": null,
"processed": false,
"email_marketing": true,
"sms_marketing": false,
"auto_apply_points": false,
"cv_total": "40.0",
"qv_total": "40.0",
"amount_total": 126.77,
"sub_total": 109.98,
"tax_total": 8.8,
"shipping_total": 7.99,
"discount_total": 0,
"subtotal_after_discounts": 109.98,
"transaction_fee": 0,
"enrollment_fee": 0,
"inclusive_shipping_tax": 0,
"shipping_discount": 0,
"remaining_cart_amount_after_points": 126.77,
"amount_total_in_currency": "$126.77",
"sub_total_in_currency": "$109.98",
"tax_total_in_currency": "$8.80",
"shipping_total_in_currency": "$7.99",
"discount_total_in_currency": "$0.00",
"subtotal_after_discounts_in_currency": "$109.98",
"transaction_fee_in_currency": "$0.00",
"enrollment_fee_in_currency": "$0.00",
"customer_total_points_in_currency": "$12.50",
"points_applied_amount_in_currency": "$0.00",
"remaining_customer_points_amount_in_currency": "$12.50",
"remaining_cart_amount_after_points_in_currency": "$126.77",
"tax_total_for_display": "$8.80",
"shipping_total_for_display": "$7.99",
"tax_exempt": false,
"digital_only": false,
"immutable_items": false,
"points_enabled": true,
"price_inclusive_of_tax": false,
"requires_3ds": false,
"requires_payment_method": true,
"vault_without_charge": false,
"valid_for_checkout": false,
"valid_for_checkout_pre_payment": true,
"checkout_blockers": [],
"contains_subscription": false,
"payment_method_auto_assignable": false,
"payment_unavailable_reason": null,
"customer_total_points": 1250,
"customer_total_points_decimal": "1250.0000",
"points_applied": 0,
"points_applied_decimal": "0.0000",
"remaining_customer_points": 1250,
"remaining_customer_points_decimal": "1250.0000",
"max_applicable_points": 1250,
"points_unavailable_in_market": false,
"max_applicable_points_decimal": "1250.0000",
"total_creditable_points": 110,
"total_creditable_points_decimal": "110.0000",
"totals": {
"gross_subtotal": "109.98",
"gross_subtotal_in_currency": "$109.98",
"net_subtotal": "109.98",
"net_subtotal_in_currency": "$109.98",
"item_tax": "8.80",
"item_tax_in_currency": "$8.80",
"shipping_net": "7.99",
"shipping_net_in_currency": "$7.99",
"shipping_tax": "0.00",
"shipping_tax_in_currency": "$0.00",
"total_tax": "8.80",
"total_tax_in_currency": "$8.80",
"price_inclusive_of_tax": false,
"tax_label": null
},
"price_inclusive_tax_name": null,
"payment_account": null,
"discount_codes": [],
"product_discount_codes": [],
"shipping_discount_codes": [],
"buyer_rep": {
"id": 3017,
"email": "dwight.schrute@dundermifflin.com",
"full_name": "Dwight Schrute",
"image_url": "https://cdn.fluid.app/companies/1405/members/dwight-schrute.jpg",
"external_id": "DM-REP-0042"
},
"buyer_rep_member_id": "8d2f6b1a-4c3e-4f7a-9b15-2e6c0a9d7f41",
"volume_rep": null,
"volume_rep_member_id": null,
"shipping_method": {
"id": "61842",
"name": "Standard Ground"
},
"discount_breakdown": {
"internal_discounts": 0,
"external_discounts": 0,
"total_discounts": 0
},
"available_shipping_methods": [
{
"id": "61842",
"title": "Standard Ground",
"price": 7.99,
"delivery_time_estimate": "3-5 business days",
"price_label": "$7.99"
},
{
"id": "61843",
"title": "Two-Day Express",
"price": 19.99,
"delivery_time_estimate": "1-2 business days",
"price_label": "$19.99"
}
],
"metadata": {},
"messages": {},
"payment_method": null,
"available_payment_methods": [
{
"id": 3308,
"uuid": "pa_7Hq2Wd9LmR4xVb6NcTe3Kp",
"type": "credit_card",
"name": "Credit Card",
"image_url": "https://cdn.fluid.app/payment_icons/generic.svg",
"test": false,
"sandbox": false,
"supported_brands": [
"visa",
"mastercard",
"amex",
"discover"
],
"token_provider": "vgs",
"bogus_gateway": false,
"apple_pay": false,
"apple_pay_recurring_supported": false,
"apple_pay_merchant_identifier": null,
"customer_details_schema": {},
"collect_billing_address": true
}
],
"external_discount": {
"total": 0,
"calculated_at": null,
"sources": {}
},
"shipping_address": {
"name": "Holly Flax",
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"state": "PA",
"postal_code": "18505",
"country_code": "US",
"subdivision_code": "US-PA",
"phone": "+15705550142"
},
"billing_address": {
"name": "Holly Flax",
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"state": "PA",
"postal_code": "18505",
"country_code": "US",
"subdivision_code": "US-PA",
"phone": "+15705550142"
},
"items": [
{
"id": 731284,
"allow_subscription": true,
"bundled_items": [],
"creditable_points": 55,
"cv": "20.0",
"cv_total": "40.0",
"discount_amount": "0.0",
"discount_amount_in_currency": "$0.00",
"display_to_customer": true,
"enrollment": false,
"enrollment_pack_id": null,
"errors": [],
"free_item": false,
"image_url": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"line_total_after_discounts_in_currency": "$109.98",
"line_total_in_currency": "$109.98",
"metadata": {},
"price": "54.99",
"price_in_currency": "$54.99",
"price_unavailable": false,
"product": {
"id": 48213,
"canonical_url": "https://shop.dundermifflin.com/products/20lb-copy-paper",
"cv": "20",
"external_id": null,
"image_path": "companies/1405/products/20lb-copy-paper.jpg",
"image_url": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"introduction": "Ten reams of bright white 20lb multipurpose paper per case.",
"metadata": {},
"metafields": [],
"metafields_collection": [],
"price": "54.99",
"price_in_currency": "$54.99",
"sku": "DM-20LB-CASE",
"subscription_price": "49.49",
"tax": "0.0",
"tax_in_currency": "$0.00",
"title": "Dunder Mifflin 20lb Copy Paper"
},
"product_title": "Dunder Mifflin 20lb Copy Paper",
"quantity": 2,
"qv": "20.0",
"qv_total": "40.0",
"regular_line_total_in_currency": "$109.98",
"subscribe_and_save": null,
"subscribe_and_save_for_display": null,
"subscribe_and_save_in_currency": null,
"subscription": false,
"subscription_interval": null,
"subscription_interval_unit": null,
"subscription_interval_unit_identifier": null,
"subscription_only": false,
"subscription_plan_id": null,
"subscription_plans": [],
"subscription_price": "49.49",
"subscription_price_in_currency": "$49.49",
"subscription_start": null,
"tax": "0.0",
"tax_in_currency": "$0.00",
"title": "Dunder Mifflin 20lb Copy Paper",
"total": "109.98",
"total_after_discounts": "109.98",
"total_after_discounts_in_currency": "$109.98",
"total_in_currency": "$109.98",
"unit_price_display_authoritative": true,
"variant": {
"id": 90731,
"currency_code": "USD",
"display_name": "Dunder Mifflin 20lb Copy Paper - Case of 10 reams",
"height": 11,
"hs_code": "4802.56",
"image_path": "companies/1405/products/20lb-copy-paper.jpg",
"image_url": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"length": 17.5,
"options": [
{
"title": "Pack size",
"value": "Case of 10 reams"
}
],
"physical": true,
"price": "54.99",
"price_in_currency": "$54.99",
"primary_image": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"sku": "DM-20LB-CASE",
"title": "Case of 10 reams",
"unit_of_size": "in",
"unit_of_weight": "lb",
"weight": "50.0",
"width": 11.5
}
}
],
"ship_to": {
"id": 1054268,
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+15705550142",
"postal_code": "18505",
"state": "PA",
"subdivision_code": "US-PA"
},
"bill_to": {
"id": 1054268,
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+15705550142",
"postal_code": "18505",
"state": "PA",
"subdivision_code": "US-PA"
},
"attribution": {
"id": 91877,
"username": "dwight-schrute"
},
"agreements": [
{
"id": 5521,
"default_checked": false,
"enrollment_pack_id": null,
"required": true,
"show_at_checkout": true,
"show_path": "/api/agreements/5521",
"standalone_on_checkout": false,
"content_digest": "4f7f9a2d0c6b1e8e3a5d9c7b2f1e0d4c8b6a5f3e2d1c0b9a8f7e6d5c4b3a2918",
"subscription_only": false,
"title": "Dunder Mifflin Terms of Sale"
}
],
"country": {
"id": 233,
"currency_code": "USD",
"currency_symbol": "$",
"iso": "US",
"iso3": "USA",
"iso_name": "UNITED STATES",
"name": "United States",
"price_inclusive_of_tax": false,
"price_inclusive_tax_name": "",
"province_required": true,
"tax_enabled": true,
"tax_standard_rate": null
},
"company": {
"id": 1405,
"bundle_subscriptions": false,
"checkout_primary_button_color": "#1F4E79",
"checkout_primary_text_color": "#FFFFFF",
"checkout_secondary_button_color": "#E7EEF5",
"checkout_secondary_text_color": "#1F4E79",
"collect_email_marketing": true,
"collect_phone": true,
"collect_sms_marketing": false,
"favicon_url": "https://cdn.fluid.app/companies/1405/favicon.png",
"fluid_shop": "dunder-mifflin.fluid.app",
"hide_volume_on_customer_surfaces": false,
"isolated_payment_tokens": false,
"kount_client_id": null,
"kount_environment": "production",
"logo_url": "https://cdn.fluid.app/companies/1405/logo.png",
"name": "Dunder Mifflin Paper Company",
"order_on_behalf": true,
"primary_domain_hostname": "shop.dundermifflin.com",
"require_billing_zip": true,
"require_phone": false,
"reward_points_apply_to_subtotal": true,
"reward_points_enabled": true,
"reward_points_label_plural": "Schrute Bucks",
"reward_points_label_singular": "Schrute Buck",
"subdomain": "dunder-mifflin"
},
"recurring": [],
"enrollment_pack": null
},
"meta": {
"request_id": "6f1c2a9e-3b7d-4e58-9a21-c4d8e0b7f312",
"timestamp": "2026-09-14T15:22:08Z",
"checkout_url": "https://checkout.fluid.app/checkouts/ct_4mK8vQ2nR7xT9pL3wY6zBd?fluid_shop=dunder-mifflin",
"shop_url": "https://shop.dundermifflin.com/"
}
}{
"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",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"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",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "payment_in_progress",
"shop_url": "<string>",
"cart": "<unknown>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"shop_url": "<string>",
"cart": "<unknown>"
}
}{
"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",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}Path Parameters
Cart token
Body
Response
Success
Cart response wrapper (CartBlueprinter with_associations view). Scalar totals, flags, and points are strictly typed; genuinely dynamic fields (metadata, processor-specific payment payloads) and nested associations (items, addresses, country, company) are typed as open pockets and tightened in follow-up work.
curl --request POST \
--url https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"variant_id": 90731,
"quantity": 1,
"subscription": true,
"subscription_plan_id": 4
}
]
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items"
payload = { "items": [
{
"variant_id": 90731,
"quantity": 1,
"subscription": True,
"subscription_plan_id": 4
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
items: [{variant_id: 90731, quantity: 1, subscription: true, subscription_plan_id: 4}]
})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items', 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/checkout/v2026-04/carts/{cart_token}/items",
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([
'items' => [
[
'variant_id' => 90731,
'quantity' => 1,
'subscription' => true,
'subscription_plan_id' => 4
]
]
]),
CURLOPT_HTTPHEADER => [
"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/checkout/v2026-04/carts/{cart_token}/items"
payload := strings.NewReader("{\n \"items\": [\n {\n \"variant_id\": 90731,\n \"quantity\": 1,\n \"subscription\": true,\n \"subscription_plan_id\": 4\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"variant_id\": 90731,\n \"quantity\": 1,\n \"subscription\": true,\n \"subscription_plan_id\": 4\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/carts/{cart_token}/items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"variant_id\": 90731,\n \"quantity\": 1,\n \"subscription\": true,\n \"subscription_plan_id\": 4\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"cart": {
"id": 482913,
"cart_token": "ct_4mK8vQ2nR7xT9pL3wY6zBd",
"state": "start",
"state_revision": 5,
"population_status": "complete",
"type": "regular",
"enrollment": false,
"email": "holly.flax@dundermifflin.com",
"phone": "+15705550142",
"language_iso": "en",
"currency_code": "USD",
"currency_symbol": "$",
"currency_decimal_places": 2,
"customer_id": 58201,
"buyer_rep_id": 3017,
"enrollment_pack_id": null,
"enrollment_member_type": null,
"processed": false,
"email_marketing": true,
"sms_marketing": false,
"auto_apply_points": false,
"cv_total": "40.0",
"qv_total": "40.0",
"amount_total": 126.77,
"sub_total": 109.98,
"tax_total": 8.8,
"shipping_total": 7.99,
"discount_total": 0,
"subtotal_after_discounts": 109.98,
"transaction_fee": 0,
"enrollment_fee": 0,
"inclusive_shipping_tax": 0,
"shipping_discount": 0,
"remaining_cart_amount_after_points": 126.77,
"amount_total_in_currency": "$126.77",
"sub_total_in_currency": "$109.98",
"tax_total_in_currency": "$8.80",
"shipping_total_in_currency": "$7.99",
"discount_total_in_currency": "$0.00",
"subtotal_after_discounts_in_currency": "$109.98",
"transaction_fee_in_currency": "$0.00",
"enrollment_fee_in_currency": "$0.00",
"customer_total_points_in_currency": "$12.50",
"points_applied_amount_in_currency": "$0.00",
"remaining_customer_points_amount_in_currency": "$12.50",
"remaining_cart_amount_after_points_in_currency": "$126.77",
"tax_total_for_display": "$8.80",
"shipping_total_for_display": "$7.99",
"tax_exempt": false,
"digital_only": false,
"immutable_items": false,
"points_enabled": true,
"price_inclusive_of_tax": false,
"requires_3ds": false,
"requires_payment_method": true,
"vault_without_charge": false,
"valid_for_checkout": false,
"valid_for_checkout_pre_payment": true,
"checkout_blockers": [],
"contains_subscription": false,
"payment_method_auto_assignable": false,
"payment_unavailable_reason": null,
"customer_total_points": 1250,
"customer_total_points_decimal": "1250.0000",
"points_applied": 0,
"points_applied_decimal": "0.0000",
"remaining_customer_points": 1250,
"remaining_customer_points_decimal": "1250.0000",
"max_applicable_points": 1250,
"points_unavailable_in_market": false,
"max_applicable_points_decimal": "1250.0000",
"total_creditable_points": 110,
"total_creditable_points_decimal": "110.0000",
"totals": {
"gross_subtotal": "109.98",
"gross_subtotal_in_currency": "$109.98",
"net_subtotal": "109.98",
"net_subtotal_in_currency": "$109.98",
"item_tax": "8.80",
"item_tax_in_currency": "$8.80",
"shipping_net": "7.99",
"shipping_net_in_currency": "$7.99",
"shipping_tax": "0.00",
"shipping_tax_in_currency": "$0.00",
"total_tax": "8.80",
"total_tax_in_currency": "$8.80",
"price_inclusive_of_tax": false,
"tax_label": null
},
"price_inclusive_tax_name": null,
"payment_account": null,
"discount_codes": [],
"product_discount_codes": [],
"shipping_discount_codes": [],
"buyer_rep": {
"id": 3017,
"email": "dwight.schrute@dundermifflin.com",
"full_name": "Dwight Schrute",
"image_url": "https://cdn.fluid.app/companies/1405/members/dwight-schrute.jpg",
"external_id": "DM-REP-0042"
},
"buyer_rep_member_id": "8d2f6b1a-4c3e-4f7a-9b15-2e6c0a9d7f41",
"volume_rep": null,
"volume_rep_member_id": null,
"shipping_method": {
"id": "61842",
"name": "Standard Ground"
},
"discount_breakdown": {
"internal_discounts": 0,
"external_discounts": 0,
"total_discounts": 0
},
"available_shipping_methods": [
{
"id": "61842",
"title": "Standard Ground",
"price": 7.99,
"delivery_time_estimate": "3-5 business days",
"price_label": "$7.99"
},
{
"id": "61843",
"title": "Two-Day Express",
"price": 19.99,
"delivery_time_estimate": "1-2 business days",
"price_label": "$19.99"
}
],
"metadata": {},
"messages": {},
"payment_method": null,
"available_payment_methods": [
{
"id": 3308,
"uuid": "pa_7Hq2Wd9LmR4xVb6NcTe3Kp",
"type": "credit_card",
"name": "Credit Card",
"image_url": "https://cdn.fluid.app/payment_icons/generic.svg",
"test": false,
"sandbox": false,
"supported_brands": [
"visa",
"mastercard",
"amex",
"discover"
],
"token_provider": "vgs",
"bogus_gateway": false,
"apple_pay": false,
"apple_pay_recurring_supported": false,
"apple_pay_merchant_identifier": null,
"customer_details_schema": {},
"collect_billing_address": true
}
],
"external_discount": {
"total": 0,
"calculated_at": null,
"sources": {}
},
"shipping_address": {
"name": "Holly Flax",
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"state": "PA",
"postal_code": "18505",
"country_code": "US",
"subdivision_code": "US-PA",
"phone": "+15705550142"
},
"billing_address": {
"name": "Holly Flax",
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"state": "PA",
"postal_code": "18505",
"country_code": "US",
"subdivision_code": "US-PA",
"phone": "+15705550142"
},
"items": [
{
"id": 731284,
"allow_subscription": true,
"bundled_items": [],
"creditable_points": 55,
"cv": "20.0",
"cv_total": "40.0",
"discount_amount": "0.0",
"discount_amount_in_currency": "$0.00",
"display_to_customer": true,
"enrollment": false,
"enrollment_pack_id": null,
"errors": [],
"free_item": false,
"image_url": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"line_total_after_discounts_in_currency": "$109.98",
"line_total_in_currency": "$109.98",
"metadata": {},
"price": "54.99",
"price_in_currency": "$54.99",
"price_unavailable": false,
"product": {
"id": 48213,
"canonical_url": "https://shop.dundermifflin.com/products/20lb-copy-paper",
"cv": "20",
"external_id": null,
"image_path": "companies/1405/products/20lb-copy-paper.jpg",
"image_url": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"introduction": "Ten reams of bright white 20lb multipurpose paper per case.",
"metadata": {},
"metafields": [],
"metafields_collection": [],
"price": "54.99",
"price_in_currency": "$54.99",
"sku": "DM-20LB-CASE",
"subscription_price": "49.49",
"tax": "0.0",
"tax_in_currency": "$0.00",
"title": "Dunder Mifflin 20lb Copy Paper"
},
"product_title": "Dunder Mifflin 20lb Copy Paper",
"quantity": 2,
"qv": "20.0",
"qv_total": "40.0",
"regular_line_total_in_currency": "$109.98",
"subscribe_and_save": null,
"subscribe_and_save_for_display": null,
"subscribe_and_save_in_currency": null,
"subscription": false,
"subscription_interval": null,
"subscription_interval_unit": null,
"subscription_interval_unit_identifier": null,
"subscription_only": false,
"subscription_plan_id": null,
"subscription_plans": [],
"subscription_price": "49.49",
"subscription_price_in_currency": "$49.49",
"subscription_start": null,
"tax": "0.0",
"tax_in_currency": "$0.00",
"title": "Dunder Mifflin 20lb Copy Paper",
"total": "109.98",
"total_after_discounts": "109.98",
"total_after_discounts_in_currency": "$109.98",
"total_in_currency": "$109.98",
"unit_price_display_authoritative": true,
"variant": {
"id": 90731,
"currency_code": "USD",
"display_name": "Dunder Mifflin 20lb Copy Paper - Case of 10 reams",
"height": 11,
"hs_code": "4802.56",
"image_path": "companies/1405/products/20lb-copy-paper.jpg",
"image_url": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"length": 17.5,
"options": [
{
"title": "Pack size",
"value": "Case of 10 reams"
}
],
"physical": true,
"price": "54.99",
"price_in_currency": "$54.99",
"primary_image": "https://cdn.fluid.app/companies/1405/products/20lb-copy-paper.jpg",
"sku": "DM-20LB-CASE",
"title": "Case of 10 reams",
"unit_of_size": "in",
"unit_of_weight": "lb",
"weight": "50.0",
"width": 11.5
}
}
],
"ship_to": {
"id": 1054268,
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+15705550142",
"postal_code": "18505",
"state": "PA",
"subdivision_code": "US-PA"
},
"bill_to": {
"id": 1054268,
"address1": "1725 Slough Avenue",
"address2": "Suite 200",
"address3": null,
"city": "Scranton",
"country_code": "US",
"country_num_code": 840,
"default": true,
"name": "Holly Flax",
"phone": "+15705550142",
"postal_code": "18505",
"state": "PA",
"subdivision_code": "US-PA"
},
"attribution": {
"id": 91877,
"username": "dwight-schrute"
},
"agreements": [
{
"id": 5521,
"default_checked": false,
"enrollment_pack_id": null,
"required": true,
"show_at_checkout": true,
"show_path": "/api/agreements/5521",
"standalone_on_checkout": false,
"content_digest": "4f7f9a2d0c6b1e8e3a5d9c7b2f1e0d4c8b6a5f3e2d1c0b9a8f7e6d5c4b3a2918",
"subscription_only": false,
"title": "Dunder Mifflin Terms of Sale"
}
],
"country": {
"id": 233,
"currency_code": "USD",
"currency_symbol": "$",
"iso": "US",
"iso3": "USA",
"iso_name": "UNITED STATES",
"name": "United States",
"price_inclusive_of_tax": false,
"price_inclusive_tax_name": "",
"province_required": true,
"tax_enabled": true,
"tax_standard_rate": null
},
"company": {
"id": 1405,
"bundle_subscriptions": false,
"checkout_primary_button_color": "#1F4E79",
"checkout_primary_text_color": "#FFFFFF",
"checkout_secondary_button_color": "#E7EEF5",
"checkout_secondary_text_color": "#1F4E79",
"collect_email_marketing": true,
"collect_phone": true,
"collect_sms_marketing": false,
"favicon_url": "https://cdn.fluid.app/companies/1405/favicon.png",
"fluid_shop": "dunder-mifflin.fluid.app",
"hide_volume_on_customer_surfaces": false,
"isolated_payment_tokens": false,
"kount_client_id": null,
"kount_environment": "production",
"logo_url": "https://cdn.fluid.app/companies/1405/logo.png",
"name": "Dunder Mifflin Paper Company",
"order_on_behalf": true,
"primary_domain_hostname": "shop.dundermifflin.com",
"require_billing_zip": true,
"require_phone": false,
"reward_points_apply_to_subtotal": true,
"reward_points_enabled": true,
"reward_points_label_plural": "Schrute Bucks",
"reward_points_label_singular": "Schrute Buck",
"subdomain": "dunder-mifflin"
},
"recurring": [],
"enrollment_pack": null
},
"meta": {
"request_id": "6f1c2a9e-3b7d-4e58-9a21-c4d8e0b7f312",
"timestamp": "2026-09-14T15:22:08Z",
"checkout_url": "https://checkout.fluid.app/checkouts/ct_4mK8vQ2nR7xT9pL3wY6zBd?fluid_shop=dunder-mifflin",
"shop_url": "https://shop.dundermifflin.com/"
}
}{
"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",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"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",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "payment_in_progress",
"shop_url": "<string>",
"cart": "<unknown>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"shop_url": "<string>",
"cart": "<unknown>"
}
}{
"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",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}