Skip to main content
POST
/
products
Create a product
curl --request POST \
  --url https://{companyName}.api.joinluminous.com/external/api/v1/products \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "category_id": 123,
  "sku": "<string>",
  "category": {
    "name": "<string>"
  },
  "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": [
    {
      "name": "<string>",
      "sku": "<string>",
      "image_url": "<string>",
      "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>"
      ]
    }
  ],
  "type": "PRODUCT",
  "kit_items": [
    {
      "product_id": 123,
      "quantity": 1,
      "sku": "<string>",
      "uom_id": 123,
      "price": 1,
      "original_price": 1
    }
  ],
  "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
required

Product name

Maximum string length: 200
category_id
integer
required

ID of the product category

sku
string
required

Internal SKU

Maximum string length: 100
category
object

Product category information

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

type
enum<string> | null
default:PRODUCT

Product type. PRODUCT for regular products, KIT for kit products that contain other products as components.

Available options:
PRODUCT,
KIT
kit_items
object[] | null

Array of kit items (components) for kit products. Required when type = KIT. Each kit item must specify either product_id or sku, and quantity.

boms
integer[] | null

Array of BOM IDs to attach to the product. If null or empty array, all BOMs will be detached.

BOM ID

Response

Successful response

data
object