Skip to main content
POST
/
products
/
{id}
Update a product
curl --request POST \
  --url https://{companyName}.api.joinluminous.com/external/api/v1/products/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "category_id": 123,
  "category": {
    "name": "<string>"
  },
  "sku": "<string>",
  "qty_low_alert": 123,
  "qty_reorder_threshold": 123,
  "qty_minimum": 123,
  "supplier_id": 123,
  "supplier": {
    "name": "<string>"
  },
  "image_url": "<string>",
  "sellable": true,
  "lot_tracking": true,
  "sub_category_id": 123,
  "subcategory": {
    "name": "<string>"
  },
  "default_receiving_location_id": 123,
  "description": "<string>",
  "wholesale_price": 1,
  "retail_price": 1,
  "unit_cost": 1,
  "product_weight": 1,
  "product_length": 1,
  "product_width": 1,
  "product_height": 1,
  "box_weight": "<string>",
  "box_length": 1,
  "box_width": 1,
  "box_height": 1,
  "carton_weight": "<string>",
  "carton_length": 1,
  "carton_width": 1,
  "carton_height": 1,
  "shipping_weight": "<string>",
  "shipping_length": 1,
  "shipping_width": 1,
  "shipping_height": 1,
  "pallet_weight": "<string>",
  "pallet_length": 1,
  "pallet_width": 1,
  "pallet_height": 1,
  "upc": "<string>",
  "custom_fields": {},
  "tags": [
    "<string>"
  ],
  "variants": [
    {
      "sku": "<string>",
      "name": "<string>",
      "image_url": "<string>",
      "qty_low_alert": 123,
      "qty_reorder_threshold": 123,
      "qty_minimum": 123,
      "supplier_id": 123,
      "supplier": {
        "name": "<string>"
      },
      "sellable": true,
      "discontinued": true,
      "default_receiving_location_id": 123,
      "description": "<string>",
      "wholesale_price": 1,
      "retail_price": 1,
      "unit_cost": 1,
      "product_weight": 1,
      "product_length": 1,
      "product_width": 1,
      "product_height": 1,
      "box_weight": "<string>",
      "box_length": 1,
      "box_width": 1,
      "box_height": 1,
      "carton_weight": "<string>",
      "carton_length": 1,
      "carton_width": 1,
      "carton_height": 1,
      "shipping_weight": "<string>",
      "shipping_length": 1,
      "shipping_width": 1,
      "shipping_height": 1,
      "pallet_weight": "<string>",
      "pallet_length": 1,
      "pallet_width": 1,
      "pallet_height": 1,
      "upc": "<string>",
      "custom_fields": {},
      "tags": [
        "<string>"
      ]
    }
  ],
  "boms": [
    123
  ]
}
'
{
  "data": {
    "id": 123,
    "name": "<string>",
    "description": "<string>",
    "retail_price": 123,
    "wholesale_price": 123,
    "unit_cost": 123,
    "product_weight": 123,
    "product_length": 123,
    "product_width": 123,
    "product_height": 123,
    "box_weight": "<string>",
    "box_length": 123,
    "box_width": 123,
    "box_height": 123,
    "carton_weight": "<string>",
    "carton_length": 123,
    "carton_width": 123,
    "carton_height": 123,
    "shipping_weight": "<string>",
    "shipping_length": 123,
    "shipping_width": 123,
    "shipping_height": 123,
    "pallet_weight": "<string>",
    "pallet_length": 123,
    "pallet_width": 123,
    "pallet_height": 123,
    "sellable": true,
    "discontinued": true,
    "image_url": "<string>",
    "category": {
      "id": 123,
      "name": "<string>"
    },
    "subcategory": {
      "id": 123,
      "name": "<string>"
    },
    "custom_fields": {},
    "attachments": [
      {
        "id": 123,
        "name": "<string>",
        "type": "<string>",
        "size": 123,
        "full_url": "<string>",
        "thumb_url": "<string>"
      }
    ],
    "variants": [
      {
        "id": 123,
        "name": "<string>",
        "description": "<string>",
        "attachments": [
          {
            "id": 123,
            "name": "<string>",
            "type": "<string>",
            "size": 123,
            "full_url": "<string>",
            "thumb_url": "<string>"
          }
        ],
        "retail_price": 123,
        "wholesale_price": 123,
        "custom_fields": [
          {}
        ],
        "variant_attributes": {},
        "sku": "<string>",
        "upc": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ],
    "variant_attributes": {},
    "sku": "<string>",
    "alternate_skus": [
      {
        "id": 123,
        "sku": "<string>"
      }
    ],
    "upc": "<string>",
    "tags": [
      {
        "id": 123,
        "name": "<string>",
        "description": "<string>",
        "icon": "<string>",
        "color": "<string>"
      }
    ],
    "substitutions": [
      {
        "id": 123,
        "priority": 123,
        "product": {
          "id": 123,
          "name": "<string>",
          "description": "<string>",
          "retail_price": 123,
          "wholesale_price": 123,
          "unit_cost": 123,
          "product_weight": 123,
          "product_length": 123,
          "product_width": 123,
          "product_height": 123,
          "box_weight": "<string>",
          "box_length": 123,
          "box_width": 123,
          "box_height": 123,
          "carton_weight": "<string>",
          "carton_length": 123,
          "carton_width": 123,
          "carton_height": 123,
          "shipping_weight": "<string>",
          "shipping_length": 123,
          "shipping_width": 123,
          "shipping_height": 123,
          "pallet_weight": "<string>",
          "pallet_length": 123,
          "pallet_width": 123,
          "pallet_height": 123,
          "sellable": true,
          "discontinued": true,
          "image_url": "<string>",
          "sku": "<string>",
          "upc": "<string>",
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z"
        }
      }
    ],
    "supplier": {},
    "type": "PRODUCT",
    "kit_items": [
      {
        "id": 123,
        "product_id": 123,
        "quantity": 123,
        "uom_id": 123,
        "base_uom_quantity": 123,
        "price": 123,
        "original_price": 123,
        "total": 123,
        "product": {
          "id": 123,
          "name": "<string>",
          "sku": "<string>",
          "description": "<string>",
          "retail_price": 123,
          "wholesale_price": 123
        },
        "unit_of_measure": {
          "id": 123,
          "name": "<string>",
          "description": "<string>",
          "base_unit": true
        }
      }
    ],
    "boms": [
      {
        "id": 123,
        "name": "<string>",
        "items": [
          {
            "id": 123,
            "bom_id": 123,
            "product_id": 123,
            "quantity": 123,
            "product": {
              "id": 123,
              "name": "<string>",
              "sku": "<string>",
              "description": "<string>"
            },
            "base_quantity": 123,
            "note": "<string>",
            "uom_id": 123,
            "unit_of_measure": {
              "id": 123,
              "name": "<string>"
            },
            "order": 123,
            "created_at": "2023-11-07T05:31:56Z",
            "updated_at": "2023-11-07T05:31:56Z"
          }
        ],
        "extra_costs": [
          {
            "id": 123,
            "name": "<string>",
            "quantity": 123,
            "unit_price": 123,
            "line_total": 123,
            "created_at": "2023-11-07T05:31:56Z",
            "updated_at": "2023-11-07T05:31:56Z"
          }
        ],
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ],
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Authenticate using a bearer token. To obtain a token, contact [email protected]

Body

application/json
name
string

Product name

Maximum string length: 200
category_id
integer

ID of the product category

category
object

Product category information

sku
string

Internal SKU

Maximum string length: 100
qty_low_alert
integer | null

Quantity threshold for low stock alerts

qty_reorder_threshold
integer | null

Quantity threshold for reordering

qty_minimum
integer | null

Minimum quantity to maintain

supplier_id
integer | null

ID of the preferred supplier

supplier
object

Product preferred supplier information

image_url
string | null

URL to product image

Maximum string length: 255
sellable
boolean | null

Whether the product can be sold

lot_tracking
boolean | null

Whether to track product by lots

sub_category_id
integer | null

ID of the product subcategory

subcategory
object

Product sub-category information

default_receiving_location_id
integer | null

Default location ID for receiving this product

description
string | null

Product description

wholesale_price
number<float> | null

Wholesale price

Required range: x >= 0
retail_price
number<float> | null

Retail price

Required range: x >= 0
unit_cost
number<float> | null

Cost per unit

Required range: x >= 0
product_weight
number<float> | null

Weight of the product

Required range: x >= 0
product_length
number<float> | null

Length of the product

Required range: x >= 0
product_width
number<float> | null

Width of the product

Required range: x >= 0
product_height
number<float> | null

Height of the product

Required range: x >= 0
box_weight
string | null

Weight of the box

box_length
number<float> | null

Length of the box

Required range: x >= 0
box_width
number<float> | null

Width of the box

Required range: x >= 0
box_height
number<float> | null

Height of the box

Required range: x >= 0
carton_weight
string | null

Weight of the carton

carton_length
number<float> | null

Length of the carton

Required range: x >= 0
carton_width
number<float> | null

Width of the carton

Required range: x >= 0
carton_height
number<float> | null

Height of the carton

Required range: x >= 0
shipping_weight
string | null

Shipping weight

shipping_length
number<float> | null

Shipping length

Required range: x >= 0
shipping_width
number<float> | null

Shipping width

Required range: x >= 0
shipping_height
number<float> | null

Shipping height

Required range: x >= 0
pallet_weight
string | null

Weight of the pallet

pallet_length
number<float> | null

Length of the pallet

Required range: x >= 0
pallet_width
number<float> | null

Width of the pallet

Required range: x >= 0
pallet_height
number<float> | null

Height of the pallet

Required range: x >= 0
upc
string | null

UPC/Barcode

custom_fields
object

Custom field values

tags
string[] | null

Tags to associate with the product

variants
object[] | null

Product variants

boms
integer[] | null

Array of BOM IDs to attach to the product. If null or empty array, all BOMs will be detached. When updating, this will replace all existing BOM associations.

BOM ID

Response

Successful response

data
object