> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnicommerce.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Product

> Update an existing product by ID. Only provided fields will be updated. Supports API key Bearer token authentication.



## OpenAPI

````yaml /openapi.json patch /api/v1/products/{productId}
openapi: 3.1.0
info:
  title: OmniCommerce API
  version: 1.0.0
  license:
    name: Proprietary
    url: https://omnicommerce.sg/terms
  description: >-
    OmniCommerce API surface for agents and developer integrations. Includes
    public endpoints (merchant discovery, product search, compare, catalog, ACO
    retrieval) and authenticated endpoints (product management via API key
    Bearer tokens).
servers:
  - url: https://omnicommerce.sg
    description: Production
  - url: http://localhost:3000
    description: Local development
security: []
tags:
  - name: agentic-checkout
    description: Merchant-fulfilled agentic checkout
    x-group: Agentic Checkout
  - name: agents
    description: agents
    x-group: Agents
  - name: analytics
    description: Sales performance across marketplaces
    x-group: Analytics
  - name: aops
    description: Agent operating procedures
    x-group: AOPs
  - name: campaigns
    description: Campaign briefs, offer windows, and marketplace runs
    x-group: Campaigns
  - name: developer-platform
    description: Authenticated developer platform APIs
    x-group: Developer Platform
  - name: documents
    description: Knowledge base document uploads
    x-group: Knowledge Base
  - name: looks
    description: AI-styled product looks
    x-group: Looks
  - name: oauth
    description: OAuth token endpoints
    x-group: OAuth
  - name: orders
    description: Workspace and agentic orders
    x-group: Orders
  - name: organizations
    description: Organization management
    x-group: Organizations
  - name: price-books
    description: Marketplace list-price markup rules
    x-group: Price Books
  - name: products
    description: Product CRUD, bulk import, enrichment, publish, and delist
    x-group: Products
  - name: promotions
    description: Central promotions and marketplace sync
    x-group: Promotions
  - name: public-agent
    description: Public agent discovery and catalog APIs
    x-group: Public Agent
  - name: returns
    description: returns
    x-group: Returns
  - name: reviews
    description: Marketplace product reviews and seller replies
    x-group: Reviews
  - name: settlements
    description: settlements
    x-group: Settlements
  - name: ucp
    description: Universal Commerce Protocol
    x-group: UCP
paths:
  /api/v1/products/{productId}:
    patch:
      tags:
        - products
      summary: Update Product
      description: >-
        Update an existing product by ID. Only provided fields will be updated.
        Supports API key Bearer token authentication.
      operationId: patch_v1_products_by_productid
      parameters:
        - name: productId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Partial product object. Only provided fields will be updated.
              properties:
                name:
                  type: string
                  maxLength: 400
                description:
                  type: string
                sku:
                  type: string
                  maxLength: 200
                brand:
                  type: string
                  maxLength: 160
                price:
                  type: number
                  minimum: 0
                currency:
                  type: string
                  maxLength: 3
                weight:
                  type: number
                  minimum: 0
                dimensions:
                  type: object
                  properties:
                    length:
                      type: number
                    width:
                      type: number
                    height:
                      type: number
                inventory:
                  type: object
                  properties:
                    quantity:
                      type: integer
                    lowStockThreshold:
                      type: integer
                images:
                  type: array
                  items:
                    type: string
                    format: uri
                    maxLength: 2048
                    pattern: ^[Hh][Tt][Tt][Pp][Ss]?://
                  description: >-
                    Array of HTTP(S) image URL strings only. Image objects and
                    delimited strings are not accepted. Each entry is a complete
                    URL, including commas in paths or query strings. Images
                    follow array order.
                highlights:
                  type: array
                  items:
                    type: string
                tags:
                  type: array
                  items:
                    type: string
                marketplaces:
                  type: object
                  additionalProperties: true
                  properties:
                    shopee:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ProductCountryCode'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                    lazada:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ProductCountryCode'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                    tiktok:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ProductCountryCode'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                    shopify:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ProductCountryCode'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                    zalora:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ZaloraProductCountry'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                    amazon:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ProductCountryCode'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                    ebay:
                      type: object
                      additionalProperties: true
                      properties:
                        enabled:
                          type: boolean
                          description: >-
                            Enable this marketplace on the product. On create,
                            when top-level targetMarketplaces is omitted,
                            entries with enabled set to true or omitted become
                            targets.
                        country:
                          $ref: '#/components/schemas/ProductCountryCode'
                        storeId:
                          type: string
                          maxLength: 255
                          description: >-
                            Connected store ID. Copy
                            connectedMarketplaces[].storeId from GET
                            /api/v1/marketplaces/connected for this marketplace
                            and country.
                status:
                  type: string
                  enum:
                    - draft
                    - active
                    - archived
            example:
              price: 69.99
              inventory:
                quantity: 150
              highlights:
                - Active noise cancellation
                - 30-hour battery
                - IPX5 water resistant
      responses:
        '200':
          description: Product updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  productId:
                    type: string
                  product:
                    type: object
        '400':
          description: Bad Request - Invalid update data
        '401':
          description: Unauthorized - Invalid or missing Bearer token
        '403':
          description: Forbidden - Token not authorized for this organization
        '404':
          description: Product not found
        '500':
          description: Internal Server Error
      security:
        - bearerAuth: []
