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>"
},
"distribution_template_id": 123,
"image_url": "<string>",
"sellable": true,
"lot_tracking": true,
"is_drop_ship_item": true,
"taxable": true,
"sub_category_id": 123,
"subcategory": {
"name": "<string>"
},
"default_receiving_location_id": 123,
"default_assembly_location_id": 123,
"description": "<string>",
"wholesale_price": 1,
"retail_price": 1,
"unit_cost": 1,
"manufacturing_fee": 1,
"product_weight": {
"value": 1
},
"dimensional_weight": {
"value": 1
},
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": {
"value": 1
},
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": {
"value": 1
},
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": {
"value": 1
},
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": {
"value": 1
},
"pallet_length": 1,
"pallet_width": 1,
"pallet_height": 1,
"upc": "<string>",
"priority_list_id": 123,
"priority_list": {
"id": 123,
"name": "<string>"
},
"custom_fields": {},
"tags": [
"<string>"
],
"default_selling_unit_id": 2,
"default_purchase_unit_id": 2,
"unit_class_id": 2,
"selling_uom": {
"name": "<string>"
},
"purchase_uom": {
"name": "<string>"
},
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": [
"<string>"
]
}
],
"variant_template": 123,
"variants": [
{
"name": "<string>",
"sku": "<string>",
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": [
"<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": {
"value": 1
},
"dimensional_weight": {
"value": 1
},
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": {
"value": 1
},
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": {
"value": 1
},
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": {
"value": 1
},
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": {
"value": 1
},
"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
],
"profile_id": 123,
"profile_slug": "<string>"
}
'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/products"
payload = {
"name": "<string>",
"category_id": 123,
"sku": "<string>",
"category": { "name": "<string>" },
"supplier_id": 123,
"supplier": { "name": "<string>" },
"distribution_template_id": 123,
"image_url": "<string>",
"sellable": True,
"lot_tracking": True,
"is_drop_ship_item": True,
"taxable": True,
"sub_category_id": 123,
"subcategory": { "name": "<string>" },
"default_receiving_location_id": 123,
"default_assembly_location_id": 123,
"description": "<string>",
"wholesale_price": 1,
"retail_price": 1,
"unit_cost": 1,
"manufacturing_fee": 1,
"product_weight": { "value": 1 },
"dimensional_weight": { "value": 1 },
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": { "value": 1 },
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": { "value": 1 },
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": { "value": 1 },
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": { "value": 1 },
"pallet_length": 1,
"pallet_width": 1,
"pallet_height": 1,
"upc": "<string>",
"priority_list_id": 123,
"priority_list": {
"id": 123,
"name": "<string>"
},
"custom_fields": {},
"tags": ["<string>"],
"default_selling_unit_id": 2,
"default_purchase_unit_id": 2,
"unit_class_id": 2,
"selling_uom": { "name": "<string>" },
"purchase_uom": { "name": "<string>" },
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": ["<string>"]
}
],
"variant_template": 123,
"variants": [
{
"name": "<string>",
"sku": "<string>",
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": ["<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": { "value": 1 },
"dimensional_weight": { "value": 1 },
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": { "value": 1 },
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": { "value": 1 },
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": { "value": 1 },
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": { "value": 1 },
"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],
"profile_id": 123,
"profile_slug": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
category_id: 123,
sku: '<string>',
category: {name: '<string>'},
supplier_id: 123,
supplier: {name: '<string>'},
distribution_template_id: 123,
image_url: '<string>',
sellable: true,
lot_tracking: true,
is_drop_ship_item: true,
taxable: true,
sub_category_id: 123,
subcategory: {name: '<string>'},
default_receiving_location_id: 123,
default_assembly_location_id: 123,
description: '<string>',
wholesale_price: 1,
retail_price: 1,
unit_cost: 1,
manufacturing_fee: 1,
product_weight: {value: 1},
dimensional_weight: {value: 1},
product_length: 1,
product_width: 1,
product_height: 1,
box_weight: {value: 1},
box_length: 1,
box_width: 1,
box_height: 1,
carton_weight: {value: 1},
carton_length: 1,
carton_width: 1,
carton_height: 1,
shipping_weight: {value: 1},
shipping_length: 1,
shipping_width: 1,
shipping_height: 1,
pallet_weight: {value: 1},
pallet_length: 1,
pallet_width: 1,
pallet_height: 1,
upc: '<string>',
priority_list_id: 123,
priority_list: {id: 123, name: '<string>'},
custom_fields: {},
tags: ['<string>'],
default_selling_unit_id: 2,
default_purchase_unit_id: 2,
unit_class_id: 2,
selling_uom: {name: '<string>'},
purchase_uom: {name: '<string>'},
product_variants: [{variant_name: '<string>', variant_terms: ['<string>']}],
variant_template: 123,
variants: [
{
name: '<string>',
sku: '<string>',
product_variants: [{variant_name: '<string>', variant_terms: ['<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: {value: 1},
dimensional_weight: {value: 1},
product_length: 1,
product_width: 1,
product_height: 1,
box_weight: {value: 1},
box_length: 1,
box_width: 1,
box_height: 1,
carton_weight: {value: 1},
carton_length: 1,
carton_width: 1,
carton_height: 1,
shipping_weight: {value: 1},
shipping_length: 1,
shipping_width: 1,
shipping_height: 1,
pallet_weight: {value: 1},
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],
profile_id: 123,
profile_slug: '<string>'
})
};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{companyName}.api.joinluminous.com/external/api/v1/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'category_id' => 123,
'sku' => '<string>',
'category' => [
'name' => '<string>'
],
'supplier_id' => 123,
'supplier' => [
'name' => '<string>'
],
'distribution_template_id' => 123,
'image_url' => '<string>',
'sellable' => true,
'lot_tracking' => true,
'is_drop_ship_item' => true,
'taxable' => true,
'sub_category_id' => 123,
'subcategory' => [
'name' => '<string>'
],
'default_receiving_location_id' => 123,
'default_assembly_location_id' => 123,
'description' => '<string>',
'wholesale_price' => 1,
'retail_price' => 1,
'unit_cost' => 1,
'manufacturing_fee' => 1,
'product_weight' => [
'value' => 1
],
'dimensional_weight' => [
'value' => 1
],
'product_length' => 1,
'product_width' => 1,
'product_height' => 1,
'box_weight' => [
'value' => 1
],
'box_length' => 1,
'box_width' => 1,
'box_height' => 1,
'carton_weight' => [
'value' => 1
],
'carton_length' => 1,
'carton_width' => 1,
'carton_height' => 1,
'shipping_weight' => [
'value' => 1
],
'shipping_length' => 1,
'shipping_width' => 1,
'shipping_height' => 1,
'pallet_weight' => [
'value' => 1
],
'pallet_length' => 1,
'pallet_width' => 1,
'pallet_height' => 1,
'upc' => '<string>',
'priority_list_id' => 123,
'priority_list' => [
'id' => 123,
'name' => '<string>'
],
'custom_fields' => [
],
'tags' => [
'<string>'
],
'default_selling_unit_id' => 2,
'default_purchase_unit_id' => 2,
'unit_class_id' => 2,
'selling_uom' => [
'name' => '<string>'
],
'purchase_uom' => [
'name' => '<string>'
],
'product_variants' => [
[
'variant_name' => '<string>',
'variant_terms' => [
'<string>'
]
]
],
'variant_template' => 123,
'variants' => [
[
'name' => '<string>',
'sku' => '<string>',
'product_variants' => [
[
'variant_name' => '<string>',
'variant_terms' => [
'<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' => [
'value' => 1
],
'dimensional_weight' => [
'value' => 1
],
'product_length' => 1,
'product_width' => 1,
'product_height' => 1,
'box_weight' => [
'value' => 1
],
'box_length' => 1,
'box_width' => 1,
'box_height' => 1,
'carton_weight' => [
'value' => 1
],
'carton_length' => 1,
'carton_width' => 1,
'carton_height' => 1,
'shipping_weight' => [
'value' => 1
],
'shipping_length' => 1,
'shipping_width' => 1,
'shipping_height' => 1,
'pallet_weight' => [
'value' => 1
],
'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
],
'profile_id' => 123,
'profile_slug' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{companyName}.api.joinluminous.com/external/api/v1/products"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"category_id\": 123,\n \"sku\": \"<string>\",\n \"category\": {\n \"name\": \"<string>\"\n },\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"distribution_template_id\": 123,\n \"image_url\": \"<string>\",\n \"sellable\": true,\n \"lot_tracking\": true,\n \"is_drop_ship_item\": true,\n \"taxable\": true,\n \"sub_category_id\": 123,\n \"subcategory\": {\n \"name\": \"<string>\"\n },\n \"default_receiving_location_id\": 123,\n \"default_assembly_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"manufacturing_fee\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"priority_list_id\": 123,\n \"priority_list\": {\n \"id\": 123,\n \"name\": \"<string>\"\n },\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"default_selling_unit_id\": 2,\n \"default_purchase_unit_id\": 2,\n \"unit_class_id\": 2,\n \"selling_uom\": {\n \"name\": \"<string>\"\n },\n \"purchase_uom\": {\n \"name\": \"<string>\"\n },\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"variant_template\": 123,\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"sku\": \"<string>\",\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"image_url\": \"<string>\",\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"sellable\": true,\n \"discontinued\": true,\n \"default_receiving_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ]\n }\n ],\n \"type\": \"PRODUCT\",\n \"kit_items\": [\n {\n \"product_id\": 123,\n \"quantity\": 1,\n \"sku\": \"<string>\",\n \"uom_id\": 123,\n \"price\": 1,\n \"original_price\": 1\n }\n ],\n \"boms\": [\n 123\n ],\n \"profile_id\": 123,\n \"profile_slug\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{companyName}.api.joinluminous.com/external/api/v1/products")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"category_id\": 123,\n \"sku\": \"<string>\",\n \"category\": {\n \"name\": \"<string>\"\n },\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"distribution_template_id\": 123,\n \"image_url\": \"<string>\",\n \"sellable\": true,\n \"lot_tracking\": true,\n \"is_drop_ship_item\": true,\n \"taxable\": true,\n \"sub_category_id\": 123,\n \"subcategory\": {\n \"name\": \"<string>\"\n },\n \"default_receiving_location_id\": 123,\n \"default_assembly_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"manufacturing_fee\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"priority_list_id\": 123,\n \"priority_list\": {\n \"id\": 123,\n \"name\": \"<string>\"\n },\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"default_selling_unit_id\": 2,\n \"default_purchase_unit_id\": 2,\n \"unit_class_id\": 2,\n \"selling_uom\": {\n \"name\": \"<string>\"\n },\n \"purchase_uom\": {\n \"name\": \"<string>\"\n },\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"variant_template\": 123,\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"sku\": \"<string>\",\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"image_url\": \"<string>\",\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"sellable\": true,\n \"discontinued\": true,\n \"default_receiving_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ]\n }\n ],\n \"type\": \"PRODUCT\",\n \"kit_items\": [\n {\n \"product_id\": 123,\n \"quantity\": 1,\n \"sku\": \"<string>\",\n \"uom_id\": 123,\n \"price\": 1,\n \"original_price\": 1\n }\n ],\n \"boms\": [\n 123\n ],\n \"profile_id\": 123,\n \"profile_slug\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"category_id\": 123,\n \"sku\": \"<string>\",\n \"category\": {\n \"name\": \"<string>\"\n },\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"distribution_template_id\": 123,\n \"image_url\": \"<string>\",\n \"sellable\": true,\n \"lot_tracking\": true,\n \"is_drop_ship_item\": true,\n \"taxable\": true,\n \"sub_category_id\": 123,\n \"subcategory\": {\n \"name\": \"<string>\"\n },\n \"default_receiving_location_id\": 123,\n \"default_assembly_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"manufacturing_fee\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"priority_list_id\": 123,\n \"priority_list\": {\n \"id\": 123,\n \"name\": \"<string>\"\n },\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"default_selling_unit_id\": 2,\n \"default_purchase_unit_id\": 2,\n \"unit_class_id\": 2,\n \"selling_uom\": {\n \"name\": \"<string>\"\n },\n \"purchase_uom\": {\n \"name\": \"<string>\"\n },\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"variant_template\": 123,\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"sku\": \"<string>\",\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"image_url\": \"<string>\",\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"sellable\": true,\n \"discontinued\": true,\n \"default_receiving_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ]\n }\n ],\n \"type\": \"PRODUCT\",\n \"kit_items\": [\n {\n \"product_id\": 123,\n \"quantity\": 1,\n \"sku\": \"<string>\",\n \"uom_id\": 123,\n \"price\": 1,\n \"original_price\": 1\n }\n ],\n \"boms\": [\n 123\n ],\n \"profile_id\": 123,\n \"profile_slug\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 123,
"name": "<string>",
"description": "<string>",
"retail_price": 123,
"wholesale_price": 123,
"unit_cost": 123,
"landed_cost": 123,
"manufacturing_fee": 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,
"is_drop_ship_item": true,
"taxable": true,
"lot_tracking": true,
"lot_deduction_strategy": "<string>",
"round_up_as_component": true,
"default_supply_method": "purchase",
"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": [
{
"variant_name": "<string>",
"variant_terms": [
"<string>"
]
}
],
"sku": "<string>",
"upc": "<string>",
"hs_code": "<string>",
"round_up_as_component": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"variant_attributes": [
{
"variant_name": "<string>",
"variant_terms": [
"<string>"
]
}
],
"sku": "<string>",
"alternate_skus": [
{
"id": 123,
"sku": "<string>"
}
],
"upc": "<string>",
"hs_code": "<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,
"is_drop_ship_item": true,
"taxable": true,
"image_url": "<string>",
"sku": "<string>",
"upc": "<string>",
"hs_code": "<string>",
"round_up_as_component": true,
"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
}
}
],
"priority_list": {
"id": 123,
"name": "<string>",
"description": "<string>"
},
"distribution_template": {
"id": 123,
"name": "<string>",
"source": "assigned"
},
"distribution_template_category": {
"id": 123,
"name": "<string>"
},
"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,
"consumption_basis": "planned",
"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"
}
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Create a product
Create a new product with optional variants, custom fields, and tags.
Kit Products:
When creating a kit product (type = KIT), the kit_items field is required and must contain at least one kit item.
Each kit item must specify either product_id or sku, along with a quantity.
Working with variants
A product with options like Size or Color is modeled as a parent product plus one child SKU per
option combination, nested under the parent’s variants array. Each child variant is itself a
product — it has its own SKU, prices, weights, and dimensions.
You don’t need to declare the option taxonomy on the parent. Just tag each child SKU with the
terms it represents (Size = Large, Color = Red, etc.) on variants[].product_variants, and Luminous
will figure out the parent’s taxonomy for you — the union of every term you’ve used across the
children becomes the parent’s set of axes and allowed values. New term on a child? It’s added to
the parent automatically. New axis on a child? Same — the axis is created on the parent.
The practical result: you can build a product with any number of variants in a single request,
without a separate “define the options first” step, and you can keep adding new variants to it
later without ever touching the parent’s product_variants field. (The parent’s
product_variants field is still writable as an escape hatch — e.g. to seed an empty option set
or trim an unused term — but day-to-day you can ignore it.)
Each entry in a child’s product_variants is one option axis: variant_name is the axis label
(“Size”, “Color”, …) and variant_terms is the term(s) the child is assigned to on that axis
(usually a single string, but the field is an array so a child can sit on more than one term of
the same axis if that’s how you model it).
{
"name": "Classic Tee",
"sku": "TEE-100",
"category_id": 1,
"variants": [
{
"name": "Classic Tee — Small / Red",
"sku": "TEE-100-S-RED",
"product_variants": [
{ "variant_name": "Size", "variant_terms": ["Small"] },
{ "variant_name": "Color", "variant_terms": ["Red"] }
]
},
{
"name": "Classic Tee — Large / Red",
"sku": "TEE-100-L-RED",
"product_variants": [
{ "variant_name": "Size", "variant_terms": ["Large"] },
{ "variant_name": "Color", "variant_terms": ["Red"] }
]
},
{
"name": "Classic Tee — Large / Blue",
"sku": "TEE-100-L-BLU",
"product_variants": [
{ "variant_name": "Size", "variant_terms": ["Large"] },
{ "variant_name": "Color", "variant_terms": ["Blue"] }
]
}
]
}
After this call, the parent ends up with taxonomy Size: [Small, Large], Color: [Red, Blue] —
even though you never wrote it down. The resulting taxonomy and each child’s term assignments are
returned in the variant_attributes field on the response (same shape, on both the parent and
each variant).
To add a new variant to the same product later, send just that one child in variants[] on a
PATCH /products or POST /products/{id} — the parent’s taxonomy will pick up any new axis or
term it contains automatically. See those endpoints for more on upsert semantics.
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>"
},
"distribution_template_id": 123,
"image_url": "<string>",
"sellable": true,
"lot_tracking": true,
"is_drop_ship_item": true,
"taxable": true,
"sub_category_id": 123,
"subcategory": {
"name": "<string>"
},
"default_receiving_location_id": 123,
"default_assembly_location_id": 123,
"description": "<string>",
"wholesale_price": 1,
"retail_price": 1,
"unit_cost": 1,
"manufacturing_fee": 1,
"product_weight": {
"value": 1
},
"dimensional_weight": {
"value": 1
},
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": {
"value": 1
},
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": {
"value": 1
},
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": {
"value": 1
},
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": {
"value": 1
},
"pallet_length": 1,
"pallet_width": 1,
"pallet_height": 1,
"upc": "<string>",
"priority_list_id": 123,
"priority_list": {
"id": 123,
"name": "<string>"
},
"custom_fields": {},
"tags": [
"<string>"
],
"default_selling_unit_id": 2,
"default_purchase_unit_id": 2,
"unit_class_id": 2,
"selling_uom": {
"name": "<string>"
},
"purchase_uom": {
"name": "<string>"
},
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": [
"<string>"
]
}
],
"variant_template": 123,
"variants": [
{
"name": "<string>",
"sku": "<string>",
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": [
"<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": {
"value": 1
},
"dimensional_weight": {
"value": 1
},
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": {
"value": 1
},
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": {
"value": 1
},
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": {
"value": 1
},
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": {
"value": 1
},
"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
],
"profile_id": 123,
"profile_slug": "<string>"
}
'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/products"
payload = {
"name": "<string>",
"category_id": 123,
"sku": "<string>",
"category": { "name": "<string>" },
"supplier_id": 123,
"supplier": { "name": "<string>" },
"distribution_template_id": 123,
"image_url": "<string>",
"sellable": True,
"lot_tracking": True,
"is_drop_ship_item": True,
"taxable": True,
"sub_category_id": 123,
"subcategory": { "name": "<string>" },
"default_receiving_location_id": 123,
"default_assembly_location_id": 123,
"description": "<string>",
"wholesale_price": 1,
"retail_price": 1,
"unit_cost": 1,
"manufacturing_fee": 1,
"product_weight": { "value": 1 },
"dimensional_weight": { "value": 1 },
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": { "value": 1 },
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": { "value": 1 },
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": { "value": 1 },
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": { "value": 1 },
"pallet_length": 1,
"pallet_width": 1,
"pallet_height": 1,
"upc": "<string>",
"priority_list_id": 123,
"priority_list": {
"id": 123,
"name": "<string>"
},
"custom_fields": {},
"tags": ["<string>"],
"default_selling_unit_id": 2,
"default_purchase_unit_id": 2,
"unit_class_id": 2,
"selling_uom": { "name": "<string>" },
"purchase_uom": { "name": "<string>" },
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": ["<string>"]
}
],
"variant_template": 123,
"variants": [
{
"name": "<string>",
"sku": "<string>",
"product_variants": [
{
"variant_name": "<string>",
"variant_terms": ["<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": { "value": 1 },
"dimensional_weight": { "value": 1 },
"product_length": 1,
"product_width": 1,
"product_height": 1,
"box_weight": { "value": 1 },
"box_length": 1,
"box_width": 1,
"box_height": 1,
"carton_weight": { "value": 1 },
"carton_length": 1,
"carton_width": 1,
"carton_height": 1,
"shipping_weight": { "value": 1 },
"shipping_length": 1,
"shipping_width": 1,
"shipping_height": 1,
"pallet_weight": { "value": 1 },
"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],
"profile_id": 123,
"profile_slug": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
category_id: 123,
sku: '<string>',
category: {name: '<string>'},
supplier_id: 123,
supplier: {name: '<string>'},
distribution_template_id: 123,
image_url: '<string>',
sellable: true,
lot_tracking: true,
is_drop_ship_item: true,
taxable: true,
sub_category_id: 123,
subcategory: {name: '<string>'},
default_receiving_location_id: 123,
default_assembly_location_id: 123,
description: '<string>',
wholesale_price: 1,
retail_price: 1,
unit_cost: 1,
manufacturing_fee: 1,
product_weight: {value: 1},
dimensional_weight: {value: 1},
product_length: 1,
product_width: 1,
product_height: 1,
box_weight: {value: 1},
box_length: 1,
box_width: 1,
box_height: 1,
carton_weight: {value: 1},
carton_length: 1,
carton_width: 1,
carton_height: 1,
shipping_weight: {value: 1},
shipping_length: 1,
shipping_width: 1,
shipping_height: 1,
pallet_weight: {value: 1},
pallet_length: 1,
pallet_width: 1,
pallet_height: 1,
upc: '<string>',
priority_list_id: 123,
priority_list: {id: 123, name: '<string>'},
custom_fields: {},
tags: ['<string>'],
default_selling_unit_id: 2,
default_purchase_unit_id: 2,
unit_class_id: 2,
selling_uom: {name: '<string>'},
purchase_uom: {name: '<string>'},
product_variants: [{variant_name: '<string>', variant_terms: ['<string>']}],
variant_template: 123,
variants: [
{
name: '<string>',
sku: '<string>',
product_variants: [{variant_name: '<string>', variant_terms: ['<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: {value: 1},
dimensional_weight: {value: 1},
product_length: 1,
product_width: 1,
product_height: 1,
box_weight: {value: 1},
box_length: 1,
box_width: 1,
box_height: 1,
carton_weight: {value: 1},
carton_length: 1,
carton_width: 1,
carton_height: 1,
shipping_weight: {value: 1},
shipping_length: 1,
shipping_width: 1,
shipping_height: 1,
pallet_weight: {value: 1},
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],
profile_id: 123,
profile_slug: '<string>'
})
};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{companyName}.api.joinluminous.com/external/api/v1/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'category_id' => 123,
'sku' => '<string>',
'category' => [
'name' => '<string>'
],
'supplier_id' => 123,
'supplier' => [
'name' => '<string>'
],
'distribution_template_id' => 123,
'image_url' => '<string>',
'sellable' => true,
'lot_tracking' => true,
'is_drop_ship_item' => true,
'taxable' => true,
'sub_category_id' => 123,
'subcategory' => [
'name' => '<string>'
],
'default_receiving_location_id' => 123,
'default_assembly_location_id' => 123,
'description' => '<string>',
'wholesale_price' => 1,
'retail_price' => 1,
'unit_cost' => 1,
'manufacturing_fee' => 1,
'product_weight' => [
'value' => 1
],
'dimensional_weight' => [
'value' => 1
],
'product_length' => 1,
'product_width' => 1,
'product_height' => 1,
'box_weight' => [
'value' => 1
],
'box_length' => 1,
'box_width' => 1,
'box_height' => 1,
'carton_weight' => [
'value' => 1
],
'carton_length' => 1,
'carton_width' => 1,
'carton_height' => 1,
'shipping_weight' => [
'value' => 1
],
'shipping_length' => 1,
'shipping_width' => 1,
'shipping_height' => 1,
'pallet_weight' => [
'value' => 1
],
'pallet_length' => 1,
'pallet_width' => 1,
'pallet_height' => 1,
'upc' => '<string>',
'priority_list_id' => 123,
'priority_list' => [
'id' => 123,
'name' => '<string>'
],
'custom_fields' => [
],
'tags' => [
'<string>'
],
'default_selling_unit_id' => 2,
'default_purchase_unit_id' => 2,
'unit_class_id' => 2,
'selling_uom' => [
'name' => '<string>'
],
'purchase_uom' => [
'name' => '<string>'
],
'product_variants' => [
[
'variant_name' => '<string>',
'variant_terms' => [
'<string>'
]
]
],
'variant_template' => 123,
'variants' => [
[
'name' => '<string>',
'sku' => '<string>',
'product_variants' => [
[
'variant_name' => '<string>',
'variant_terms' => [
'<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' => [
'value' => 1
],
'dimensional_weight' => [
'value' => 1
],
'product_length' => 1,
'product_width' => 1,
'product_height' => 1,
'box_weight' => [
'value' => 1
],
'box_length' => 1,
'box_width' => 1,
'box_height' => 1,
'carton_weight' => [
'value' => 1
],
'carton_length' => 1,
'carton_width' => 1,
'carton_height' => 1,
'shipping_weight' => [
'value' => 1
],
'shipping_length' => 1,
'shipping_width' => 1,
'shipping_height' => 1,
'pallet_weight' => [
'value' => 1
],
'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
],
'profile_id' => 123,
'profile_slug' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{companyName}.api.joinluminous.com/external/api/v1/products"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"category_id\": 123,\n \"sku\": \"<string>\",\n \"category\": {\n \"name\": \"<string>\"\n },\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"distribution_template_id\": 123,\n \"image_url\": \"<string>\",\n \"sellable\": true,\n \"lot_tracking\": true,\n \"is_drop_ship_item\": true,\n \"taxable\": true,\n \"sub_category_id\": 123,\n \"subcategory\": {\n \"name\": \"<string>\"\n },\n \"default_receiving_location_id\": 123,\n \"default_assembly_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"manufacturing_fee\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"priority_list_id\": 123,\n \"priority_list\": {\n \"id\": 123,\n \"name\": \"<string>\"\n },\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"default_selling_unit_id\": 2,\n \"default_purchase_unit_id\": 2,\n \"unit_class_id\": 2,\n \"selling_uom\": {\n \"name\": \"<string>\"\n },\n \"purchase_uom\": {\n \"name\": \"<string>\"\n },\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"variant_template\": 123,\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"sku\": \"<string>\",\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"image_url\": \"<string>\",\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"sellable\": true,\n \"discontinued\": true,\n \"default_receiving_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ]\n }\n ],\n \"type\": \"PRODUCT\",\n \"kit_items\": [\n {\n \"product_id\": 123,\n \"quantity\": 1,\n \"sku\": \"<string>\",\n \"uom_id\": 123,\n \"price\": 1,\n \"original_price\": 1\n }\n ],\n \"boms\": [\n 123\n ],\n \"profile_id\": 123,\n \"profile_slug\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{companyName}.api.joinluminous.com/external/api/v1/products")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"category_id\": 123,\n \"sku\": \"<string>\",\n \"category\": {\n \"name\": \"<string>\"\n },\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"distribution_template_id\": 123,\n \"image_url\": \"<string>\",\n \"sellable\": true,\n \"lot_tracking\": true,\n \"is_drop_ship_item\": true,\n \"taxable\": true,\n \"sub_category_id\": 123,\n \"subcategory\": {\n \"name\": \"<string>\"\n },\n \"default_receiving_location_id\": 123,\n \"default_assembly_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"manufacturing_fee\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"priority_list_id\": 123,\n \"priority_list\": {\n \"id\": 123,\n \"name\": \"<string>\"\n },\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"default_selling_unit_id\": 2,\n \"default_purchase_unit_id\": 2,\n \"unit_class_id\": 2,\n \"selling_uom\": {\n \"name\": \"<string>\"\n },\n \"purchase_uom\": {\n \"name\": \"<string>\"\n },\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"variant_template\": 123,\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"sku\": \"<string>\",\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"image_url\": \"<string>\",\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"sellable\": true,\n \"discontinued\": true,\n \"default_receiving_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ]\n }\n ],\n \"type\": \"PRODUCT\",\n \"kit_items\": [\n {\n \"product_id\": 123,\n \"quantity\": 1,\n \"sku\": \"<string>\",\n \"uom_id\": 123,\n \"price\": 1,\n \"original_price\": 1\n }\n ],\n \"boms\": [\n 123\n ],\n \"profile_id\": 123,\n \"profile_slug\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"category_id\": 123,\n \"sku\": \"<string>\",\n \"category\": {\n \"name\": \"<string>\"\n },\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"distribution_template_id\": 123,\n \"image_url\": \"<string>\",\n \"sellable\": true,\n \"lot_tracking\": true,\n \"is_drop_ship_item\": true,\n \"taxable\": true,\n \"sub_category_id\": 123,\n \"subcategory\": {\n \"name\": \"<string>\"\n },\n \"default_receiving_location_id\": 123,\n \"default_assembly_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"manufacturing_fee\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"priority_list_id\": 123,\n \"priority_list\": {\n \"id\": 123,\n \"name\": \"<string>\"\n },\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"default_selling_unit_id\": 2,\n \"default_purchase_unit_id\": 2,\n \"unit_class_id\": 2,\n \"selling_uom\": {\n \"name\": \"<string>\"\n },\n \"purchase_uom\": {\n \"name\": \"<string>\"\n },\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"variant_template\": 123,\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"sku\": \"<string>\",\n \"product_variants\": [\n {\n \"variant_name\": \"<string>\",\n \"variant_terms\": [\n \"<string>\"\n ]\n }\n ],\n \"image_url\": \"<string>\",\n \"supplier_id\": 123,\n \"supplier\": {\n \"name\": \"<string>\"\n },\n \"sellable\": true,\n \"discontinued\": true,\n \"default_receiving_location_id\": 123,\n \"description\": \"<string>\",\n \"wholesale_price\": 1,\n \"retail_price\": 1,\n \"unit_cost\": 1,\n \"product_weight\": {\n \"value\": 1\n },\n \"dimensional_weight\": {\n \"value\": 1\n },\n \"product_length\": 1,\n \"product_width\": 1,\n \"product_height\": 1,\n \"box_weight\": {\n \"value\": 1\n },\n \"box_length\": 1,\n \"box_width\": 1,\n \"box_height\": 1,\n \"carton_weight\": {\n \"value\": 1\n },\n \"carton_length\": 1,\n \"carton_width\": 1,\n \"carton_height\": 1,\n \"shipping_weight\": {\n \"value\": 1\n },\n \"shipping_length\": 1,\n \"shipping_width\": 1,\n \"shipping_height\": 1,\n \"pallet_weight\": {\n \"value\": 1\n },\n \"pallet_length\": 1,\n \"pallet_width\": 1,\n \"pallet_height\": 1,\n \"upc\": \"<string>\",\n \"custom_fields\": {},\n \"tags\": [\n \"<string>\"\n ]\n }\n ],\n \"type\": \"PRODUCT\",\n \"kit_items\": [\n {\n \"product_id\": 123,\n \"quantity\": 1,\n \"sku\": \"<string>\",\n \"uom_id\": 123,\n \"price\": 1,\n \"original_price\": 1\n }\n ],\n \"boms\": [\n 123\n ],\n \"profile_id\": 123,\n \"profile_slug\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 123,
"name": "<string>",
"description": "<string>",
"retail_price": 123,
"wholesale_price": 123,
"unit_cost": 123,
"landed_cost": 123,
"manufacturing_fee": 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,
"is_drop_ship_item": true,
"taxable": true,
"lot_tracking": true,
"lot_deduction_strategy": "<string>",
"round_up_as_component": true,
"default_supply_method": "purchase",
"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": [
{
"variant_name": "<string>",
"variant_terms": [
"<string>"
]
}
],
"sku": "<string>",
"upc": "<string>",
"hs_code": "<string>",
"round_up_as_component": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"variant_attributes": [
{
"variant_name": "<string>",
"variant_terms": [
"<string>"
]
}
],
"sku": "<string>",
"alternate_skus": [
{
"id": 123,
"sku": "<string>"
}
],
"upc": "<string>",
"hs_code": "<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,
"is_drop_ship_item": true,
"taxable": true,
"image_url": "<string>",
"sku": "<string>",
"upc": "<string>",
"hs_code": "<string>",
"round_up_as_component": true,
"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
}
}
],
"priority_list": {
"id": 123,
"name": "<string>",
"description": "<string>"
},
"distribution_template": {
"id": 123,
"name": "<string>",
"source": "assigned"
},
"distribution_template_category": {
"id": 123,
"name": "<string>"
},
"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,
"consumption_basis": "planned",
"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"
}
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Authorizations
Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.
Body
Product name
200ID of the product category
Internal SKU
100Product category information
Show child attributes
Show child attributes
ID of the preferred supplier
Product preferred supplier information
Show child attributes
Show child attributes
ID of the distribution template (size curve) to assign to this product.
Use GET /products/{productId}/distribution-template/candidates to find
compatible templates for a master SKU.
URL to product image
255Whether the product can be sold
Whether to track product by lots
Flag the product as a drop-ship item. A preference marker only — it does not currently change fulfillment-order routing or purchase-order creation.
Whether the product is subject to sales tax. Defaults to true when omitted.
ID of the product subcategory
Product sub-category information
Show child attributes
Show child attributes
Default location ID for receiving this product
Default location (bin) ID where assembled goods (BOM output) are credited for this product. When set, it is used as the destination when defaulting assembly/disassembly work, falling back to default_receiving_location_id and then the warehouse default.
Product description
Wholesale price
x >= 0Retail price
x >= 0Cost per unit
x >= 0Manufacturing fee per unit
x >= 0- object
- object[]
Show child attributes
Show child attributes
- object
- object[]
Show child attributes
Show child attributes
Length of the product (in inches)
x >= 0Width of the product (in inches)
x >= 0Height of the product (in inches)
x >= 0- object
- object[]
Show child attributes
Show child attributes
Length of the box (in inches)
x >= 0Width of the box (in inches)
x >= 0Height of the box (in inches)
x >= 0- object
- object[]
Show child attributes
Show child attributes
Length of the carton (in inches)
x >= 0Width of the carton (in inches)
x >= 0Height of the carton (in inches)
x >= 0- object
- object[]
Show child attributes
Show child attributes
Shipping length (in inches)
x >= 0Shipping width (in inches)
x >= 0Shipping height (in inches)
x >= 0- object
- object[]
Show child attributes
Show child attributes
Length of the pallet (in inches)
x >= 0Width of the pallet (in inches)
x >= 0Height of the pallet (in inches)
x >= 0UPC/Barcode
Default supply mode used when planning replenishment for this product. Determines whether the system expects to purchase, drop-ship, assemble, or pull from on-hand stock when supplying demand.
purchase, vendor_supplied, assemble, on_hand, assembly_order, buy_and_ship, brand_supplied 50ID of the fulfillment priority list to assign to this product
Priority list to assign by ID or name (alternative to priority_list_id)
Show child attributes
Show child attributes
Custom field values
Show child attributes
Show child attributes
Tags to associate with the product
ID of the unit of measure this product is sold in.
If omitted (along with selling_uom), Luminous defaults it to the account's
base unit of measure (e.g. ea under the Quantity unit class). The request is
rejected only if the account has no unit of measure configured at all.
x >= 1ID of the unit of measure this product is purchased in.
If omitted (along with purchase_uom), Luminous defaults it to the account's
base unit of measure (e.g. ea).
x >= 1ID of the unit class this product's units belong to (e.g. Quantity).
If omitted, Luminous defaults it to the unit class of the account's base unit.
x >= 1Selling unit of measure by name — an alternative to default_selling_unit_id.
When default_selling_unit_id is not provided, the named UOM is resolved to its ID.
Show child attributes
Show child attributes
Purchase unit of measure by name — an alternative to default_purchase_unit_id.
When default_purchase_unit_id is not provided, the named UOM is resolved to its ID.
Show child attributes
Show child attributes
Variant option taxonomy for the product — the axes (e.g. Size, Color) and the allowed terms on each axis.
You almost never need to set this. Tag each child SKU under variants[].product_variants
with the terms it represents instead, and Luminous will derive the parent taxonomy
automatically as the union of every term used by the children. Setting this directly is only
useful as an escape hatch (e.g. seeding an empty option set, or pruning a term no child uses).
Returned on the response as variant_attributes (same shape).
Show child attributes
Show child attributes
A variant template to expand into child SKUs, given as either the template's id (integer) or its name (string). When set on a master product create, the template's option axes are expanded into child variant SKUs — the same one-click "generate variants" step available in the SKU form, reachable from the API.
Rules:
- Ignored when you also send an explicit
variantsarray — being specific always wins over a preset. - Idempotent — skipped when the product already has child variants, so re-sending the same request does not duplicate them.
- An unknown template name/id fails loudly with a
422validation error rather than silently producing a master with no variants.
Product variants
Show child attributes
Show child attributes
Product type. PRODUCT for regular products, KIT for kit products that contain other products as components.
PRODUCT, KIT Array of kit items (components) for kit products. Required when type = KIT. Each kit item must specify either product_id or sku, and quantity.
- Option 1
- Option 2
Show child attributes
Show child attributes
Array of BOM IDs to attach to the product.
Omit this field entirely to leave the product's existing BOM associations unchanged (upserts do not touch BOMs unless boms is provided).
When the field is provided, it replaces all existing BOM associations: pass an array of IDs to set them, or null/an empty array to detach all BOMs.
BOM ID
Opt-in reference to a Product Builder Profile (GET /product-profiles).
When provided (and the profile is active), the product is validated against the profile before
any writes — SKU format, required variant preset / distribution group / custom fields — returning
a 422 on any violation, and the profile's fixed selections and hidden defaults are stamped onto
the product where you left them unset. Omit to create the product without profile enforcement.
The profile's slug, an alternative to profile_id for referencing a Product Builder Profile.
Response
Successful response
Show child attributes
Show child attributes