Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Generate a JWT access token through a Custom Global Integration and provide it with each request in the Authorization header prefixed with "Bearer" and then a single space.

Query Parameters

fields
enum<string>[]

Select fields of the HandlingClass object. See the selecting fields page for more information. Specify fields of the HandlingClass object to include in the response.

Available options:
all,
name,
code,
sort_order,
warehouses,
conditions,
referenced_product_profiles,
conditions_readable,
matched_count,
classification,
created_at,
updated_at
fields:warehouses
enum<string>[]

Specify fields of the referenced Warehouse objects to include under included.Warehouse. type and id are always returned. See the selecting fields page for more information. Specify additional fields of the Warehouse object to be included in the response.

Available options:
basic,
all,
id,
name,
is_active,
abbreviation
fields:referenced_product_profiles
enum<string>[]

Specify fields of the referenced ProductProfile objects to include under included.ProductProfile. type and id are always returned. See the selecting fields page for more information. Specify fields of an included ProductProfile object.

Available options:
basic,
all,
name,
code,
conditions,
conditions_readable,
matched_count,
classification,
created_at,
updated_at

Body

application/json
name
string
required

Human-readable Handling Class name.

Required string length: 1 - 255
Example:

"Heavy Bulky"

sort_order
integer
required

Evaluation precedence within every selected Warehouse.

Required range: 0 <= x <= 1000000
Example:

20

warehouses
(WarehouseRef · object | null)[]
required

Warehouses where the Handling Class is evaluated.

Minimum array length: 1

A reference to a Warehouse by id.

conditions
object
required

A one-level OR-of-AND condition tree. The server accepts the {"and": [...]} shorthand for a single group and always returns the canonical {"or": [{"and": [...]}]} form.

OpenAPI validates the structural envelope. ShipStream remains authoritative for available Product fields, field/operator compatibility, option values, measurement units, raw CEL validity, normalization, the limit of 64 condition rows across all groups, and the 65,535-byte compiled-expression limit. Editor clients can load the applicable Product field catalogue from GET /api/global/v1/inventory/product-profiles/condition-fields or GET /api/global/v1/inventory/handling-classes/condition-fields.

Example:
code
string

Optional stable code; blank or omitted values are generated from the name.

Maximum string length: 64
Pattern: ^[A-Za-z0-9_]*$
Example:

"heavy_bulky"

Response

Handling Class created and Warehouse classification scheduled.

resource
HandlingClass · object

A Warehouse-scoped Product classification used by Slotting and Replenishment. Classification is asynchronous: after conditions or Warehouse assignments change, poll the resource until classification.status is up_to_date. Product changes flow through a separate asynchronous changelog and may not appear immediately in materialized classification.

Example:
included
object

Related Warehouses and Product Profiles requested through nested fields:* parameters.

Example: