---
title: cartLinesUpdateDefault
description: >-
  Creates a function that accepts an array of
  [CartLineUpdateInput](/docs/api/storefront/2023-07/input-objects/CartLineUpdateInput)
  and updates the line items in a cart
api_version: 2023-07
api_name: hydrogen
source_url:
  html: >-
    https://shopify.dev/docs/api/hydrogen/2023-07/utilities/cartlinesupdatedefault
  md: >-
    https://shopify.dev/docs/api/hydrogen/2023-07/utilities/cartlinesupdatedefault.md
---

# cart​Lines​Update​Default

Creates a function that accepts an array of [CartLineUpdateInput](https://shopify.dev/docs/api/storefront/2023-07/input-objects/CartLineUpdateInput) and updates the line items in a cart

## cart​Lines​Update​Default(**[options](#cartlinesupdatedefault-propertydetail-options)**​)

### Parameters

* **options**

  **CartQueryOptions**

  **required**

### Returns

* **CartLinesUpdateFunction**

  ### ### CartLinesUpdateFunction

  * **export type CartLinesUpdateFunction = ( lines: CartLineUpdateInput[], optionalParams?: CartOptionalInput, ) => Promise<CartQueryData>;**

### CartQueryOptions

* storefront

  The storefront client instance created by \[\`createStorefrontClient\`]\(docs/api/hydrogen/latest/utilities/createstorefrontclient).

  ```ts
  Storefront
  ```

* getCartId

  A function that returns the cart ID.

  ```ts
  () => string
  ```

* cartFragment

  The cart fragment to override the one used in this query.

  ```ts
  string
  ```

### Storefront

Interface to interact with the Storefront API.

* query

  The function to run a query on Storefront API.

  ```ts
  <OverrideReturnType = any, RawGqlString extends string = string>(query: RawGqlString, ...options: RawGqlString extends never ? IsOptionalVariables<StorefrontQueries[RawGqlString]> extends true ? [StorefrontQuerySecondParam<RawGqlString>?] : [StorefrontQuerySecondParam<RawGqlString>] : [StorefrontQuerySecondParam<string>?]) => Promise<RawGqlString extends never ? StorefrontQueries[RawGqlString]["return"] : OverrideReturnType>
  ```

* mutate

  The function to run a mutation on Storefront API.

  ```ts
  <OverrideReturnType = any, RawGqlString extends string = string>(mutation: RawGqlString, ...options: RawGqlString extends never ? IsOptionalVariables<StorefrontMutations[RawGqlString]> extends true ? [StorefrontMutateSecondParam<RawGqlString>?] : [StorefrontMutateSecondParam<RawGqlString>] : [StorefrontCommonOptions<{ readonly [variable: string]: unknown; }>?]) => Promise<RawGqlString extends never ? StorefrontMutations[RawGqlString]["return"] : OverrideReturnType>
  ```

* cache

  The cache instance passed in from the \`createStorefrontClient\` argument.

  ```ts
  Cache
  ```

* CacheNone

  Re-export of \[\`CacheNone\`]\(/docs/api/hydrogen/2023-07/utilities/cachenone).

  ```ts
  () => NoStoreStrategy
  ```

* CacheLong

  Re-export of \[\`CacheLong\`]\(/docs/api/hydrogen/2023-07/utilities/cachelong).

  ```ts
  (overrideOptions?: AllCacheOptions) => AllCacheOptions
  ```

* CacheShort

  Re-export of \[\`CacheShort\`]\(/docs/api/hydrogen/2023-07/utilities/cacheshort).

  ```ts
  (overrideOptions?: AllCacheOptions) => AllCacheOptions
  ```

* CacheCustom

  Re-export of \[\`CacheCustom\`]\(/docs/api/hydrogen/2023-07/utilities/cachecustom).

  ```ts
  (overrideOptions: AllCacheOptions) => AllCacheOptions
  ```

* generateCacheControlHeader

  Re-export of \[\`generateCacheControlHeader\`]\(/docs/api/hydrogen/2023-07/utilities/generatecachecontrolheader).

  ```ts
  (cacheOptions: AllCacheOptions) => string
  ```

* getPublicTokenHeaders

  Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint. See \[\`getPublicTokenHeaders\` in Hydrogen React]\(/docs/api/hydrogen-react/2023-07/utilities/createstorefrontclient#:\~:text=%27graphql%27.-,getPublicTokenHeaders,-(props%3F%3A) for more details.

  ```ts
  (props?: Partial<Pick<StorefrontClientProps, "contentType">> & Pick<StorefrontClientProps, "publicStorefrontToken">) => Record<string, string>
  ```

* getPrivateTokenHeaders

  Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint for API calls made from a server. See \[\`getPrivateTokenHeaders\` in Hydrogen React]\(/docs/api/hydrogen-react/2023-07/utilities/createstorefrontclient#:\~:text=storefrontApiVersion-,getPrivateTokenHeaders,-(props%3F%3A) for more details.

  ```ts
  (props?: Partial<Pick<StorefrontClientProps, "contentType">> & Pick<StorefrontClientProps, "privateStorefrontToken"> & { buyerIp?: string; }) => Record<string, string>
  ```

* getShopifyDomain

  Creates the fully-qualified URL to your myshopify.com domain. See \[\`getShopifyDomain\` in Hydrogen React]\(/docs/api/hydrogen-react/2023-07/utilities/createstorefrontclient#:\~:text=StorefrontClientReturn-,getShopifyDomain,-(props%3F%3A) for more details.

  ```ts
  (props?: Partial<Pick<StorefrontClientProps, "storeDomain">>) => string
  ```

* getApiUrl

  Creates the fully-qualified URL to your store's GraphQL endpoint. See \[\`getStorefrontApiUrl\` in Hydrogen React]\(/docs/api/hydrogen-react/2023-07/utilities/createstorefrontclient#:\~:text=storeDomain-,getStorefrontApiUrl,-(props%3F%3A) for more details.

  ```ts
  (props?: Partial<Pick<StorefrontClientProps, "storeDomain" | "storefrontApiVersion">>) => string
  ```

* isApiError

  Determines if the error is resulted from a Storefront API call.

  ```ts
  (error: any) => boolean
  ```

* i18n

  The \`i18n\` object passed in from the \`createStorefrontClient\` argument.

  ```ts
  TI18n
  ```

### IsOptionalVariables

```ts
Omit<
  OperationTypeValue['variables'],
  AutoAddedVariableNames
> extends EmptyVariables
  ? true // No need to pass variables
  : GenericVariables extends OperationTypeValue['variables']
  ? true // We don't know what variables are needed
  : false
```

### AutoAddedVariableNames

```ts
'country' | 'language'
```

### EmptyVariables



### GenericVariables

```ts
ExecutionArgs['variableValues']
```

### StorefrontQueries

Maps all the queries found in the project to variables and return types.



### StorefrontQuerySecondParam

```ts
(RawGqlString extends keyof StorefrontQueries
  ? StorefrontCommonOptions<StorefrontQueries[RawGqlString]['variables']>
  : StorefrontCommonOptions<GenericVariables>) & {cache?: CachingStrategy}
```

### StorefrontCommonOptions

```ts
{
  headers?: HeadersInit;
  storefrontApiVersion?: string;
} & (IsOptionalVariables<{variables: Variables}> extends true
  ? {variables?: Variables}
  : {variables: Variables})
```

### CachingStrategy

Use the \`CachingStrategy\` to define a custom caching mechanism for your data. Or use one of the pre-defined caching strategies: CacheNone, CacheShort, CacheLong.

* mode

  The caching mode, generally \`public\`, \`private\`, or \`no-store\`.

  ```ts
  string
  ```

* maxAge

  The maximum amount of time in seconds that a resource will be considered fresh. See \`max-age\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#:\~:text=Response%20Directives-,max%2Dage,-The%20max%2Dage).

  ```ts
  number
  ```

* staleWhileRevalidate

  Indicate that the cache should serve the stale response in the background while revalidating the cache. See \`stale-while-revalidate\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#stale-while-revalidate).

  ```ts
  number
  ```

* sMaxAge

  Similar to \`maxAge\` but specific to shared caches. See \`s-maxage\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#s-maxage).

  ```ts
  number
  ```

* staleIfError

  Indicate that the cache should serve the stale response if an error occurs while revalidating the cache. See \`stale-if-error\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#stale-if-error).

  ```ts
  number
  ```

### StorefrontMutations

Maps all the mutations found in the project to variables and return types.



### StorefrontMutateSecondParam

```ts
RawGqlString extends keyof StorefrontMutations
  ? StorefrontCommonOptions<StorefrontMutations[RawGqlString]['variables']>
  : StorefrontCommonOptions<GenericVariables>
```

### NoStoreStrategy

* mode

  ```ts
  string
  ```

### AllCacheOptions

Override options for a cache strategy.

* mode

  The caching mode, generally \`public\`, \`private\`, or \`no-store\`.

  ```ts
  string
  ```

* maxAge

  The maximum amount of time in seconds that a resource will be considered fresh. See \`max-age\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#:\~:text=Response%20Directives-,max%2Dage,-The%20max%2Dage).

  ```ts
  number
  ```

* staleWhileRevalidate

  Indicate that the cache should serve the stale response in the background while revalidating the cache. See \`stale-while-revalidate\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#stale-while-revalidate).

  ```ts
  number
  ```

* sMaxAge

  Similar to \`maxAge\` but specific to shared caches. See \`s-maxage\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#s-maxage).

  ```ts
  number
  ```

* staleIfError

  Indicate that the cache should serve the stale response if an error occurs while revalidating the cache. See \`stale-if-error\` in the \[MDN docs]\(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#stale-if-error).

  ```ts
  number
  ```

### CartLinesUpdateFunction

* lines

  ```ts
  CartLineUpdateInput[]
  ```

* optionalParams

  ```ts
  CartOptionalInput
  ```

Promise\<CartQueryData>

```ts
Promise<CartQueryData>
```

### CartLineUpdateInput



### CartOptionalInput

* cartId

  The cart id.

  ```ts
  string
  ```

* country

  The country code.

  ```ts
  CountryCode
  ```

* language

  The language code.

  ```ts
  LanguageCode
  ```

### CartQueryData

* cart

  ```ts
  Cart
  ```

* errors

  ```ts
  CartUserError[] | MetafieldsSetUserError[] | MetafieldDeleteUserError[]
  ```

### Cart



### CartUserError



### MetafieldsSetUserError



### MetafieldDeleteUserError



Examples

### Examples

* #### example

  ##### Description

  This is the default example

  ##### JavaScript

  ```js
  import {cartLinesUpdateDefault} from '@shopify/hydrogen';

  const cartUpdate = cartLinesUpdateDefault({
    storefront,
    getCartId,
  });

  const result = await cartUpdate([
    {
      id: 'gid://shopify/CartLine/123456789',
      quantity: 2,
    },
  ]);
  ```
