- Using UPS, you can request rates for up to 50 parcels in a single shipment. You can purchase labels for up to 40 parcels in a single shipment. Additionally, you can purchase labels for up to 200 parcels in a single shipment using an extended multi-piece shipment.
- Using FedEx, sending more than 12 parcels within one shipment may result in a timeout.
- USPS does not support multi-piece parcels in a single shipment at this time.
Create a multi-piece shipment
To create a multi-piece shipment, add a list of Parcel objects to theparcels field in a Shipment. Generating rates and creating transactions works the exact same way as with normal shipments. The limit on the number of parcels depends on each carrier’s restrictions.
NoteFor more than 40 labels in a single shipment, create an extended multi-piece shipment.
amount refers to the cost of the entire Shipment with multiple parcel, not per parcel.
Response:
Create an extended multi-piece shipment
UPS supports up to 200 parcels in a single shipment.- For 40 parcels or less, in a single shipment, you can choose to create a multi-piece shipment.
- For more than 40, you must create an extended multi-piece shipment.
noteCurrently, Instalabel is not available for Shippo FedEx and UPS accounts. If you want use either FedEx or UPS for Instalabel purchases, you must use your own carrier account.
- Your chosen carrier account ID.
- Your chosen service level token.
- Set
asynctotrue.
cURL
How to retrieve labels for each parcel
You can purchase a multi-piece shipping rate by POSTing the Rateobject_id to the Transaction endpoint as usual. A separate transaction will be created for each parcel.
- The Transaction response after you’ve purchased the rate provides you with the primary
tracking_numberof the entire Shipment and thelabel_urlfor the first parcel of the Shipment. As an example, this label has the primary tracking number on it incl. information about the status of the entire multi-piece shipment. - To retrieve labels for the rest of the parcels in the Shipment, you need to make another GET request to the Transaction endpoint with the Rate
object_idas the query parameter. These sample labels have both the primary tracking number (MSTR) on it as well as their own parcel-specific tracking number.
tracking_number and label_url field for it’s associated parcel.
Response:
Multi-piece shipping label references
Some carriers support adding your own reference to a shipping label. For more information about support for multi-piece label reference support, review our Carrier reference fields guide.Parcel-level insurance
You can also purchase insurance for each parcel of the multi-piece shipment. This can be done through the extras attribute when creating your Parcel object within the Shipment request. Here is a sample request for a Shipment with different insurance amounts for each Parcel.cURL
Handling shipment-level and parcel-level insurance
- If both shipment-level and parcel-level insurance are specified, the parcel-level insurance will take precedence. Parcels without parcel-level insurance will have the shipment-level insurance amount applied to that parcel.
- If only shipment-level insurance is specified, then the shipment insurance amount will be applied to each parcel — not divide amongst parcels.