---
title: "Updates Product"
url: "https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c/operations/put-products-id"
---

> Full API specification: https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c.md

# Updates Product

`PUT` `/products/{id}`

Operation ID: `put-products-id`

Sample request: PUT /products { "carton_quantity":1, "cogs_ex":11.1, "cubic":20.2, "direct_costs_ex":1.1, "prevent_disabling":false, "promotional_price_inc":1.1, "promotional_price_expiry":"2021-12-12T00:00:00", "freight_inc":1.1, "rrp_inc":1.1, "sell_price_inc":1.1, "web_price_inc":1.1, "breadth":1.1, "core_product":false, "custom_properties": [ { "Name": "Custom1", "Value": "Value1" }, { "Name": "Custom2", "Value": "Value2" } ], "depth":1.1, "disabled":false, "lead_time":12, "length":1.1, "loyalty_ratio":1.1, "manufacturer_sku":"UniqueManufacturerSku", "product_type":{ "id":3 }, "requires_assembly":false, "require_serial_number":1, "shipping_cubic":1.1, "short_description":"ShortDescription", "supplier":{ "supplier_code":"00" }, "supplier_buy_ex":1.1, "supplier_sku":"SupplierSKU1", "supplier_sku2":"SupplierSKU2", "weight":1.1, "buy_price_ex" : 0.0000, "attributes":[ { "value":{ "id":1 }, "id":3 } ], "long_description": "sample text", "voucher_product" : false, "max_discount_rule":{ "id": 1 }, "replenishment_method": { "id": 1 }, "sales_channels":[ { "id": 1, "source_group": { "id": 1 }, "enabled": true }], "export_to_web": false , "external_links":[ { "id": 1, "url": "https://test1.com" }, { "id": 2, "url": "https://test2.com" }, { "id": 3, "url": "https://test3.com" } ], "fixed_price_groups": [ { "id": 1, "price_inc": 15.5 }, { "id": 2, "price_inc": null } ] }

## Path parameters

- `id` (integer, int32, required) - Product id

## Header parameters

- `x-api-key` (string, required) - Api subscription key
- `Cache-Control` (string, optional)
- `Authorization` (string, required) - Bearer token for authorization (e.g., Bearer <token>)

## Request body

Content types: `application/json`

## Responses

- `200` - Returns updated Product
- `400` - Bad request
- `401` - Unauthorized
- `403` - Forbidden
- `404` - Not found

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Retail Express API
  version: v2.1
servers:
  - url: https://api.retailexpress.com.au/v2.1
