Create Product
curl --request POST \
--url https://production.trackstarhq.com/wms/products \
--header 'Content-Type: application/json' \
--header 'x-trackstar-access-token: <x-trackstar-access-token>' \
--header 'x-trackstar-api-key: <x-trackstar-api-key>' \
--data '
{
"sku": "sku",
"name": "name",
"gtin": "gtin",
"measurements": {
"length": 1.5,
"width": 1.5,
"height": 1.5,
"unit": "in",
"weight": 2.5,
"weight_unit": "lb"
},
"trackstar_tags": [
"tag1",
"tag2",
{
"tag3": "value3"
}
]
}
'import requests
url = "https://production.trackstarhq.com/wms/products"
payload = {
"sku": "sku",
"name": "name",
"gtin": "gtin",
"measurements": {
"length": 1.5,
"width": 1.5,
"height": 1.5,
"unit": "in",
"weight": 2.5,
"weight_unit": "lb"
},
"trackstar_tags": ["tag1", "tag2", { "tag3": "value3" }]
}
headers = {
"x-trackstar-api-key": "<x-trackstar-api-key>",
"x-trackstar-access-token": "<x-trackstar-access-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-trackstar-api-key': '<x-trackstar-api-key>',
'x-trackstar-access-token': '<x-trackstar-access-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sku: 'sku',
name: 'name',
gtin: 'gtin',
measurements: {
length: 1.5,
width: 1.5,
height: 1.5,
unit: 'in',
weight: 2.5,
weight_unit: 'lb'
},
trackstar_tags: ['tag1', 'tag2', {tag3: 'value3'}]
})
};
fetch('https://production.trackstarhq.com/wms/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://production.trackstarhq.com/wms/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([
'sku' => 'sku',
'name' => 'name',
'gtin' => 'gtin',
'measurements' => [
'length' => 1.5,
'width' => 1.5,
'height' => 1.5,
'unit' => 'in',
'weight' => 2.5,
'weight_unit' => 'lb'
],
'trackstar_tags' => [
'tag1',
'tag2',
[
'tag3' => 'value3'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-trackstar-access-token: <x-trackstar-access-token>",
"x-trackstar-api-key: <x-trackstar-api-key>"
],
]);
$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://production.trackstarhq.com/wms/products"
payload := strings.NewReader("{\n \"sku\": \"sku\",\n \"name\": \"name\",\n \"gtin\": \"gtin\",\n \"measurements\": {\n \"length\": 1.5,\n \"width\": 1.5,\n \"height\": 1.5,\n \"unit\": \"in\",\n \"weight\": 2.5,\n \"weight_unit\": \"lb\"\n },\n \"trackstar_tags\": [\n \"tag1\",\n \"tag2\",\n {\n \"tag3\": \"value3\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-trackstar-api-key", "<x-trackstar-api-key>")
req.Header.Add("x-trackstar-access-token", "<x-trackstar-access-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://production.trackstarhq.com/wms/products")
.header("x-trackstar-api-key", "<x-trackstar-api-key>")
.header("x-trackstar-access-token", "<x-trackstar-access-token>")
.header("Content-Type", "application/json")
.body("{\n \"sku\": \"sku\",\n \"name\": \"name\",\n \"gtin\": \"gtin\",\n \"measurements\": {\n \"length\": 1.5,\n \"width\": 1.5,\n \"height\": 1.5,\n \"unit\": \"in\",\n \"weight\": 2.5,\n \"weight_unit\": \"lb\"\n },\n \"trackstar_tags\": [\n \"tag1\",\n \"tag2\",\n {\n \"tag3\": \"value3\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.trackstarhq.com/wms/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-trackstar-api-key"] = '<x-trackstar-api-key>'
request["x-trackstar-access-token"] = '<x-trackstar-access-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sku\": \"sku\",\n \"name\": \"name\",\n \"gtin\": \"gtin\",\n \"measurements\": {\n \"length\": 1.5,\n \"width\": 1.5,\n \"height\": 1.5,\n \"unit\": \"in\",\n \"weight\": 2.5,\n \"weight_unit\": \"lb\"\n },\n \"trackstar_tags\": [\n \"tag1\",\n \"tag2\",\n {\n \"tag3\": \"value3\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "id",
"unused_fields": [
"<string>"
],
"data": {
"id": "product_id",
"warehouse_customer_id": "warehouse_customer_id",
"created_date": "2022-01-01T00:00:00Z",
"updated_date": "2022-01-02T05:05:05Z",
"name": "name",
"sku": "sku",
"gtin": "gtin",
"unit_price": 10.99,
"inventory_items": [
{
"inventory_item_id": "id1",
"sku": "sku1",
"unit_quantity": 1
},
{
"inventory_item_id": "id2",
"sku": "sku2",
"unit_quantity": 1
}
],
"is_kit": true,
"active": true,
"supplier_object": {
"supplier_id": "supplier_id",
"supplier_name": "supplier_name"
},
"country_of_origin": "USA",
"harmonized_code": "123456",
"supplier_products": [
{
"supplier_id": "id1",
"supplier_name": "name1",
"external_id": "ext_id1",
"unit_cost": 1
},
{
"supplier_id": "id2",
"supplier_name": "name2",
"external_id": "ext_id2",
"unit_cost": 2.5
}
],
"categories": [
"Electronics",
"Accessories"
],
"image_urls": [
"https://example.com/image1.jpg"
],
"external_system_url": "https://example.com/product/123",
"trackstar_tags": [
"tag1",
"tag2",
{
"tag3": "value3"
}
],
"additional_fields": {
"key": "value"
},
"trackstar_created_date": "2023-11-07T05:31:56Z",
"trackstar_updated_date": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>",
"detail": {
"<location>": {
"<field_name>": [
"<string>"
]
}
}
}Products
Create Product
Get the required, optional, and integration specific fields by calling the integrations endpoint.
POST
/
wms
/
products
Create Product
curl --request POST \
--url https://production.trackstarhq.com/wms/products \
--header 'Content-Type: application/json' \
--header 'x-trackstar-access-token: <x-trackstar-access-token>' \
--header 'x-trackstar-api-key: <x-trackstar-api-key>' \
--data '
{
"sku": "sku",
"name": "name",
"gtin": "gtin",
"measurements": {
"length": 1.5,
"width": 1.5,
"height": 1.5,
"unit": "in",
"weight": 2.5,
"weight_unit": "lb"
},
"trackstar_tags": [
"tag1",
"tag2",
{
"tag3": "value3"
}
]
}
'import requests
url = "https://production.trackstarhq.com/wms/products"
payload = {
"sku": "sku",
"name": "name",
"gtin": "gtin",
"measurements": {
"length": 1.5,
"width": 1.5,
"height": 1.5,
"unit": "in",
"weight": 2.5,
"weight_unit": "lb"
},
"trackstar_tags": ["tag1", "tag2", { "tag3": "value3" }]
}
headers = {
"x-trackstar-api-key": "<x-trackstar-api-key>",
"x-trackstar-access-token": "<x-trackstar-access-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-trackstar-api-key': '<x-trackstar-api-key>',
'x-trackstar-access-token': '<x-trackstar-access-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sku: 'sku',
name: 'name',
gtin: 'gtin',
measurements: {
length: 1.5,
width: 1.5,
height: 1.5,
unit: 'in',
weight: 2.5,
weight_unit: 'lb'
},
trackstar_tags: ['tag1', 'tag2', {tag3: 'value3'}]
})
};
fetch('https://production.trackstarhq.com/wms/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://production.trackstarhq.com/wms/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([
'sku' => 'sku',
'name' => 'name',
'gtin' => 'gtin',
'measurements' => [
'length' => 1.5,
'width' => 1.5,
'height' => 1.5,
'unit' => 'in',
'weight' => 2.5,
'weight_unit' => 'lb'
],
'trackstar_tags' => [
'tag1',
'tag2',
[
'tag3' => 'value3'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-trackstar-access-token: <x-trackstar-access-token>",
"x-trackstar-api-key: <x-trackstar-api-key>"
],
]);
$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://production.trackstarhq.com/wms/products"
payload := strings.NewReader("{\n \"sku\": \"sku\",\n \"name\": \"name\",\n \"gtin\": \"gtin\",\n \"measurements\": {\n \"length\": 1.5,\n \"width\": 1.5,\n \"height\": 1.5,\n \"unit\": \"in\",\n \"weight\": 2.5,\n \"weight_unit\": \"lb\"\n },\n \"trackstar_tags\": [\n \"tag1\",\n \"tag2\",\n {\n \"tag3\": \"value3\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-trackstar-api-key", "<x-trackstar-api-key>")
req.Header.Add("x-trackstar-access-token", "<x-trackstar-access-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://production.trackstarhq.com/wms/products")
.header("x-trackstar-api-key", "<x-trackstar-api-key>")
.header("x-trackstar-access-token", "<x-trackstar-access-token>")
.header("Content-Type", "application/json")
.body("{\n \"sku\": \"sku\",\n \"name\": \"name\",\n \"gtin\": \"gtin\",\n \"measurements\": {\n \"length\": 1.5,\n \"width\": 1.5,\n \"height\": 1.5,\n \"unit\": \"in\",\n \"weight\": 2.5,\n \"weight_unit\": \"lb\"\n },\n \"trackstar_tags\": [\n \"tag1\",\n \"tag2\",\n {\n \"tag3\": \"value3\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.trackstarhq.com/wms/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-trackstar-api-key"] = '<x-trackstar-api-key>'
request["x-trackstar-access-token"] = '<x-trackstar-access-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sku\": \"sku\",\n \"name\": \"name\",\n \"gtin\": \"gtin\",\n \"measurements\": {\n \"length\": 1.5,\n \"width\": 1.5,\n \"height\": 1.5,\n \"unit\": \"in\",\n \"weight\": 2.5,\n \"weight_unit\": \"lb\"\n },\n \"trackstar_tags\": [\n \"tag1\",\n \"tag2\",\n {\n \"tag3\": \"value3\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "id",
"unused_fields": [
"<string>"
],
"data": {
"id": "product_id",
"warehouse_customer_id": "warehouse_customer_id",
"created_date": "2022-01-01T00:00:00Z",
"updated_date": "2022-01-02T05:05:05Z",
"name": "name",
"sku": "sku",
"gtin": "gtin",
"unit_price": 10.99,
"inventory_items": [
{
"inventory_item_id": "id1",
"sku": "sku1",
"unit_quantity": 1
},
{
"inventory_item_id": "id2",
"sku": "sku2",
"unit_quantity": 1
}
],
"is_kit": true,
"active": true,
"supplier_object": {
"supplier_id": "supplier_id",
"supplier_name": "supplier_name"
},
"country_of_origin": "USA",
"harmonized_code": "123456",
"supplier_products": [
{
"supplier_id": "id1",
"supplier_name": "name1",
"external_id": "ext_id1",
"unit_cost": 1
},
{
"supplier_id": "id2",
"supplier_name": "name2",
"external_id": "ext_id2",
"unit_cost": 2.5
}
],
"categories": [
"Electronics",
"Accessories"
],
"image_urls": [
"https://example.com/image1.jpg"
],
"external_system_url": "https://example.com/product/123",
"trackstar_tags": [
"tag1",
"tag2",
{
"tag3": "value3"
}
],
"additional_fields": {
"key": "value"
},
"trackstar_created_date": "2023-11-07T05:31:56Z",
"trackstar_updated_date": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>",
"detail": {
"<location>": {
"<field_name>": [
"<string>"
]
}
}
}Headers
Your organization-level Trackstar API key.
Example:
"<x-trackstar-api-key>"
Your user's access token for a specific integration (ShipHero, Extensiv, etc).
Example:
"<x-trackstar-access-token>"
Body
application/json
- Base Schema
- BlueBox (IDrive Fulfillment)
- CartonCloud
- Cin7 Core (Dear Systems)
- Deposco
- Extensiv (3PL Central)
- Flexport (Deliverr)
- I-Fulfilment
- Infoplus
- Cart.com (Jazz Central)
- Linnworks
- Quickbox (LogicPod)
- Logiwa IO
- MasonHub
- Nimble
- Ongoing WMS
- Portless
- WMS Sandbox
- ShipBob
- Shipedge
- Shipfusion
- ShipHero
- ShipMonk
- ShipStream
- Shipwire
- SKUSavvy
- Linnworks Core (SKUVault)
- Star WMS
- Unleashed
- VeraCore
- Warehance
- Whiplash (Ryder)
sku
Example:
"sku"
name
Example:
"name"
The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
Example:
"gtin"
Show child attributes
Show child attributes
A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
Example:
["tag1", "tag2", { "tag3": "value3" }]
⌘I