POST v1/Shipments
Creates a new shipment for an order.
Request Information
URI Parameters
None.
Body Parameters
AddShipmentInfo| Name | Description | Type | Additional information |
|---|---|---|---|
| OrderId |
Order identifier for which you want to add a shipment |
integer |
None. |
| WarehouseId |
Optional Warehouse for which the shipment is created.<br /><br />Allocated OrderRows for this shipment must have assigned this warehouse.<br /><br /> If not specified, the warehouse is determined based on the first OrderRow assigned to this shipment. |
integer |
None. |
| OrderRows |
Optional collection of OrderRow identifiers<br /><br />All orderrows must have been assigned the same warehouse.<br /><br /> If not specified, all shippable orderrows with allocation for the specified warehouse are added. |
Collection of integer |
None. |
| ShippingCode |
Optional Shipping code for shipment.<br /><br /> If not provided, ShopCtrl will generate the shippingcode. |
string |
None. |
| PreferredShipDate |
Optional preferred ship date. |
date |
None. |
| GeneratePickList |
Optional toggle to indicate whether the picklist should be generated on creation of the shipment.<br /><br />If you set this to false, you can still generate the PickList by calling the GeneratePickList API method.<br /><br />If not specified (null), Generate PickList setting from Warehouse is used. |
boolean |
None. |
| GeneratePackingSlip |
Optional toggle to indicate whether the packingslip should be generated on creation of the shipment.<br /><br />If you set this to false, you can still generate the PackingSlip by calling the GeneratePackingSlip API method.<br /><br />If not specified (null), Generate packingslip setting from shop settings are used. |
boolean |
None. |
| PackingSlipTemplateId |
Optional provide a specific PackingSlip document template Id. When not specified, the default configured template will be used. |
integer |
None. |
| CarrierAccountId |
Optional id of CarrierAccount that should be used for the shipment.<br /><br />If not specified and CarrierAccountId is set for Order, CarrierAccountId from Order is used, otherwise CarrierAccountId remains blank.<br /><br />CarrierAccountId can also implicitly set when you add the first parcel. |
integer |
None. |
| CashOnDeliveryPayment |
optional amount to be paid to the postman when the shipment is delivered. |
decimal number |
None. |
| Parameters |
Optional collection of key-value pairs. |
Collection of OrderShipmentParam |
None. |
Request Formats
application/json, text/json
{
"OrderId": 1,
"WarehouseId": 2,
"OrderRows": [
1,
2
],
"ShippingCode": "sample string 3",
"PreferredShipDate": "2026-01-11T16:13:31.4895317+01:00",
"GeneratePickList": true,
"GeneratePackingSlip": true,
"PackingSlipTemplateId": 1,
"CarrierAccountId": 1,
"CashOnDeliveryPayment": 1.0,
"Parameters": [
{
"Key": "sample string 1",
"Value": "sample string 2"
},
{
"Key": "sample string 1",
"Value": "sample string 2"
}
]
}
application/xml, text/xml
<AddShipmentInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OrderId>1</OrderId>
<WarehouseId>2</WarehouseId>
<OrderRows>
<OrderRowId>1</OrderRowId>
<OrderRowId>2</OrderRowId>
</OrderRows>
<ShippingCode>sample string 3</ShippingCode>
<PreferredShipDate>2026-01-11T16:13:31.4895317+01:00</PreferredShipDate>
<GeneratePickList>true</GeneratePickList>
<GeneratePackingSlip>true</GeneratePackingSlip>
<PackingSlipTemplateId>1</PackingSlipTemplateId>
<CarrierAccountId>1</CarrierAccountId>
<CashOnDeliveryPayment>1</CashOnDeliveryPayment>
<Parameters>
<Parameter>
<Key>sample string 1</Key>
<Value>sample string 2</Value>
</Parameter>
<Parameter>
<Key>sample string 1</Key>
<Value>sample string 2</Value>
</Parameter>
</Parameters>
</AddShipmentInfo>
Response Information
Resource Description
Result. HttpStatus OK if shipment was created succesfully
Shipment| Name | Description | Type | Additional information |
|---|---|---|---|
| PreferredShipDate |
The preferred date to ship the Shipment. |
date |
None. |
| OrderRows |
Gets or sets the order rows included in this Shipment. |
Collection of integer |
None. |
| Params |
Gets or sets the parameters. |
Collection of ShipmentParameter |
None. |
| Packages |
Gets or sets the parameters. |
Collection of ShipmentPackage |
None. |
| Id |
Gets or sets the identifier. |
integer |
Must be 0 (for insert operations) |
| ShippingCode |
Gets or sets the unique code for the shipment. |
string |
Max length: 200 |
| CreateTimestamp |
Gets or sets the create timestamp. |
date |
Required |
| ChangeTimestamp |
The time data was changed. |
date |
None. |
| ShopId |
Gets or sets the Shop identifier. |
integer |
None. |
| OrderId |
Gets or sets the Order identifier. |
integer |
Required |
| OrderCode |
Gets or sets the corresponding Order code. |
string |
None. |
| WarehouseId |
Gets or sets the Warehouse identifier. |
integer |
None. |
| ParcelId |
The Id of the created parcel. |
integer |
None. |
| PickedTimestamp |
The time picked. |
date |
None. |
| PackedTimestamp |
The time packed. |
date |
None. |
| ShippedTimestamp |
The time shipped. |
date |
None. |
| HandOverTimestamp |
The time the Shipment was communicated to 3rd party fulfilment. |
date |
None. |
| ShipmentType |
The type of Shipment. |
ShipmentTypeEnum |
None. |
Response Formats
application/json, text/json
{
"PreferredShipDate": "2026-01-11T16:13:31.5051607+01:00",
"OrderRows": [
1,
2
],
"Params": [
{
"Key": "sample string 1",
"Value": "sample string 2",
"DataType": 0,
"DataTypeName": "String"
},
{
"Key": "sample string 1",
"Value": "sample string 2",
"DataType": 0,
"DataTypeName": "String"
}
],
"Packages": [
{
"Weight": 1,
"Length": 2,
"Width": 3,
"Height": 4
},
{
"Weight": 1,
"Length": 2,
"Width": 3,
"Height": 4
}
],
"Id": 1,
"ShippingCode": "sample string 2",
"CreateTimestamp": "2026-01-11T16:13:31.5051607+01:00",
"ChangeTimestamp": "2026-01-11T16:13:31.5051607+01:00",
"ShopId": 4,
"OrderId": 5,
"OrderCode": "sample string 6",
"WarehouseId": 1,
"ParcelId": 1,
"PickedTimestamp": "2026-01-11T16:13:31.5051607+01:00",
"PackedTimestamp": "2026-01-11T16:13:31.5051607+01:00",
"ShippedTimestamp": "2026-01-11T16:13:31.5051607+01:00",
"HandOverTimestamp": "2026-01-11T16:13:31.5051607+01:00",
"ShipmentType": 1
}
application/xml, text/xml
<Shipment xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>1</Id>
<ShippingCode>sample string 2</ShippingCode>
<CreateTimestamp>2026-01-11T16:13:31.5051607+01:00</CreateTimestamp>
<ChangeTimestamp>2026-01-11T16:13:31.5051607+01:00</ChangeTimestamp>
<ShopId>4</ShopId>
<OrderId>5</OrderId>
<OrderCode>sample string 6</OrderCode>
<WarehouseId>1</WarehouseId>
<ParcelId>1</ParcelId>
<PickedTimestamp>2026-01-11T16:13:31.5051607+01:00</PickedTimestamp>
<PackedTimestamp>2026-01-11T16:13:31.5051607+01:00</PackedTimestamp>
<ShippedTimestamp>2026-01-11T16:13:31.5051607+01:00</ShippedTimestamp>
<HandOverTimestamp>2026-01-11T16:13:31.5051607+01:00</HandOverTimestamp>
<ShipmentType>OwnShipping</ShipmentType>
<PreferredShipDate>2026-01-11T16:13:31.5051607+01:00</PreferredShipDate>
<OrderRows>
<OrderRows>1</OrderRows>
<OrderRows>2</OrderRows>
</OrderRows>
<Params>
<Params>
<Key>sample string 1</Key>
<Value>sample string 2</Value>
<DataType>String</DataType>
</Params>
<Params>
<Key>sample string 1</Key>
<Value>sample string 2</Value>
<DataType>String</DataType>
</Params>
</Params>
<Packages>
<Packages>
<Weight>1</Weight>
<Length>2</Length>
<Width>3</Width>
<Height>4</Height>
</Packages>
<Packages>
<Weight>1</Weight>
<Length>2</Length>
<Width>3</Width>
<Height>4</Height>
</Packages>
</Packages>
</Shipment>