Skip to navigation

Change an item's quantity

Holds a different number of units of an extra already on the cart, up or down from the number held now, and returns the cart repriced. The rest of the cart is untouched — the customer keeps the same hold and the same expiry.

  • itemId is the id of the line on the cart response, not an inventory item ID. Two items of the same extra at different price options are separate lines with ids of their own
  • quantity is the number to end up holding and is at least 1. To drop the item, send DELETE /carts/{cartId}/items/{itemId}
  • Only an Extra item can be changed. A cart is created from its admission items; one that should hold none is released with DELETE /carts/{cartId}

Authentication

X-TT-API-Keystring
API Key authentication via header

Path parameters

cartIdstringRequired

Cart ID (UUID)

itemIdstringRequired

Cart item ID, as it came back on the cart response items[].id

Headers

X-TT-PlatformenumRequired
Identifies the platform the request comes from.
Allowed values:
X-TT-RetailerstringRequired
Your retailer identifier, provided during onboarding. It must be allowed by your API key.

Request

This endpoint expects an object.
quantityintegerRequired>=1

Number of units of this item to hold, up or down from the number held now. At least 1: to drop the item, send DELETE /carts/{cartId}/items/{itemId} instead.

Response headers

X-RateLimit-Limitinteger
How many requests this API key may make for this retailer in the current window. Sent only when the request was counted against that limit. A response served from cache was not counted and repeats the value it was cached with.
X-RateLimit-Remaininginteger
How many requests this API key has left for this retailer in the current window. Sent only when the request was counted against that limit. A response served from cache was not counted and repeats the value it was cached with.

Response

Cart repriced for the new quantity.
idstring
Cart ID
expiresAtstring
UTC timestamp when the cart hold expires and inventory is released. Clients should display a countdown timer and warn users before expiration.
itemslist of objects

Items currently in the cart (held inventory). Each item’s priceOption carries the itemized fees[] disclosure. Protection and credits are NOT items — see receiptLines.

receiptLineslist of objects

Server-ordered display lines for receipt rendering. Iterate in sequence. Always includes SubtotalLine. Conditionally: VoucherLine, ProtectionLine, CreditLine. Fees are never a receipt line — they are disclosed per item on priceOption.fees.

totalobject

Monetary amount in minor units (cents for USD). Never uses floating point to avoid precision errors.

protectionobjectOptional
Protection covering all items. Null if not added.
optionsobjectOptional
Options that can be applied to this cart. Each key is present only when that option is available.
voucherobjectOptional
A promo code applied to a cart.
totalTaxesobjectOptional

Monetary amount in minor units (cents for USD). Never uses floating point to avoid precision errors.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
410
Gone Error
429
Too Many Requests Error