paths:
  /products/{id}:
    put:
      tags:
        - products
      summary: Updates Product
      description: "Sample request:\r

        \r

        \     PUT /products\r

        \     {\r

        \        \"carton_quantity\":1,\r

        \        \"cogs_ex\":11.1,\r

        \        \"cubic\":20.2,\r

        \        \"direct_costs_ex\":1.1,\r

        \        \"prevent_disabling\":false,\r

        \        \"promotional_price_inc\":1.1,\r

        \        \"promotional_price_expiry\":\"2021-12-12T00:00:00\",\r

        \        \"freight_inc\":1.1,\r

        \        \"rrp_inc\":1.1,\r

        \        \"sell_price_inc\":1.1,\r

        \        \"web_price_inc\":1.1,\r

        \        \"breadth\":1.1,\r

        \        \"core_product\":false,\r

        \        \"custom_properties\": [\r

        \             {\r

        \                 \"Name\": \"Custom1\",\r

        \                 \"Value\": \"Value1\"\r

        \             },\r

        \             {\r

        \                 \"Name\": \"Custom2\",\r

        \                 \"Value\": \"Value2\"\r

        \             }\r

        \        ],\r

        \        \"depth\":1.1,\r

        \        \"disabled\":false,\r

        \        \"lead_time\":12,\r

        \        \"length\":1.1,\r

        \        \"loyalty_ratio\":1.1,\r

        \        \"manufacturer_sku\":\"UniqueManufacturerSku\",\r

        \        \"product_type\":{\r

        \           \"id\":3\r

        \        },\r

        \        \"requires_assembly\":false,\r

        \        \"require_serial_number\":1,\r

        \        \"shipping_cubic\":1.1,\r

        \        \"short_description\":\"ShortDescription\",\r

        \        \"supplier\":{\r

        \            \"supplier_code\":\"00\"\r

        \        },\r

        \        \"supplier_buy_ex\":1.1,\r

        \        \"supplier_sku\":\"SupplierSKU1\",\r

        \        \"supplier_sku2\":\"SupplierSKU2\",\r

        \        \"weight\":1.1,\r

        \        \"buy_price_ex\" : 0.0000,\r

        \        \"attributes\":[\r

        \           {\r

        \              \"value\":{\r

        \                 \"id\":1\r

        \              },\r

        \              \"id\":3\r

        \           }\r

        \        ],\r

        \        \"long_description\": \"sample text\",\r

        \        \"voucher_product\" : false,\r

        \        \"max_discount_rule\":{\r

        \             \"id\": 1\r

        \        },\r

        \        \"replenishment_method\": {\r

        \              \"id\": 1\r

        \        },\r

        \        \"sales_channels\":[\r

        \             {\r

        \                 \"id\": 1,\r

        \                 \"source_group\": \r

        \                 {\r

        \                     \"id\": 1\r

        \                 },\r

        \                 \"enabled\": true\r

        \             }],\r

        \       \"export_to_web\": false ,\r

        \        \"external_links\":[\r

        \           {\r

        \                 \"id\": 1,\r

        \                 \"url\": \"https://test1.com\"\r

        \             },\r

        \             {\r

        \                 \"id\": 2,\r

        \                 \"url\": \"https://test2.com\"\r

        \             },\r

        \             {\r

        \                 \"id\": 3,\r

        \                 \"url\": \"https://test3.com\"\r

        \             }\r

        \        ],\r

        \        \"fixed_price_groups\": [\r

        \             {\r

        \                 \"id\": 1,\r

        \                 \"price_inc\": 15.5\r

        \             },\r

        \             {\r

        \                 \"id\": 2,\r

        \                 \"price_inc\": null\r

        \             }\r

        \        ]\r

        \     }"
      operationId: put-products-id
      parameters:
        - name: id
          in: path
          description: Product id
          required: true
          schema:
            type: integer
            description: Product id
            format: int32
            example: 10000
        - name: x-api-key
          in: header
          description: Api subscription key
          required: true
          schema:
            type: string
        - name: Cache-Control
          in: header
          required: false
          schema:
            type: string
            default: no-cache
        - name: Authorization
          in: header
          required: true
          description: Bearer token for authorization (e.g., Bearer <token>)
          schema:
            type: string
      requestBody:
        description: Product model
        content:
          application/json:
            schema:
              title: EmptyExample
              type: object
              additionalProperties: false
      responses:
        "200":
          description: Returns updated Product
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Product"
              example:
                carton_quantity: string
                cogs_ex: 0
                cubic: 0
                direct_costs_ex: 0
                prevent_disabling: true
                promotional_price_inc: 0
                promotional_price_expiry: string
                freight_inc: 0
                price_ex: 0
                rrp_inc: 0
                sell_price_inc: 0
                web_price_inc: 0
                markup_target: 0
                breadth: 0
                core_product: true
                custom_properties:
                  - name: string
                    value: string
                depth: 0
                disabled: true
                id: 0
                lead_time: 0
                length: 0
                loyalty_ratio: 0
                manufacturer_sku: string
                product_type:
                  id: 0
                  name: string
                  modified_on: string
                requires_assembly: true
                shipping_cubic: 0
                short_description: string
                supplier:
                  id: 0
                  supplier_code: string
                  name: string
                  is_enabled: true
                  modified_on: string
                supplier_buy_ex: 0
                supplier_sku: string
                supplier_sku2: string
                weight: 0
                buy_price_ex: 0
                long_description: string
                voucher_product: true
                max_discount_rule:
                  id: 0
                  name: string
                  value: 0
                  type: string
                  modified_on: string
                replenishment_method:
                  id: 0
                  code: string
                  name: string
                attributes:
                  - id: 0
                    name: string
                    type: string
                    modified_on: string
                    value:
                      id: 0
                      name: string
                      list_order: 0
                created_on: string
                modified_on: string
                inventory:
                  - outlet:
                      id: 0
                      name: string
                      modified_on: string
                    quantity_available: 0
                    quantity_on_order: 0
                sales_channels:
                  - id: 0
                    name: string
                    shopify_channel: true
                    source_group:
                      id: 0
                      name: string
                    enabled: true
                export_to_web: true
                package: true
                has_package_products: true
                last_sold_on: string
                require_serial_number: 0
                last_fulfiled_on: string
                external_links:
                  - id: 0
                    name: string
                    url: string
                fixed_price_groups:
                  - id: 0
                    name: string
                    sell_price_inc: 0
                    modified_on: string
                price_groups:
                  - id: 0
                    name: string
                    sell_price_inc: 0
                    web_price_inc: 0
                    modified_on: string
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
security: []
components:
  schemas:
    Product:
      title: ""
      type: object
      properties:
        carton_quantity:
          type: string
          description: Carton quantity
          nullable: true
        cogs_ex:
          type: number
          description: Cogs ex
          format: double
        cubic:
          type: number
          description: Cubic
          format: double
        direct_costs_ex:
          type: number
          description: Direct costs
          format: double
          nullable: true
        prevent_disabling:
          type: boolean
          description: Is product disabled
          nullable: true
        promotional_price_inc:
          type: number
          description: Discount price
          format: double
          nullable: true
        promotional_price_expiry:
          type: string
          description: Discount price expiry
          format: date-time
          nullable: true
        freight_inc:
          type: number
          description: Freight inc
          format: double
          nullable: true
        price_ex:
          type: number
          description: Price ex
          format: double
          nullable: true
        rrp_inc:
          type: number
          description: Rpr inc
          format: double
          nullable: true
        sell_price_inc:
          maximum: 922337203685477.6
          minimum: -922337203685477.6
          type: number
          description: Sell Price, cannot be used along with markup_target
          format: double
          nullable: true
        web_price_inc:
          type: number
          description: Web price
          format: double
          nullable: true
        markup_target:
          type: number
          description: Markup Target %, cannot be used along with sell_price_inc
          format: double
          nullable: true
        breadth:
          maximum: 9999.9999
          minimum: -9999.9999
          type: number
          description: Breadth
          format: double
          nullable: true
        core_product:
          type: boolean
          description: Is core product flag
        custom_properties:
          type: array
          items:
            $ref: "#/components/schemas/CustomProperty"
          description: List of custom properties
          nullable: true
        depth:
          maximum: 9999.9999
          minimum: -9999.9999
          type: number
          description: Depth
          format: double
          nullable: true
        disabled:
          type: boolean
          description: Disabled
          nullable: true
        id:
          type: integer
          description: Product id.
          format: int32
          nullable: true
        lead_time:
          type: integer
          description: Lead time
          format: int32
          nullable: true
        length:
          maximum: 9999.9999
          minimum: -9999.9999
          type: number
          description: Length
          format: double
          nullable: true
        loyalty_ratio:
          type: number
          description: Loyalty Ratio
          format: double
          nullable: true
        manufacturer_sku:
          type: string
          description: Manufacture SKU
          nullable: true
        product_type:
          $ref: "#/components/schemas/ProductType"
        requires_assembly:
          type: boolean
          description: Requires Assembly
        shipping_cubic:
          maximum: 999999.9999
          minimum: -999999.9999
          type: number
          description: Shipping Cubic
          format: double
          nullable: true
        short_description:
          type: string
          description: Product description.
          nullable: true
        supplier:
          $ref: "#/components/schemas/SupplierLimited"
        supplier_buy_ex:
          maximum: 922337203685477.6
          minimum: -922337203685477.6
          type: number
          description: Supplier Buy Ex
          format: double
          nullable: true
        supplier_sku:
          type: string
          description: Supplier SKU.
          nullable: true
        supplier_sku2:
          type: string
          description: Supplier SKU2.
          nullable: true
        weight:
          maximum: 99999999.9999
          minimum: -99999999.9999
          type: number
          description: Weight
          format: double
          nullable: true
        buy_price_ex:
          type: number
          description: Buy price ex
          format: double
          nullable: true
        long_description:
          type: string
          description: Long description
          nullable: true
        voucher_product:
          type: boolean
          description: Voucher product
        max_discount_rule:
          $ref: "#/components/schemas/MaxDiscountRule"
        replenishment_method:
          $ref: "#/components/schemas/ProductReplenishmentMethod"
        attributes:
          type: array
          items:
            $ref: "#/components/schemas/Attribute"
          description: Product attributes
          nullable: true
        created_on:
          type: string
          description: Created on
          format: date-time
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
          nullable: true
        inventory:
          type: array
          items:
            $ref: "#/components/schemas/ProductInventory"
          description: Inventory
          nullable: true
        sales_channels:
          type: array
          items:
            $ref: "#/components/schemas/ProductSalesChannelVM"
          description: Product Sales Chanels
          nullable: true
        export_to_web:
          type: boolean
          description: Export To Web
          nullable: true
        package:
          type: boolean
          description: Package
        has_package_products:
          type: boolean
          description: Has Package Products
        last_sold_on:
          type: string
          description: Last Processed Sold
          format: date-time
          nullable: true
        require_serial_number:
          type: integer
          description: Require SerialNumber
          format: int32
        last_fulfiled_on:
          type: string
          description: Last Fulfiled
          format: date-time
          nullable: true
        external_links:
          type: array
          items:
            $ref: "#/components/schemas/ProductExternalLinks"
          description: Product External Links.
          nullable: true
        fixed_price_groups:
          type: array
          items:
            $ref: "#/components/schemas/ProductFixedPriceGroupVM"
          description: Product Fixed Price Groups
          nullable: true
        price_groups:
          type: array
          items:
            $ref: "#/components/schemas/ProductPriceGroupVM"
          description: Product Standart Price Groups
          nullable: true
      additionalProperties: false
      description: Product Model
    ProblemDetails:
      title: ""
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    CustomProperty:
      title: ""
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
      description: Custom Property Model
    ProductType:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Product type Id.
          format: int32
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          pattern: ^[a-zA-Z0-9\s./;:\-_+()*&^%$#@]+$
          type: string
          description: Product type description (Name)
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Product Type Model
    SupplierLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Supplier Id
          format: int32
          nullable: true
        supplier_code:
          maxLength: 20
          minLength: 0
          type: string
          description: Supplier Code
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          type: string
          description: Supplier Name
          nullable: true
        is_enabled:
          type: boolean
          description: Is enabled flag
        modified_on:
          type: string
          description: Modified On
          format: date-time
      additionalProperties: false
    MaxDiscountRule:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Max Discount Rule Id.
          format: int32
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          type: string
          description: Max Discount Rule name.
          nullable: true
        value:
          type: number
          description: Max Discount Rule value.
          format: double
        type:
          type: string
          description: Discount Type.
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Max Discount Rule Model
    ProductReplenishmentMethod:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Product Replenishment Method Id.
          format: int32
          nullable: true
        code:
          type: string
          description: Product Replenishment Method code.
          nullable: true
        name:
          type: string
          description: Product Replenishment Method name.
          nullable: true
      additionalProperties: false
    Attribute:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Attribute Id
          format: int32
          nullable: true
        name:
          type: string
          description: Attribute Name
          nullable: true
        type:
          type: string
          description: Attribute Type
          nullable: true
          readOnly: true
        modified_on:
          type: string
          format: date-time
          nullable: true
        value:
          $ref: "#/components/schemas/AttributeValueLimited"
      additionalProperties: false
    ProductInventory:
      title: ""
      type: object
      properties:
        outlet:
          $ref: "#/components/schemas/ProductInventoryOutlet"
        quantity_available:
          type: integer
          description: Available Quantity
          format: int32
        quantity_on_order:
          type: integer
          description: On-order Quantity
          format: int32
      additionalProperties: false
      description: Product Inventory Model
    ProductSalesChannelVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Channel Id.
          format: int32
        name:
          type: string
          description: Channel Name.
          nullable: true
        shopify_channel:
          type: boolean
          description: Shopify Channel.
        source_group:
          $ref: "#/components/schemas/SourceGroupVM"
        enabled:
          type: boolean
          description: Enabled.
      additionalProperties: false
    ProductExternalLinks:
      title: ""
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        url:
          type: string
          nullable: true
      additionalProperties: false
      description: Product External Links
    ProductFixedPriceGroupVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Fixed Price Group Id.
          format: int32
        name:
          type: string
          description: Fixed Price Group Name.
          nullable: true
        sell_price_inc:
          type: number
          description: Fixed Price Group Price.
          format: double
          nullable: true
        modified_on:
          type: string
          description: Fixed Price Group Modified On.
          format: date-time
          nullable: true
      additionalProperties: false
    ProductPriceGroupVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Identifier
          format: int32
        name:
          type: string
          description: Name
          nullable: true
        sell_price_inc:
          type: number
          description: Calculated POS Price
          format: double
        web_price_inc:
          type: number
          description: Calculated Web Price
          format: double
        modified_on:
          type: string
          format: date-time
      additionalProperties: false
    AttributeValueLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Attribute Value Id
          format: int32
          nullable: true
        name:
          type: string
          description: Attribute Value Name
          nullable: true
        list_order:
          type: integer
          description: Attribute Value List Order
          format: int32
          nullable: true
      additionalProperties: false
    ProductInventoryOutlet:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Outlet Id
          format: int32
        name:
          type: string
          description: Name
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
          nullable: true
      additionalProperties: false
      description: Product Inventory Outlet Model
    SourceGroupVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Source Group Id.
          format: int32
          nullable: true
        name:
          type: string
          description: Source Group Name.
          nullable: true
      additionalProperties: false
```
