---
title: "Order - Bulk Add Manual Shipments"
method: POST
path: "/order/bulk_add_manual_shipments"
tags: ["order"]
---

# Order - Bulk Add Manual Shipments

`POST /order/bulk_add_manual_shipments`

Add manual shipments with tracking information to multiple orders in a single request.

## Request body

- object
  - `rows` object[], required — Array of shipment row objects
  - `options` object — Additional options

## Response `200`

Bulk shipment results

- object
  - `success` boolean, required — True if no errors occurred in any row
  - `results` object[], required — Per-row results
    - `shipments` Shipment[] — Created shipments
      - `_id` string — Shipment ID
      - `user_id` string — User who created the shipment
      - `time` string — Shipment creation time
      - `voided` boolean — Whether the shipment is voided
      - `return_label` boolean — Whether this is a return label
      - `deducted` boolean — Whether inventory was deducted
      - `response` object — Shipment response details
        - `provider` string — Carrier provider name
        - `service` string — Service name
        - `label_url` string — Label URL
        - `tracking_number` string — Tracking number
        - `tracking_url` string — Tracking URL
        - `amount` number — Shipping cost amount
        - `currency` string — Currency code
        - `shipment_id` string — External shipment ID
        - `signature` boolean — Signature confirmation
      - `request` object — Shipment request parameters
        - `order_items` ShipmentOrderItem[] — Items included in shipment
          - `item_id` string — Item ID
          - `variant_id` string — Variant ID
          - `quantity` number — Quantity shipped
          - `sku` string — Item SKU
        - `parcel` object — Parcel dimensions
          - `length` number — Package length
          - `width` number — Package width
          - `height` number — Package height
          - `weight` number — Package weight
          - `weight_unit` string — Weight unit
          - `dimensions_unit` string — Dimensions unit
        - `address` object — Ship-to address used in request
        - `carrier_account_ids` string[] — Carrier account IDs
        - `provider` string — Carrier provider
        - `service` unknown
    - `skulabs_warning` object — Non-fatal warning
      - `message` string — Warning message
      - `type` string — Warning type
    - `error` boolean — True if this row errored
    - `message` string — Error message for this row
    - `shipment` object — The row that errored

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden. Insufficient permissions.
- `429` — Too many requests. Rate limit exceeded.
- `500` — Internal server error.

---

[API](https://skmtc.net/skulabs/apis/skulabs-api.md) · [All operations](https://skmtc.net/skulabs/apis/skulabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skulabs/skulabs-api/revisions/4b5ec0ed78a6/schema)
