---
title: "Update product"
method: POST
path: "/v2/commerce/products/{productId}"
tags: ["Products"]
---

# Update product

`POST /v2/commerce/products/{productId}`

## Request

- Base URL: `https://api.squarespace.com`
- URL: `https://api.squarespace.com/v2/commerce/products/{productId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/squarespace/apis/commerce-api/docs/v2/commerce/products/:productId/post.ts> (a function with typed inputs; its response is checked against the schema)

Updates information for a product. The endpoint supports partial updates.

## Path parameters

- `productId` string, required

## Headers

- `Authorization` string, required
- `User-Agent` string, required

## Request body

- UpdateProductRequest
  - `description` ChangeString: Optional; HTTPS URL to receive webhook notifications.
    - `present` boolean
    - `value` string
  - `isVisible` ChangeBoolean
    - `present` boolean
    - `value` boolean
  - `name` ChangeString: Optional; HTTPS URL to receive webhook notifications.
    - `present` boolean
    - `value` string
  - `pricing` ChangeUpdateProductPricing: Pricing data for the product.
    - `present` boolean
    - `value` UpdateProductPricing
      - `basePrice` ChangeMonetaryAmount
        - `present` boolean
        - `value` MonetaryAmount: A monetary amount with currency code and decimal value.
          - `currency` object: ISO 4217 currency code.
            - `currencyCode` string
            - `defaultFractionDigits` integer
            - `displayName` string
            - `numericCode` integer
            - `numericCodeAsString` string
            - `symbol` string
          - `value` number: Decimal monetary value.
      - `onSale` ChangeBoolean
        - `present` boolean
        - `value` boolean
      - `salePrice` ChangeMonetaryAmount
        - `present` boolean
        - `value` MonetaryAmount: A monetary amount with currency code and decimal value.
          - `currency` object: ISO 4217 currency code.
            - `currencyCode` string
            - `defaultFractionDigits` integer
            - `displayName` string
            - `numericCode` integer
            - `numericCodeAsString` string
            - `symbol` string
          - `value` number: Decimal monetary value.
  - `productAttributeNames` ChangeListString: Optional; list of event topics that trigger a webhook notification. Possible values include: extension.uninstall, order.create, order.update.
    - `present` boolean
    - `value` string[]
  - `seoData` ChangeSeoOptions: Options for search engine optimization.
    - `present` boolean
    - `value` SeoOptions: Options for search engine optimization.
      - `description` string
      - `title` string
  - `tags` ChangeListString: Optional; list of event topics that trigger a webhook notification. Possible values include: extension.uninstall, order.create, order.update.
    - `present` boolean
    - `value` string[]
  - `urlSlug` ChangeString: Optional; HTTPS URL to receive webhook notifications.
    - `present` boolean
    - `value` string

## Response `200`

Return the updated Product

- ProductV2
  - `createdOn` string, date-time, required
  - `description` string
  - `id` string, required
  - `images` ProductImage[]
    - `altText` string: Alt text for the image; impacts SEO and appears in search results.
    - `availableFormats` string[]: Available image sizes. Use with `images.url` and a `format` query parameter to retrieve the image at a particular width.
    - `id` string: Unique ProductImage id.
    - `orderIndex` integer: Position of the image in the product's image list.
    - `originalSize` object: Image size when first uploaded.
    - `url` string: Absolute URL of the image hosted on Squarespace.
  - `isVisible` boolean
  - `modifiedOn` string, date-time, required
  - `name` string
  - `seoOptions` SeoOptions: Options for search engine optimization.
    - `description` string
    - `title` string
  - `storePageId` string, required
  - `tags` string[]
  - `type` 'PHYSICAL' | 'SERVICE' | 'GIFT_CARD' | 'DIGITAL', required
  - `url` string
  - `urlSlug` string

## Other responses

- `400`: Bad request. The request body does not conform to the required specification.
- `404`: Not found. The requested Product was not found.
- `405`: Method not allowed. The Product requested is not a supported product type for this operation.
- `409`: Conflict. The provided URL slug is already in use.

---

[API](https://skmtc.dev/squarespace/apis/commerce-api.md) - [All operations](https://skmtc.dev/squarespace/apis/commerce-api/llms.txt) - [OpenAPI document](https://skmtc.dev/squarespace/apis/commerce-api/revisions/5dd4b1b7cd38?raw)
