Get cart

Reads one cart: its lines, its status and what it comes to.

GET /v1/commerce/cart/{id}

Addresshttps://api.hanzo.ai/v1/commerce/cart/{id}
MethodGET
OperationgetCart
AuthAuthorization: Bearer $HANZO_API_KEY

Reads one cart: its lines, its status and what it comes to.

This is what a storefront calls to render the basket, and what a support agent calls to see what a shopper is looking at. The totals are the cart's STORED tally — shipping and tax stay zero until checkout resolves a shipping option and a tax region, so a cart total before checkout is the merchandise total and is meant to be.

The org scopes the read by construction: the store is namespaced to it, so a cart id belonging to another tenant is simply not found rather than found and then filtered, and answers 404 rather than 403 so the id space cannot be probed.

A named handler, not a closure, so zipdoc can lift this prose into the registry.

Request

1 field.

FieldInTypeRequiredDescription
idpathstringyesID is the cart's id, as the open call answered it.

Response

StatusBodyMeaning
200Cartok
defaultproblem-detailsrefused

200 body — 23 fields.

FieldInTypeAlwaysDescription
createdAtbodystring—CreatedAt is when the cart was opened, RFC3339.
currencybodystring—Currency is the ISO 4217 code every amount below is denominated in.
discountCentsbodyinteger (int64)—DiscountCents is what coupons and promotions took off, in whole cents.
emailbodystring—Email is the shopper's address, when the cart carries one.
idbodystring—ID is the cart's id — what every other cart op addresses it by, and what a storefront persists against the browser session.
itemsbodyCartItem[]—Items are the cart's lines, in the order they were added.
items[].freebodyboolean—Free reports a line that costs nothing because a coupon or a promotion made it so, rather than because its price is zero.
items[].idbodystring—ID is the line's identity — the variant id when the line is a variant, otherwise the product id.
items[].kindbodystring—Kind is "variant" when this line is a specific sellable variant and "product" when it is the product itself.
items[].namebodystring—Name is the item's display name, cached onto the line when it was added so a cart renders without a second read.
items[].priceCentsbodyinteger (int64)—PriceCents is the unit price in whole cents, cached at the moment the line was added.
items[].quantitybodyinteger (int64)—Quantity is how many units of this item the cart holds.
items[].skubodystring—SKU is the line's stock-keeping unit — the variant's when it has one, otherwise the product's.
lineTotalCentsbodyinteger (int64)—LineTotalCents is the sum of the lines before any discount, in whole cents.
orderbodystring—Order is the order this cart became, once checkout completed it.
shippingCentsbodyinteger (int64)—ShippingCents is the shipping charge, in whole cents.
statusbodystring—Status is "active" for a cart still being filled, "ordered" once checkout turned it into an order, and "discarded" when the shopper abandoned it.
storebodystring—Store is the storefront the cart is being filled on.
subtotalCentsbodyinteger (int64)—SubtotalCents is LineTotalCents less DiscountCents, in whole cents.
taxCentsbodyinteger (int64)—TaxCents is the sales tax, in whole cents.
totalCentsbodyinteger (int64)—TotalCents is what the shopper pays: subtotal plus shipping plus tax, in whole cents.
updatedAtbodystring—UpdatedAt is when the cart was last amended, RFC3339.
userbodystring—User is the signed-in shopper this cart belongs to, empty for a guest cart.

Failure carries the platform error shape — see Errors.

Examples

hanzo commerce cart get <id>
import { Configuration, CommerceApi } from 'hanzoai';

const api = new CommerceApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getCart({ id: 'id' });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import CommerceApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = CommerceApi(client).get_cart(id='id')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.CommerceAPI.GetCart(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, commerce_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = commerce_api::get_cart(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.CommerceApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new CommerceApi(client).getCart();
curl https://api.hanzo.ai/v1/commerce/cart/<id> \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool commerce, op getCart — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "commerce",
         "arguments": {
           "op": "getCart",
           "input": {
             "id": "<id>"
           }
         }
       }
     }'

Commerce API · All Hanzo APIs · Interactive reference

Was this page useful?