CartonCloud
CartonCloud API

Warehouse Products

Endpoints related to Warehouse Products.


Create a warehouse product

POST
https://api.cartoncloud.com
/tenants/{tenantId}/warehouse-products
required permission: ADD_WAREHOUSE_PRODUCT

details.countryOfOrigin and details.harmonizedSystemCode require Accept-Version 7 or higher on this endpoint.

Create a warehouse product › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

Create a warehouse product › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Create a warehouse product › Request Body

Warehouse product request payload
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​details
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

Create a warehouse product › Responses

Warehouse product was created.

Warehouse product entity
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

id
​UUID · uuid · readOnly
description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

timestamps
​object | null

Map of timestamp entries for the Warehouse Product lifecycle events


Search Warehouse Products

POST
https://api.cartoncloud.com
/tenants/{tenantId}/warehouse-products/search
required permission: VIEW_WAREHOUSE_PRODUCT

Search for warehouse products based on search criteria.

Condition Fields

Supported JsonField Conditions

PointerDescription
/nameProduct name
/references/codeProduct code
/customer/idCustomer ID
/customer/nameCustomer name
/details/activeWhether the product is active
/timestamps/created/timeProduct creation timestamp (ISO 8601 format)
/timestamps/modified/timeProduct last modification timestamp (ISO 8601 format)

Search Warehouse Products › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

Search Warehouse Products › query Parameters

page
​integer

The page number to return results for

size
​integer

The number of elements per page. Default value may vary between endpoints

sort
​string

Field name and sort order separated by a comma. {dot separated field name},{asc/desc}

nullHandling
​string · enum
Enum values:
NULLS_FIRST
NULLS_LAST

Search Warehouse Products › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Search Warehouse Products › Request Body

Search request body. The condition tree is the value of `condition`. `condition.type` is `AndCondition` or `OrCondition`.
​WrapperCondition · required

And and Or conditions must be accompanied with internal conditions property that provides all the fields level conditions that the wrapper must be applied to. Note: The FreeTextSearch condition cannot be combined with other fields level conditions.

Search Warehouse Products › Responses

Success

​object[]
Warehouse product entity
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

id
​UUID · uuid · readOnly
description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

timestamps
​object | null

Map of timestamp entries for the Warehouse Product lifecycle events


Get a warehouse product

GET
https://api.cartoncloud.com
/tenants/{tenantId}/warehouse-products/{warehouseProductId}
required permission: VIEW_WAREHOUSE_PRODUCT

Get warehouse product by ID

Get a warehouse product › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

warehouseProductId
​string · uuid · required

Warehouse Product ID

Get a warehouse product › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Get a warehouse product › Responses

Warehouse Product found. Returns product.

Warehouse product entity
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

id
​UUID · uuid · readOnly
description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

timestamps
​object | null

Map of timestamp entries for the Warehouse Product lifecycle events


deprecated

Update Product (PUT)

PUT
https://api.cartoncloud.com
/tenants/{tenantId}/warehouse-products/{warehouseProductId}
required permission: EDIT_WAREHOUSE_PRODUCT

Updates a previously created product.

The endpoint has been deprecated since API version 7. Consider using PATCH for updating an existing product instead.

Update Product (PUT) › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

warehouseProductId
​string · uuid · required

Warehouse Product ID

Update Product (PUT) › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Update Product (PUT) › Request Body

Warehouse product request payload
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​details
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

Update Product (PUT) › Responses

Product updated successfully

Warehouse product entity
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

id
​UUID · uuid · readOnly
description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

timestamps
​object | null

Map of timestamp entries for the Warehouse Product lifecycle events


Partial Product Update (PATCH)

PATCH
https://api.cartoncloud.com
/tenants/{tenantId}/warehouse-products/{warehouseProductId}
required permission: EDIT_WAREHOUSE_PRODUCT

Partial Product Update (PATCH)

⚠️ Current Limitations:

  • In case of the defaultUnitOfMeasure update conversion rate 1:1 will be applied
  • Some paths values cannot be changed (ex. /id, /customer/*)
  • For certain paths, the remove operation resets the value to its default (e.g., /details/stockSelection).
  • Partial array updates (e.g., /notifications/0) are not supported. To modify an array, you can either replace the entire array or append a new element using the - symbol (e.g., /notifications/-).

Partial Product Update (PATCH) › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

warehouseProductId
​string · uuid · required

Warehouse Product ID

Partial Product Update (PATCH) › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Partial Product Update (PATCH) › Request Body

List of patch operations following the JSON Patch specification. See RFC 6902 - JSON Patch for the official documentation. (add, replace, remove operations are supported)

Individual patch operation entity following the JSON Patch specification. See [RFC 6902 - JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902) for the official documentation.
op
​string · enum · required
Enum values:
add
replace
remove
path
​string · required
​

Partial Product Update (PATCH) › Responses

Product updated successfully

Warehouse product entity
name
​string · minLength: 3 · maxLength: 255 · required

Product name

type
​string · minLength: 1 · maxLength: 64 · required

Product type name. See Product Types documentation for more information.

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

scope
​string · enum · required
Enum values:
WAREHOUSE
​object · required

External or alternate identifiers for a resource, in addition to id (always a UUID).

Values may or may not be unique, depending on tenant and customer configuration. Tenants can define additional reference types beyond the common keys below.

defaultUnitOfMeasure
​string · required

Code of the default unit of measure

id
​UUID · uuid · readOnly
description
​string | null · maxLength: 60000

Product description

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object
​object | null

Property (Custom Field) requirements for warehouse product. If a custom field is omitted from this object, the behavior will replicate customer-level settings.

​object | null

All unit of measures defined for warehouse product

​array | null

Array of warehouse product notifications

timestamps
​object | null

Map of timestamp entries for the Warehouse Product lifecycle events


Get warehouse product stock

GET
https://api.cartoncloud.com
/tenants/{tenantId}/warehouse-products/{warehouseProductId}/stock
required permission: VIEW_WAREHOUSE_PRODUCT

Returns the stock on hand for the provided Warehouse Product in the specified Warehouse.

productStatus and unitOfMeasure are always applied as aggregateBy values.

Custom Fields for the Product and Purchase Order Product can also be provided by passing the mapFieldName of the Custom Field. The mapFieldName of the Custom Field is it's name in camelCase e.g. "Batch Number" becomes batchNumber.

Inactive products return an empty list.

Paging uses the standard page and size query parameters.

Get warehouse product stock › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

warehouseProductId
​string · uuid · required

Warehouse Product ID

Get warehouse product stock › query Parameters

warehouse
​UUID · uuid · required

Warehouse UUID.

Example: 38756e85-d15c-45d9-84fd-1b3e50b73527
aggregateBy
​string[] · style: form · explode: true

Extra aggregation criteria. productStatus and unitOfMeasure are always applied. Will also accept Product and Purchase Order Product Custom Field mapFieldName.

Enum values:
inboundOrder
location
productGroup
productType
expiryDate
page
​integer

The page number to return results for

size
​integer

The number of elements per page. Default value may vary between endpoints

Get warehouse product stock › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Get warehouse product stock › Responses

Stock rows for the warehouse product.

A stock-on-hand result row.
​object
​object
​object

Values for each aggregateBy criterion (and always-applied criteria). Custom product or purchase-order product fields may also appear here.

type
​string

Row type.

Example: ITEM