Skip to main content
This guide provides ready-to-use sample payloads for the Create or Update Products endpoint (POST /v1/products). Each example covers a common product type you’ll encounter when building your catalog.
Before sending products, review the required and optional fields in the Pick and Pack overview.

Required fields checklist

Every product must include the following fields:
FieldTypeDescription
namestringDisplay name of the product
categoriesstring[]Category hierarchy (e.g., ["Dairy & Eggs", "Milk"])
weightnumberTotal weight in kilograms
dimensionsobjectdepth, width, height in centimeters
identifiersarrayAt least one identifier (e.g., UPC barcode)
Commonly used optional fields:
FieldTypeDescription
imageUrlsstring[]Product image URLs, shown to pickers during fulfillment
skustringYour internal SKU
externalIdentifierstringYour system’s unique product ID
descriptionstringProduct description
details.sizeSpecificationobjectSize value and unit (e.g., 200.0 / "G")
details.packSizeSpecificationobjectPack description (e.g., "140g x 4 Pack")
attributesstring[]Special attributes like "WEIGHTED" for variable-weight items

Fixed-weight packaged goods

Standard shelf products sold at a fixed weight — canned goods, boxed items, packaged proteins, etc. What to look for:
  • weight reflects the total packaged weight (not just the net contents)
  • details.sizeSpecification captures the labeled net weight (e.g., 200g)
  • A single UPC identifier is typically sufficient
{
  "products": [
    {
      "name": "Skinless & Boneless Salmon 200g",
      "description": "Skinless & Boneless Salmon 200g",
      "sku": "3001012",
      "externalIdentifier": "3001012",
      "imageUrls": [
        "https://cdn.example.com/products/3001012/main.jpg"
      ],
      "categories": [
        "Pantry",
        "Canned & Prepared Meals",
        "Canned Fish"
      ],
      "weight": 0.225,
      "dimensions": {
        "depth": 3.5,
        "width": 10.2,
        "height": 7.8
      },
      "identifiers": [
        {
          "type": "UPC",
          "value": "9300657100810"
        }
      ],
      "details": {
        "sizeSpecification": {
          "value": 200.0,
          "description": "G"
        }
      }
    }
  ]
}
For fixed-weight items, weight (in kg) should include packaging. The sizeSpecification value represents the labeled net contents.

Count / piece items (EA)

Products sold by count or number of pieces — tea bags, tablets, individual items, etc. What to look for:
  • details.sizeSpecification uses "EA" (each) as the unit
  • details.packSizeSpecification describes the pack (e.g., "25 Pack")
  • Multiple imageUrls can be provided for different product views
{
  "products": [
    {
      "name": "English Breakfast Tea Bags 25 Pack",
      "description": "English Breakfast Tea Bags 25 Pack",
      "sku": "3002023",
      "externalIdentifier": "3002023",
      "imageUrls": [
        "https://cdn.example.com/products/3002023/main.jpg",
        "https://cdn.example.com/products/3002023/side.jpg"
      ],
      "categories": [
        "Pantry",
        "Tea & Coffee",
        "Tea"
      ],
      "weight": 0.095,
      "dimensions": {
        "depth": 7.0,
        "width": 8.5,
        "height": 13.0
      },
      "identifiers": [
        {
          "type": "UPC",
          "value": "70177020095"
        }
      ],
      "details": {
        "sizeSpecification": {
          "value": 25.0,
          "description": "EA"
        },
        "packSizeSpecification": {
          "value": "25 Pack",
          "description": "pack size"
        }
      }
    }
  ]
}

Multi-pack products

Bundled products containing multiple individual units — yoghurt packs, drink multipacks, snack boxes, etc. What to look for:
  • details.sizeSpecification reflects the total combined weight/volume (e.g., 4 x 140g = 560g)
  • details.packSizeSpecification describes the bundle (e.g., "140g x 4 Pack")
  • Multiple UPC identifiers may be needed — one for the outer packaging and one for the individual units
  • weight is the total weight of the entire multi-pack including packaging
{
  "products": [
    {
      "name": "Greek Yoghurt Strawberry 140g x 4 Pack",
      "description": "Greek Yoghurt Strawberry 140g x 4 Pack",
      "sku": "3003034",
      "externalIdentifier": "3003034",
      "imageUrls": [
        "https://cdn.example.com/products/3003034/main.jpg",
        "https://cdn.example.com/products/3003034/back.jpg",
        "https://cdn.example.com/products/3003034/nutrition.jpg"
      ],
      "categories": [
        "Dairy & Eggs",
        "Yoghurt",
        "Multipacks"
      ],
      "weight": 0.612,
      "dimensions": {
        "depth": 7.5,
        "width": 24.0,
        "height": 9.0
      },
      "identifiers": [
        {
          "type": "UPC",
          "value": "9343587000824"
        },
        {
          "type": "UPC",
          "value": "9343587000831"
        }
      ],
      "details": {
        "sizeSpecification": {
          "value": 560.0,
          "description": "G"
        },
        "packSizeSpecification": {
          "value": "140g x 4 Pack",
          "description": "pack size"
        }
      }
    }
  ]
}
For multi-packs, always include the outer package barcode as an identifier. If the individual units have a different barcode, include that as a second identifier — this helps pickers scan either code during fulfillment.

Liquid / volume-based products

Products where the primary measurement is volume — milk, juice, cleaning products, etc. What to look for:
  • details.sizeSpecification uses volume units ("ML" or "L") instead of weight
  • weight still reflects the physical weight in kg (important for delivery logistics)
  • For liquids, weight will typically be close to the volume (1L of water ~ 1kg) plus packaging
{
  "products": [
    {
      "name": "Full Cream Milk 2L",
      "description": "Full Cream Milk 2L",
      "sku": "3005034",
      "externalIdentifier": "3005034",
      "imageUrls": [
        "https://cdn.example.com/products/3005034/main.jpg"
      ],
      "categories": [
        "Dairy & Eggs",
        "Milk",
        "Full Cream"
      ],
      "weight": 2.06,
      "dimensions": {
        "depth": 9.5,
        "width": 9.5,
        "height": 27.0
      },
      "identifiers": [
        {
          "type": "UPC",
          "value": "9310073000206"
        }
      ],
      "details": {
        "sizeSpecification": {
          "value": 2.0,
          "description": "L"
        }
      }
    }
  ]
}

Size specification units reference

Use the correct description value in sizeSpecification for your product type:
UnitDescription ValueUse For
Grams"G"Solid food, packaged goods
Kilograms"KG"Bulk or heavy items
Millilitres"ML"Small liquid products
Litres"L"Large liquid products
Each"EA"Count-based items (bags, tablets, pieces)

Common mistakes to avoid

weight must be in kilograms and reflect the total packaged weight. A 200g product should have "weight": 0.2, not "weight": 200. This field is critical for delivery logistics and bag packing optimization.
The dimensions object is required. Provide all three fields (depth, width, height) in centimeters. These are used for delivery capacity planning.
Include at least one image URL. Images are shown to pickers during fulfillment — without them, pickers cannot visually verify they have the correct product.
Categories should form a hierarchy from broad to specific (e.g., ["Dairy & Eggs", "Yoghurt", "Multipacks"]). This powers search and browse functionality in the storefront.
sizeSpecification is the labeled product size customers see (e.g., 2L, 500g, 25 pack). weight is the physical weight in kg for logistics. These serve different purposes.

Next steps

Create or Update Products

Send your product catalog via the API

Store Inventory

Set up per-store availability and pricing