How Ship API works

Discover here everything you have to know about Ship API Calls

This Method allows you to generate a shipment or a return and get shipping labels for 170+ Carriers with the same API call.

💡With this Method you can:

  • Generate a standard shipment and get its label.

  • Generate a shipment with its return label to put in the box.

  • Generate a standard return.

  • Generate a return and override its return to address.

  • Generate a shipment with a carrier and generate return label with a different carrier.


  1. Before you start

  2. How it works

  3. Returns handling

  4. Ship API reference

1. Before you start


For testing purposes, you can use the ShippyPro Generic Carrier to generate test labels. See here if you need help configuring the ShippyPro Generic Carrier.

If you used PutOrder API to create an order to ship, you need to make the Ship API call with the same TransactionID used with the PutOrder API call.

In this way, the system will link the right order and relative items.

2. How it works


Please note that you must have at least a working carrier connection to make any shipment.

For help or any information on how to connect a Carrier, please check our help article here. After you have connected at least one Carrier, you will be able to get CarrierID, CarrierName, and CarrierService at the bottom of the API Keys ShippyPro page.


Getting Carrier Rates

You can use our Get Rates API before the Ship call in order to choose the best carrier rate option for your shipment and specify the RateID parameter in the Ship call.


Choosing Packages

You can specify your own package dimensions or retrieve Carrier supported packages with the GetCarrierPackagesTypes Method. See here for Method reference.


Get the Labels (sync or async)

The Method works both in async and sync, allowing you to get the return label in the response call or retrieve it later. Please refer to the Async parameter below. If false, the label and the tracking details will be immediately returned in the call response, if true you should retrieve the label with the GetLabelURL or via Webhook - Order Shipped Events.


Carrier Options

You can specify specific carrier services for the shipment, filling the carrier option parameter. You can find an example below:

"CarrierOptions": [{

"name": "upshazardousmaterials",

"value": 1



International Shipment

If you need to ship outside EU, you should provide the customs declaration module (CN22 or CN23). Please read the CN22 parameter section below.

Kindly note that the BillAccountNumber field should only be filled in case the Incoterm employed is EXW.



If you need to upload paperless documentation to your shipment, please check the UploadPaperlessDocumentations API Method.


Do I need to make a new Ship API call to change Carrier?

If you'd like to change Carrier for a Shipment you already created, you'll need to create a new Ship API call.


If you import Amazon orders through Lengow and make the SHIP call, make sure you have imported the orders into ShippyPro first, otherwise the final marketplace will not have the tracking update. These shipments for ShippyPro will show up as manual shipments.

3. Returns handling


In ShippyPro a return is treated as a shipment, and you can decide how to fill the "from" and "to" address sections.

Anyway the easiest way to create a return is setting IsReturn = true: this will revert “From” and “To” addresses in the shipment and its label.


Return Label in The Box

ShippyPro supports Return Label in The Box that allows you to create the Shipment and Return Label with one Ship call only.

You should specify this setting in the carrier connection form, so that the ship call will work together with the carrier connection setting.
If you need help in setting the feature please read our help article here.

To enable the inclusion of the Return Label Tracking code directly in the response API contact our Sales department.


How to override return address

You can specify a different return address by filling the return_to[] optional parameter with an address object array.


Return Label Combination

The Ship Method also supports the possibility to ship with a specific Carrier and return the order with another Carrier. This is a Premium API feature. Please contact sales if you would like to know more.

4. Ship API reference


Visit our API Documentation to view an example of Ship API request and response.

Talk to our Experts to learn more about our APIs and take your business to the next level!