Skip to main content
POST
Buy a shipping label for a fulfillment order

Authorizations

Authorization
string
header
required

Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.

Path Parameters

fulfillmentOrderId
integer
required

The fulfillment order to buy a label for.

Body

application/json
carrier_code
string
required

Carrier code to ship with.

service_code
string
required

Shipping service code to use.

weight
object
required
package_code
string | null

Package type code.

confirmation
string | null

Delivery confirmation option.

ship_date
string<date> | null

Date the shipment will be tendered to the carrier.

dimensions
object | null
ship_to
object | null

Optional override of the ship-to address.

label_format
enum<string> | null

Format of the returned label.

Available options:
pdf,
png,
zpl,
PDF,
PNG,
ZPL
test_label
boolean | null

When true, request a test (non-billable) label.

print_station_id
string<uuid> | null

Optional print routing. ID of a Luminous print station (from GET /pickflow/print-stations) to enqueue the purchased label into that station's print queue. Enqueue failures are non-fatal — the label is always returned.

packing_session_id
string | null

Optional packing session identifier to associate with the print job.

items
object[] | null

WIP lot allocations (CS-10083). Required when the fulfillment order has lot-tracked lines; omit entirely for a non-lot FO so existing PickFlow clients keep working. Buy-label ships the whole FO, so lot-tracked lines must total the FO line quantity. Duplicate lines for the same product + lot are summed before the on-hand check. Validation runs before postage is purchased; lot problems return 422 keyed items.N.lot_id.

Response

Label purchased (or already-purchased label returned)

data
object

Base64 label bytes and tracking details.