components:
  schemas:
    ProductCountryCode:
      type: string
      enum:
        - ad
        - ae
        - af
        - ag
        - ai
        - al
        - am
        - ao
        - aq
        - ar
        - as
        - at
        - au
        - aw
        - ax
        - az
        - ba
        - bb
        - bd
        - be
        - bf
        - bg
        - bh
        - bi
        - bj
        - bl
        - bm
        - bn
        - bo
        - bq
        - br
        - bs
        - bt
        - bv
        - bw
        - by
        - bz
        - ca
        - cc
        - cd
        - cf
        - cg
        - ch
        - ci
        - ck
        - cl
        - cm
        - cn
        - co
        - cr
        - cu
        - cv
        - cw
        - cx
        - cy
        - cz
        - de
        - dj
        - dk
        - dm
        - do
        - dz
        - ec
        - ee
        - eg
        - eh
        - er
        - es
        - et
        - fi
        - fj
        - fk
        - fm
        - fo
        - fr
        - ga
        - gb
        - gd
        - ge
        - gf
        - gg
        - gh
        - gi
        - gl
        - gm
        - gn
        - gp
        - gq
        - gr
        - gs
        - gt
        - gu
        - gw
        - gy
        - hk
        - hm
        - hn
        - hr
        - ht
        - hu
        - id
        - ie
        - il
        - im
        - in
        - io
        - iq
        - ir
        - is
        - it
        - je
        - jm
        - jo
        - jp
        - ke
        - kg
        - kh
        - ki
        - km
        - kn
        - kp
        - kr
        - kw
        - ky
        - kz
        - la
        - lb
        - lc
        - li
        - lk
        - lr
        - ls
        - lt
        - lu
        - lv
        - ly
        - ma
        - mc
        - md
        - me
        - mf
        - mg
        - mh
        - mk
        - ml
        - mm
        - mn
        - mo
        - mp
        - mq
        - mr
        - ms
        - mt
        - mu
        - mv
        - mw
        - mx
        - my
        - mz
        - na
        - nc
        - ne
        - nf
        - ng
        - ni
        - nl
        - 'no'
        - np
        - nr
        - nu
        - nz
        - om
        - pa
        - pe
        - pf
        - pg
        - ph
        - pk
        - pl
        - pm
        - pn
        - pr
        - ps
        - pt
        - pw
        - py
        - qa
        - re
        - ro
        - rs
        - ru
        - rw
        - sa
        - sb
        - sc
        - sd
        - se
        - sg
        - sh
        - si
        - sj
        - sk
        - sl
        - sm
        - sn
        - so
        - sr
        - ss
        - st
        - sv
        - sx
        - sy
        - sz
        - tc
        - td
        - tf
        - tg
        - th
        - tj
        - tk
        - tl
        - tm
        - tn
        - to
        - tr
        - tt
        - tv
        - tw
        - tz
        - ua
        - ug
        - um
        - us
        - uy
        - uz
        - va
        - vc
        - ve
        - vg
        - vi
        - vn
        - vu
        - wf
        - ws
        - ye
        - yt
        - za
        - zm
        - zw
      description: >-
        ISO 3166-1 alpha-2 country code, for example sg or my. Codes are trimmed
        and normalized to lowercase. Country names, custom values, and global
        are rejected. Select the country for the connected store explicitly.
    ZaloraProductCountry:
      type: string
      enum:
        - ad
        - ae
        - af
        - ag
        - ai
        - al
        - am
        - ao
        - aq
        - ar
        - as
        - at
        - au
        - aw
        - ax
        - az
        - ba
        - bb
        - bd
        - be
        - bf
        - bg
        - bh
        - bi
        - bj
        - bl
        - bm
        - bn
        - bo
        - bq
        - br
        - bs
        - bt
        - bv
        - bw
        - by
        - bz
        - ca
        - cc
        - cd
        - cf
        - cg
        - ch
        - ci
        - ck
        - cl
        - cm
        - cn
        - co
        - cr
        - cu
        - cv
        - cw
        - cx
        - cy
        - cz
        - de
        - dj
        - dk
        - dm
        - do
        - dz
        - ec
        - ee
        - eg
        - eh
        - er
        - es
        - et
        - fi
        - fj
        - fk
        - fm
        - fo
        - fr
        - ga
        - gb
        - gd
        - ge
        - gf
        - gg
        - gh
        - gi
        - gl
        - gm
        - gn
        - gp
        - gq
        - gr
        - gs
        - gt
        - gu
        - gw
        - gy
        - hk
        - hm
        - hn
        - hr
        - ht
        - hu
        - id
        - ie
        - il
        - im
        - in
        - io
        - iq
        - ir
        - is
        - it
        - je
        - jm
        - jo
        - jp
        - ke
        - kg
        - kh
        - ki
        - km
        - kn
        - kp
        - kr
        - kw
        - ky
        - kz
        - la
        - lb
        - lc
        - li
        - lk
        - lr
        - ls
        - lt
        - lu
        - lv
        - ly
        - ma
        - mc
        - md
        - me
        - mf
        - mg
        - mh
        - mk
        - ml
        - mm
        - mn
        - mo
        - mp
        - mq
        - mr
        - ms
        - mt
        - mu
        - mv
        - mw
        - mx
        - my
        - mz
        - na
        - nc
        - ne
        - nf
        - ng
        - ni
        - nl
        - 'no'
        - np
        - nr
        - nu
        - nz
        - om
        - pa
        - pe
        - pf
        - pg
        - ph
        - pk
        - pl
        - pm
        - pn
        - pr
        - ps
        - pt
        - pw
        - py
        - qa
        - re
        - ro
        - rs
        - ru
        - rw
        - sa
        - sb
        - sc
        - sd
        - se
        - sg
        - sh
        - si
        - sj
        - sk
        - sl
        - sm
        - sn
        - so
        - sr
        - ss
        - st
        - sv
        - sx
        - sy
        - sz
        - tc
        - td
        - tf
        - tg
        - th
        - tj
        - tk
        - tl
        - tm
        - tn
        - to
        - tr
        - tt
        - tv
        - tw
        - tz
        - ua
        - ug
        - um
        - us
        - uy
        - uz
        - va
        - vc
        - ve
        - vg
        - vi
        - vn
        - vu
        - wf
        - ws
        - ye
        - yt
        - za
        - zm
        - zw
        - global
      description: >-
        Country code or the global connection region for a Zalora Global Seller
        Center store. This exception applies only to
        marketplaces.zalora.country; targetCountries continues to require ISO
        country codes.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Bearer API key for server-to-server access. Session auth is also
        supported in first-party UI flows.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.