Skip to main content
PATCH
/
products
Create or update product
curl --request PATCH \
  --url https://{companyName}.api.joinluminous.com/external/api/v1/products \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": 123,
  "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": {
    "unit": "lb",
    "value": 1
  },
  "dimensional_weight": {
    "unit": "lb",
    "value": 1
  },
  "product_length": 1,
  "product_width": 1,
  "product_height": 1,
  "box_weight": {
    "unit": "lb",
    "value": 1
  },
  "box_length": 1,
  "box_width": 1,
  "box_height": 1,
  "carton_weight": {
    "unit": "lb",
    "value": 1
  },
  "carton_length": 1,
  "carton_width": 1,
  "carton_height": 1,
  "shipping_weight": {
    "unit": "lb",
    "value": 1
  },
  "shipping_length": 1,
  "shipping_width": 1,
  "shipping_height": 1,
  "pallet_weight": {
    "unit": "lb",
    "value": 1
  },
  "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": {
        "unit": "lb",
        "value": 1
      },
      "dimensional_weight": {
        "unit": "lb",
        "value": 1
      },
      "product_length": 1,
      "product_width": 1,
      "product_height": 1,
      "box_weight": {
        "unit": "lb",
        "value": 1
      },
      "box_length": 1,
      "box_width": 1,
      "box_height": 1,
      "carton_weight": {
        "unit": "lb",
        "value": 1
      },
      "carton_length": 1,
      "carton_width": 1,
      "carton_height": 1,
      "shipping_weight": {
        "unit": "lb",
        "value": 1
      },
      "shipping_length": 1,
      "shipping_width": 1,
      "shipping_height": 1,
      "pallet_weight": {
        "unit": "lb",
        "value": 1
      },
      "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": [
      {
        "unit": "lb",
        "value": 1
      }
    ],
    "product_weight_oz": 123,
    "product_weight_lb": 123,
    "dimensional_weight": [
      {
        "unit": "lb",
        "value": 1
      }
    ],
    "dimensional_weight_oz": 123,
    "dimensional_weight_lb": 123,
    "product_length": 123,
    "product_width": 123,
    "product_height": 123,
    "box_weight": [
      {
        "unit": "lb",
        "value": 1
      }
    ],
    "box_weight_oz": 123,
    "box_weight_lb": 123,
    "box_length": 123,
    "box_width": 123,
    "box_height": 123,
    "carton_weight": [
      {
        "unit": "lb",
        "value": 1
      }
    ],
    "carton_weight_oz": 123,
    "carton_weight_lb": 123,
    "carton_length": 123,
    "carton_width": 123,
    "carton_height": 123,
    "shipping_weight": [
      {
        "unit": "lb",
        "value": 1
      }
    ],
    "shipping_weight_oz": 123,
    "shipping_weight_lb": 123,
    "shipping_length": 123,
    "shipping_width": 123,
    "shipping_height": 123,
    "pallet_weight": [
      {
        "unit": "lb",
        "value": 1
      }
    ],
    "pallet_weight_oz": 123,
    "pallet_weight_lb": 123,
    "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>",
        "product_weight": [
          {
            "unit": "lb",
            "value": 1
          }
        ],
        "product_weight_oz": 123,
        "product_weight_lb": 123,
        "dimensional_weight": [
          {
            "unit": "lb",
            "value": 1
          }
        ],
        "dimensional_weight_oz": 123,
        "dimensional_weight_lb": 123,
        "box_weight": [
          {
            "unit": "lb",
            "value": 1
          }
        ],
        "box_weight_oz": 123,
        "box_weight_lb": 123,
        "carton_weight": [
          {
            "unit": "lb",
            "value": 1
          }
        ],
        "carton_weight_oz": 123,
        "carton_weight_lb": 123,
        "shipping_weight": [
          {
            "unit": "lb",
            "value": 1
          }
        ],
        "shipping_weight_oz": 123,
        "shipping_weight_lb": 123,
        "pallet_weight": [
          {
            "unit": "lb",
            "value": 1
          }
        ],
        "pallet_weight_oz": 123,
        "pallet_weight_lb": 123,
        "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": [
            {
              "unit": "lb",
              "value": 1
            }
          ],
          "product_weight_oz": 123,
          "product_weight_lb": 123,
          "dimensional_weight": [
            {
              "unit": "lb",
              "value": 1
            }
          ],
          "dimensional_weight_oz": 123,
          "dimensional_weight_lb": 123,
          "product_length": 123,
          "product_width": 123,
          "product_height": 123,
          "box_weight": [
            {
              "unit": "lb",
              "value": 1
            }
          ],
          "box_weight_oz": 123,
          "box_weight_lb": 123,
          "box_length": 123,
          "box_width": 123,
          "box_height": 123,
          "carton_weight": [
            {
              "unit": "lb",
              "value": 1
            }
          ],
          "carton_weight_oz": 123,
          "carton_weight_lb": 123,
          "carton_length": 123,
          "carton_width": 123,
          "carton_height": 123,
          "shipping_weight": [
            {
              "unit": "lb",
              "value": 1
            }
          ],
          "shipping_weight_oz": 123,
          "shipping_weight_lb": 123,
          "shipping_length": 123,
          "shipping_width": 123,
          "shipping_height": 123,
          "pallet_weight": [
            {
              "unit": "lb",
              "value": 1
            }
          ],
          "pallet_weight_oz": 123,
          "pallet_weight_lb": 123,
          "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 developers@joinluminous.com

Body

application/json
id
integer
required

Product ID (required if SKU not provided)

name
string

Product name

Maximum string length: 200
category_id
integer

ID of the product category

category
object

Product category information

sku
string

Product SKU (required if ID not provided)

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
object
dimensional_weight
object
product_length
number<float> | null

Length of the product (in inches)

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

Width of the product (in inches)

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

Height of the product (in inches)

Required range: x >= 0
box_weight
object
box_length
number<float> | null

Length of the box (in inches)

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

Width of the box (in inches)

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

Height of the box (in inches)

Required range: x >= 0
carton_weight
object
carton_length
number<float> | null

Length of the carton (in inches)

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

Width of the carton (in inches)

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

Height of the carton (in inches)

Required range: x >= 0
shipping_weight
object
shipping_length
number<float> | null

Shipping length (in inches)

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

Shipping width (in inches)

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

Shipping height (in inches)

Required range: x >= 0
pallet_weight
object
pallet_length
number<float> | null

Length of the pallet (in inches)

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

Width of the pallet (in inches)

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

Height of the pallet (in inches)

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