---
title: "Create package"
method: POST
path: "/api/v1/external/shipments/{shipmentId}/packages"
tags: ["Shipments"]
---

# Create package

`POST /api/v1/external/shipments/{shipmentId}/packages`

## Request

- Base URL: `https://api.wove.com`
- URL: `https://api.wove.com/api/v1/external/shipments/{shipmentId}/packages`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/wove/apis/wove-external-api/docs/api/v1/external/shipments/:shipmentId/packages/post.ts> (a function with typed inputs; its response is checked against the schema)

Add a new package to a shipment (either in a container or as a loose package).

## Path parameters

- `shipmentId` string, required

## Request body

- CreatePackageRequest
  - `containerId` string, nullable: Container ID (null for loose packages)
  - `packageNumber` string: Package number/identifier
  - `packageType` string: Type of package (e.g., CARTON, PALLET)
  - `description` string: Package description
  - `packageCount` integer: Number of packages
  - `lineNumber` integer: Line number for ordering
  - `grossWeight` number: Gross weight of package
  - `netWeight` number: Net weight of package
  - `volume` number: Volume of package
  - `weightUnit` string: Unit for weight measurements
  - `volumeUnit` string: Unit for volume measurements

## Response `201`

Package created successfully

- object
  - `success` boolean
  - `data` ShipmentPackage
    - `id` string
    - `containerId` string, nullable: ID of the container this package belongs to (null for loose packages)
    - `packageNumber` string
    - `packageType` string
    - `description` string, nullable
    - `packageCount` integer
    - `lineNumber` integer, nullable
    - `grossWeight` number, nullable
    - `netWeight` number, nullable
    - `volume` number, nullable
    - `weightUnit` string, nullable
    - `volumeUnit` string, nullable
    - `items` ShipmentItem[]: Items contained in this package
      - `id` string
      - `lineNumber` integer
      - `sku` string
      - `partNumber` string
      - `description` string
      - `quantity` number
      - `unitOfMeasure` string
      - `unitPrice` number
      - `amount` number
      - `currency` string
      - `countryOfOrigin` string
      - `hsCode` string
      - `weight` number
      - `weightUnit` string
      - `volume` number
      - `volumeUnit` string
      - `packageNumber` string
      - `dimensions` object
        - `length` number
        - `width` number
        - `height` number
        - `unit` string
  - `message` string

## Other responses

- `400`: Invalid request data
- `404`: Shipment not found

---

[API](https://skmtc.dev/wove/apis/wove-external-api.md) - [All operations](https://skmtc.dev/wove/apis/wove-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wove/apis/wove-external-api/revisions/37290e267e07?raw)
