Skip to main content
PUT
https://api.firmly.work
/
api
/
v1
/
domains
/
{domain}
/
cart
/
line-items
/
{sku}
curl --request PUT \
  --url https://api.firmly.work/api/v1/domains/staging.luma.gift/cart/line-items/WS12-XS-Orange \
  --header 'x-firmly-authorization: YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"quantity": 2}'
{
  "cart_id": "1e43868c-d4a5-418c-bd6b-5fff043550d2",
  "platform_id": "example",
  "shop_id": "staging.luma.gift",
  "display_name": "Luma Store",
  "line_items": [
    {
      "line_item_id": "1ee530e1-063d-4e07-afb2-e7e65245977e",
      "platform_line_item_id": "4df9941b-bd06-4495-8759-61c6145dc408",
      "sku": "WS12-XS-Orange",
      "base_sku": "WS12",
      "quantity": 2,
      "description": "Radiant Tee - Orange XS",
      "price": {
        "currency": "USD",
        "value": 22.00,
        "symbol": "$",
        "number": 2200
      },
      "line_price": {
        "currency": "USD",
        "value": 44.00,
        "symbol": "$",
        "number": 4400
      },
      "msrp": {
        "currency": "USD",
        "value": 22.00,
        "symbol": "$",
        "number": 2200
      },
      "image": {
        "url": "https://cdn.staging.luma.gift/products/radiant-tee/orange.jpg"
      },
      "requires_shipping": true
    }
  ],
  "sub_total": {
    "currency": "USD",
    "value": 1739.98,
    "symbol": "$",
    "number": 173998
  },
  "shipping_total": {
    "currency": "USD",
    "value": 0,
    "symbol": "$",
    "number": 0
  },
  "tax": {
    "currency": "USD",
    "value": 4.40,
    "symbol": "$",
    "number": 440
  },
  "total": {
    "currency": "USD",
    "value": 48.40,
    "symbol": "$",
    "number": 4840
  },
  "payment_method_options": [
    {
      "type": "CreditCard",
      "wallet": "user"
    }
  ]
}

Overview

Updates the quantity of an existing item in the cart. Set quantity to 0 to remove the item.

Authentication

x-firmly-authorization
string
required
Device authentication token from browser session

Path Parameters

domain
string
required
Merchant domain (e.g., staging.luma.gift)
sku
string
required
Product SKU to update (e.g., WS12-XS-Orange)

Request Body

quantity
number
required
New quantity (minimum: 0, set to 0 to remove)
variant_handles
array
List of variant handles if required by the merchant

Query Parameters

fast_mode
string
default:"false"
Set to true for faster response with potentially cached data

Response

Returns the updated shopping cart.

Response Fields

Same as Get Cart response.
curl --request PUT \
  --url https://api.firmly.work/api/v1/domains/staging.luma.gift/cart/line-items/WS12-XS-Orange \
  --header 'x-firmly-authorization: YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"quantity": 2}'
{
  "cart_id": "1e43868c-d4a5-418c-bd6b-5fff043550d2",
  "platform_id": "example",
  "shop_id": "staging.luma.gift",
  "display_name": "Luma Store",
  "line_items": [
    {
      "line_item_id": "1ee530e1-063d-4e07-afb2-e7e65245977e",
      "platform_line_item_id": "4df9941b-bd06-4495-8759-61c6145dc408",
      "sku": "WS12-XS-Orange",
      "base_sku": "WS12",
      "quantity": 2,
      "description": "Radiant Tee - Orange XS",
      "price": {
        "currency": "USD",
        "value": 22.00,
        "symbol": "$",
        "number": 2200
      },
      "line_price": {
        "currency": "USD",
        "value": 44.00,
        "symbol": "$",
        "number": 4400
      },
      "msrp": {
        "currency": "USD",
        "value": 22.00,
        "symbol": "$",
        "number": 2200
      },
      "image": {
        "url": "https://cdn.staging.luma.gift/products/radiant-tee/orange.jpg"
      },
      "requires_shipping": true
    }
  ],
  "sub_total": {
    "currency": "USD",
    "value": 1739.98,
    "symbol": "$",
    "number": 173998
  },
  "shipping_total": {
    "currency": "USD",
    "value": 0,
    "symbol": "$",
    "number": 0
  },
  "tax": {
    "currency": "USD",
    "value": 4.40,
    "symbol": "$",
    "number": 440
  },
  "total": {
    "currency": "USD",
    "value": 48.40,
    "symbol": "$",
    "number": 4840
  },
  "payment_method_options": [
    {
      "type": "CreditCard",
      "wallet": "user"
    }
  ]
}

Error Responses

400 Bad Request

Missing or invalid authentication header

404 Not Found

Product not found in the cart

409 Conflict

Not enough stock available for the requested quantity

422 Unprocessable Entity

Invalid request body format