Cartonization API

Turn order lines into the right boxes.

Send items and available cartons to WiCartonize. Get back an optimized packing plan with package assignments, box selection, and 3D coordinates — ready for ecommerce, WMS, and 3PL workflows.

API + Web UIMulti-box ordersHigh-volume workflows

POST /api/v1/pack
// Example request · mm / g
{
  "requestId": "order-20481",
  "dimensionUnit": "mm",
  "weightUnit": "g",
  "items": [
    {
      "name": "SKU-1001",
      "quantity": 2,
      "dimensions": {
        "length": 320,
        "width": 220,
        "height": 80
      },
      "weight": 450
    }
  ],
  "boxes": [
    { "name": "S", "dimensions": { "length": 350, "width": 250, "height": 120 }, "maxWeight": 5000 },
    { "name": "M", "dimensions": { "length": 450, "width": 350, "height": 250 }, "maxWeight": 15000 }
  ]
}
optimized packing plan returned
Built for Ecommerce Works with WMS Designed for 3PL Available as API + Web UI Also available for Shopify

Cartonization without building the algorithm yourself.

Add packing intelligence to your application while keeping order management, warehouse, and fulfillment workflows exactly where they are.

Automatic box selection

Evaluate the cartons you already use and select a suitable box for each order instead of relying on simple volume math.

3D packing plans

Return item placement data that can support packing instructions, visualization, and downstream warehouse workflows.

Multi-box orders

When one carton is not enough, split the order into multiple physical packages and keep the assignment explicit.

High-volume processing

Use the API for programmatic workloads or the Web UI when operations teams need to calculate large order sets without engineering work.

Flexible product input

Reference stored products with itemId, or send inline length, width, height, weight, and quantity. Both modes can appear in one request.

Independent of your platform

Use WiCartonize with a WMS, OMS, ERP, custom ecommerce stack — or independently through the Web UI. Shopify is optional.

Three inputs. One packing decision.

WiCartonize sits between your order data and the point where a physical package decision is required. The engine is real 3D placement — not a volume comparison.

1
Send the itemsStored itemId plus quantity, or inline dimensions, weight, and quantity.
2
Send available cartonsInline boxes with maxWeight, stored boxId, or omit boxes to use a packing profile.
3
Receive the packing planSelected boxes, package contents, coordinates, utilization, leftovers, and an inspectable 3D embed.
Example packing resultOrder #WC-20481
Selected cartonMedium
Packages1
Items assigned2

From request to packing plan in one API flow.

Call the public Gateway with a tenant API key. Master data is optional. Invalid itemId values return ITEM_REFERENCE_NOT_FOUND — never a silent fallback.

REQUEST
curl -X POST "https://wicartonizegateway-wicartonize.up.railway.app/api/v1/pack" \
  -H "X-Api-Key: $WICARTONIZE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "requestId": "order-20481", "items": [{ "name": "SKU-1001", "quantity": 2, "dimensions": { "length": 320, "width": 220, "height": 80 }, "weight": 450 }], "boxes": [{ "name": "M", "dimensions": { "length": 450, "width": 350, "height": 250 }, "maxWeight": 15000 }] }'
RESPONSE
{
  "requestId": "order-20481",
  "decisionId": "8f2c1a0e-…",
  "status": "Packed",
  "summary": {
    "boxCount": 1,
    "packedItemCount": 2,
    "leftoverItemCount": 0,
    "utilization": 0.61
  },
  "packages": [
    {
      "packageIndex": 0,
      "box": { "name": "M" },
      "items": [
        {
          "name": "SKU-1001",
          "position": { "x": 0, "y": 0, "z": 0 }
        }
      ]
    }
  ],
  "leftovers": []
}

Public dimensions use length, width, and height. Auth: X-Api-Key or Authorization: Bearer. Full contract: Developer API.

Use cartonization wherever a package decision is needed.

Position the API around problems buyers already have — not only around the word “cartonization.”

Ecommerce fulfillment

Estimate package count and choose cartons before label generation or warehouse packing.

WMS cartonization

Add carton selection to wave, allocation, picking, or packing workflows without building a packing engine.

3PL operations

Apply a consistent packing service across multiple clients, sales channels, and warehouse processes.

Shopify orders

Use WiCartonize in Shopify Admin, or call the same packing engine from your own workflow. Shopify is not required.

Built for more than one order at a time.

For operations teams and software platforms, cartonization becomes more valuable when it can be applied repeatedly and consistently across large order sets.

Programmatic API access for system-to-system workflows.
Web UI for operational users who need calculations without integration work.
Suitable for order batches, warehouse planning, and pre-cartonization workflows.
Keep your own product and carton master data as the source of truth — or send inline dimensions.
Bulk calculationExample operation
orders-2026-09-13-a1,000 ordersComplete
orders-2026-09-13-b2,500 ordersComplete
orders-2026-09-13-c500 ordersComplete
orders-2026-09-13-d5,000 ordersComplete

Illustrative UI for batch cartonization. Throughput claims are published only when measured.

What is a cartonization API?

A cartonization API is a software interface that helps another application determine how an order should be packed. Instead of choosing a shipping box with a simple volume comparison, a cartonization service evaluates item dimensions, quantities, and available cartons and returns one or more physical packages.

This makes cartonization useful before packing, before fulfillment, or anywhere a system needs to know how many boxes an order may require. Ecommerce platforms, warehouse management systems, 3PL software, and custom fulfillment applications can call the same packing service without embedding the full packing algorithm into their own codebase.

Cartonization API vs. 3D bin packing API

The terms overlap, but the buyer intent can be different. “3D bin packing API” is usually searched by developers thinking about a geometric packing problem, while “cartonization API” is often used in ecommerce and warehouse workflows. WiCartonize is both: a 3D packing engine exposed as a cartonization API for fulfillment.

Where cartonization fits in a WMS or fulfillment flow

A packing decision may be needed during order planning, wave creation, picking, packing, or label creation. WiCartonize is an independent service: the WMS or commerce platform remains the system of record, and POST /api/v1/pack returns the package plan needed by the next step. See the WMS integration checklist.

Can WiCartonize be used without Shopify?

Yes. WiCartonize is available independently through its API and Web UI. The Shopify extension is an additional platform-specific experience, not a requirement. That keeps the product open to developers, WMS vendors, 3PLs, and ecommerce teams outside Shopify.

Common cartonization API questions

What does a cartonization API return?

WiCartonize returns selected cartons, which items belong to each package, millimeter placement coordinates, utilization, leftovers, split reasons, and an optional 3D inspect URL.

Can one order be split across multiple boxes?

Yes. Multi-box output is used when an order cannot be packed into one available carton, or when weight and geometry make multiple physical packages the better result.

Can I use WiCartonize with my own WMS or OMS?

Yes. The API is an independent packing service. Your WMS, OMS, ERP, or custom application remains the source of order and master data.

Do I have to use Shopify?

No. Shopify is one integration path. WiCartonize can also be used through the API and the Web UI.

Should I send product IDs or dimensions?

Either. If itemId is present, only quantity is required. If it is absent, length, width, height, weight, and quantity are required. Invalid IDs fail with ITEM_REFERENCE_NOT_FOUND.

Give your application a packing engine.

Use WiCartonize through the API for automated workflows, or open the Web UI when your team needs cartonization without an integration project.