Products

The Products API allows you to create and retrieve products and their respective inventory and warehouse details.

Product records are the primary entities for tracking physical product attributes, including inventory and dimensions. A product record represents a physical item in the Deliverr network. Product records with at least one barcode are required to be present before inbounding inventory.


Dimensions

Product weight and dimensions attributes are vital values for proper billing and material handling. If these values are known with high confidence, they can be passed through when creating Product records. However, once the dimensions have been verified, the Product record will show a dimsLocked value of true, and updates to weight or dimensions will no longer be accepted after that point. If dimensions are not provided when products are first received to the Deliverr network, they will be measured and updated as part of the inbounding process.

CreateProduct

Create a product

SecurityBEARER
Request
Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

The product name or short description. Should represent a single line of text suitable to identify the product or for search purposes.

merchantSku
required
string (SkuType) [ 1 .. 255 ] characters

The human-readable Stock Keeping Unit (SKU) for reporting. This value may change over time.

object (CustomsInput)

Customs description - should reflect usage and materials. Needed only for international shipping.

originCountry
required
string (CountryCode)

The 2-letter IANA code for the product's country of origin. Needed only for international shipping.

Enum: "AF" "AX" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "CV" "KH" "CM" "CA" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CW" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "SZ" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MK" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW"
tariffCode
required
string^[0-9]{10}$

Harmonized tariff code. Needed only for international shipping.

customsValue
required
number <double> >= 0.01

The value of one unit of this product in USD for the purpose of customs declaration. Needed only for international shipping.

description
required
string [ 1 .. 255 ] characters

Customs description - should reflect usage and materials. Needed only for international shipping.

object (Dimension)
weight
required
number <double>

Weight of the product by itself.

weightUnit
required
string (WeightUnit)
Enum: "oz" "kg" "lb" "g"
height
required
number <double>

Height of the product by itself.

width
required
number <double>

Width of the product by itself.

length
required
number <double>

Length of the product by itself.

lengthUnit
required
string (LengthUnit)
Enum: "in" "cm" "mm" "m"
Responses
201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

422

Unprocessable Entity

post/logistics/api/2024-07/products
Request samples
application/json
{
  • "name": "string",
  • "merchantSku": "string",
  • "customsInformation": {
    • "originCountry": "AF",
    • "tariffCode": "string",
    • "customsValue": 0.01,
    • "description": "string"
    },
  • "dimensions": {
    • "weight": 0,
    • "weightUnit": "oz",
    • "height": 0,
    • "width": 0,
    • "length": 0,
    • "lengthUnit": "in"
    }
}
Response samples
application/json
{
  • "name": "string",
  • "logisticsSku": "stringstrin",
  • "merchantSku": "string",
  • "barcodes": [
    • "string"
    ],
  • "dimensions": {
    • "weight": 0,
    • "weightUnit": "oz",
    • "height": 0,
    • "width": 0,
    • "length": 0,
    • "lengthUnit": "in"
    },
  • "international": {
    • "originCountry": "AF",
    • "tariffCode": "string",
    • "customsValue": 0.01,
    • "description": "string"
    },
  • "dimsLocked": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

GetProducts

Get paginated list of products

SecurityBEARER
Request
query Parameters
limit
number <double>
Default: 20

number of records to return, defaults to 20, capped at 100

offset
number <double>
Default: 0

number of records to skip before returning, defaults to 0

Responses
200

OK

Response Schema: application/json
Array
name
required
string [ 1 .. 255 ] characters

The product name or short description. Should represent a single line of text suitable to identify the product or for search purposes.

logisticsSku
required
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

merchantSku
required
string (SkuType) [ 1 .. 255 ] characters

The human-readable Stock Keeping Unit (SKU) for reporting. This value may change over time.

barcodes
required
Array of strings

The list of associated barcodes for this product.

object (Dimension)
object (CustomsInput)

Customs description - should reflect usage and materials. Needed only for international shipping.

dimsLocked
required
boolean

true if the dimensions and weight of the item are verified and trusted. Must be true for non-zero inventory levels to be reported. If true, item dimensions and weight can no longer be updated via the API.

createdAt
string <date-time> (CreationDate)

The timestamp of creation in RFC 3339 format. e.g. 2017-07-21T17:32:28Z

updatedAt
string <date-time> (UpdatedDate)

The timestamp when last updated in RFC 3339 format. e.g. 2017-07-21T17:32:28Z

401

Unauthorized

403

Forbidden

get/logistics/api/2024-07/products
Response samples
application/json
[
  • {
    • "name": "string",
    • "logisticsSku": "stringstrin",
    • "merchantSku": "string",
    • "barcodes": [
      • "string"
      ],
    • "dimensions": {
      • "weight": 0,
      • "weightUnit": "oz",
      • "height": 0,
      • "width": 0,
      • "length": 0,
      • "lengthUnit": "in"
      },
    • "international": {
      • "originCountry": "AF",
      • "tariffCode": "string",
      • "customsValue": 0.01,
      • "description": "string"
      },
    • "dimsLocked": true,
    • "createdAt": "2019-08-24T14:15:22Z",
    • "updatedAt": "2019-08-24T14:15:22Z"
    }
]

GetProduct

Get product information for a product by logisticsSku.

SecurityBEARER
Request
path Parameters
logisticsSku
required
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

Responses
200

OK

Response Schema: application/json
name
required
string [ 1 .. 255 ] characters

The product name or short description. Should represent a single line of text suitable to identify the product or for search purposes.

logisticsSku
required
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

merchantSku
required
string (SkuType) [ 1 .. 255 ] characters

The human-readable Stock Keeping Unit (SKU) for reporting. This value may change over time.

barcodes
required
Array of strings

The list of associated barcodes for this product.

object (Dimension)
weight
required
number <double>

Weight of the product by itself.

weightUnit
required
string (WeightUnit)
Enum: "oz" "kg" "lb" "g"
height
required
number <double>

Height of the product by itself.

width
required
number <double>

Width of the product by itself.

length
required
number <double>

Length of the product by itself.

lengthUnit
required
string (LengthUnit)
Enum: "in" "cm" "mm" "m"
object (CustomsInput)

Customs description - should reflect usage and materials. Needed only for international shipping.

originCountry
required
string (CountryCode)

The 2-letter IANA code for the product's country of origin. Needed only for international shipping.

Enum: "AF" "AX" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "CV" "KH" "CM" "CA" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CW" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "SZ" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MK" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW"
tariffCode
required
string^[0-9]{10}$

Harmonized tariff code. Needed only for international shipping.

customsValue
required
number <double> >= 0.01

The value of one unit of this product in USD for the purpose of customs declaration. Needed only for international shipping.

description
required
string [ 1 .. 255 ] characters

Customs description - should reflect usage and materials. Needed only for international shipping.

dimsLocked
required
boolean

true if the dimensions and weight of the item are verified and trusted. Must be true for non-zero inventory levels to be reported. If true, item dimensions and weight can no longer be updated via the API.

createdAt
string <date-time> (CreationDate)

The timestamp of creation in RFC 3339 format. e.g. 2017-07-21T17:32:28Z

updatedAt
string <date-time> (UpdatedDate)

The timestamp when last updated in RFC 3339 format. e.g. 2017-07-21T17:32:28Z

401

Unauthorized

403

Forbidden

404

Not Found

get/logistics/api/2024-07/products/{logisticsSku}
Response samples
application/json
{
  • "name": "string",
  • "logisticsSku": "stringstrin",
  • "merchantSku": "string",
  • "barcodes": [
    • "string"
    ],
  • "dimensions": {
    • "weight": 0,
    • "weightUnit": "oz",
    • "height": 0,
    • "width": 0,
    • "length": 0,
    • "lengthUnit": "in"
    },
  • "international": {
    • "originCountry": "AF",
    • "tariffCode": "string",
    • "customsValue": 0.01,
    • "description": "string"
    },
  • "dimsLocked": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

GetProductAliases

Get available product alias information for product by logisticsSku.

SecurityBEARER
Request
path Parameters
logisticsSku
required
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

Responses
200

OK

Response Schema: application/json
name
required
string [ 1 .. 255 ] characters

The product name or short description. Should represent a single line of text suitable to identify the product or for search purposes.

required
Array of objects (AliasType)

An array of objects containing 3 aliases for a given product: merchantSku, channelProductId, and channelId.

Array
merchantSku
required
string (SkuType) [ 1 .. 255 ] characters

The human-readable Stock Keeping Unit (SKU) for reporting. This value may change over time.

channelProductId
required
string (ExternalProductIdType) [ 1 .. 255 ] characters

A permanent unique reference for this product generated by and meaningful to the API user. This value will be used when sending orders to identify the product to ship, when reporting products shipped, and when reporting inventory levels or updates. This value should be chosen to represent a PHYSICAL product in the external system, not a virtual product, bundle or kit, unless the bundle or kit is inbounded as a single barcoded product. This value must be unique among all products created via API.

channelId
required
string (ChannelIdType)

The name of the channel which the specified product is being sold on (e.g. WALMARTDIRECT or AMAZON or SHOPIFY)

401

Unauthorized

403

Forbidden

404

Not Found

get/logistics/api/2024-07/products/{logisticsSku}/aliases
Response samples
application/json
{
  • "name": "string",
  • "aliases": [
    • {
      • "merchantSku": "string",
      • "channelProductId": "string",
      • "channelId": "string"
      }
    ]
}

GetInventory

Get available inventory information for product by logisticsSku.

SecurityBEARER
Request
path Parameters
logisticsSku
required
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

query Parameters
poolName
string (InventoryPool)
Enum: "DEFAULT" "UNALLOCATED" "STORAGE" "PREP"
aggregatePacks
boolean
Responses
200

OK

Response Schema: application/json
logisticsSku
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

onHand
required
integer <int32> >= 0 characters

The calculation of on-hand quantity, non-Pickable quantity, and in-transfer quantity, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

available
required
integer <int32> >= 0 characters

The number of units available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

unavailable
required
integer <int32> >= 0 characters

The number of units not available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

unitsPerPack
number <double>
Array of objects (LotTrackingDetails)
Array
expirationDate
string <date-time>

Timestamp for when this quantity will expire. RFC 3339 format, e.g., 2017-07-21T17:32:28Z.

available
required
integer <int32> >= 0 characters

The number of units available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

Array of objects (PackInventory)
Array
logisticsSku
required
string = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

onHand
required
integer <int32> >= 0 characters

The calculation of on-hand quantity, non-Pickable quantity, and in-transfer quantity, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

available
required
integer <int32> >= 0 characters

The number of units available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

unavailable
required
integer <int32> >= 0 characters

The number of units not available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

unitsPerPack
number <double>
Array of objects (LotTrackingDetails)
401

Unauthorized

403

Forbidden

404

Not Found

get/logistics/api/2024-07/products/{logisticsSku}/inventory
Response samples
application/json
{
  • "logisticsSku": "stringstrin",
  • "onHand": 0,
  • "available": 0,
  • "unavailable": 0,
  • "unitsPerPack": 0,
  • "lotTrackingDetails": [
    • {
      • "expirationDate": "2019-08-24T14:15:22Z",
      • "available": 0
      }
    ],
  • "breakdown": [
    • {
      • "logisticsSku": "string",
      • "onHand": 0,
      • "available": 0,
      • "unavailable": 0,
      • "unitsPerPack": 0,
      • "lotTrackingDetails": [
        ]
      }
    ]
}

GetAllInventory

Get a list of available inventory information for products. There are no more results if an empty page is returned. To obtain reserve storage quantities, the poolName parameter can be set to 'STORAGE'

SecurityBEARER
Request
query Parameters
limit
number <double>
Default: 20

number of records to return, defaults to 20, capped at 100

offset
number <double>
Default: 0

number of records to skip before returning, defaults to 0

poolName
string (InventoryPool)
Enum: "DEFAULT" "UNALLOCATED" "STORAGE" "PREP"
Responses
200

OK

Response Schema: application/json
Array
logisticsSku
string (ProductIdType) = 11 characters ^D[0-9a-zA-Z]+$

The globally unique product identifier created by Flexport and assigned on product creation. May be referred to in other documentation as the Flexport SKU or DSKU.

onHand
required
integer <int32> >= 0 characters

The calculation of on-hand quantity, non-Pickable quantity, and in-transfer quantity, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

available
required
integer <int32> >= 0 characters

The number of units available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

unavailable
required
integer <int32> >= 0 characters

The number of units not available for sale - not reserved for open orders, belonging to products whose dimsLocked field is true, that are in a pickable and shippable state at connected warehouses.

unitsPerPack
number <double>
Array of objects (LotTrackingDetails)
Array of objects (PackInventory)
401

Unauthorized

403

Forbidden

get/logistics/api/2024-07/products/inventory/all
Response samples
application/json
[
  • {
    • "logisticsSku": "stringstrin",
    • "onHand": 0,
    • "available": 0,
    • "unavailable": 0,
    • "unitsPerPack": 0,
    • "lotTrackingDetails": [
      • {
        }
      ],
    • "breakdown": [
      • {
        }
      ]
    }
]

GetWarehouseDetails

Get warehouse information for a given list of logisticsSkus.

SecurityBEARER
Request
query Parameters
poolName
string (InventoryPool)
Enum: "DEFAULT" "UNALLOCATED" "STORAGE" "PREP"
Request Body schema: application/json
required
logisticsSkus
required
Array of strings (ProductIdType)

A list of logisticsSkus.

Responses
200

OK

Response Schema: application/json
Array
logisticsSku
required
string
Array of objects (WarehouseDetails)
400

Bad Request

401

Unauthorized

403

Forbidden

422

Unprocessable Entity

post/logistics/api/2024-07/products/warehouse
Request samples
application/json
{
  • "logisticsSkus": [
    • "stringstrin"
    ]
}
Response samples
application/json
[
  • {
    • "logisticsSku": "string",
    • "warehouseDetails": [
      • {
        }
      ]
    }
]