Endpoints
- POST/ordersCreate an order
- GET/orders/{tracking_number}Retrieve an order
- PUT/orders/{tracking_number}Update an order that has not been labelled
- DELETE/orders/{tracking_number}Cancel an order
The order object
tracking_numberstringRequired- Unique random ID assigned by Shippit to an order. This can be used as a reference for future API calls or support tickets.
parcel_attributesarray of objectsOptional- An array of parcel specifications that were created with the order.
Show child attributesHide child attributes
product_attributesarray of objectsOptional- An array of product items specified in the order.
If product information was not provided, this array is blank.Show child attributesHide child attributes
titlestringOptionalconditional-- Title or description of the product. Mandatory for international orders with specific couriers.packedintegerOptional- The number of products packed; used in partial orders, or otherwise when the number of products in the parcel is less than the total in the order. If not present, set to product
quantity.
If this is present, at least 1 item should have packed greater than0.
For international orders, all items should have packed greater than0. skustringOptionalconditional-- Stock Keeping Unit (SKU) code of the product, for stock keeping purposes. Mandatory on international orders with specific couriers.product_line_idstringOptional- Product line associated with product. Like SKU, this is also for stock keeping purposes, and can be used when SKU would not be enough (e.g. an order containing multiple lines with the same SKU)
origin_country_codestringOptional- Two-letter country code (ISO 3166-1 Alpha-2) for the product's origin country. This is used in customs tracking for International shipments. Defaults to the home country of the Merchant.
dangerous_goodsobjectOptional- The dangerous goods details for the product.
nullfor a product without dangerous goods, or one declared with only the deprecateddangerous_goods_code,dangerous_goods_class, anddangerous_goods_textfields.Show child attributesHide child attributes
dangerous_goods_codestringDeprecated- Use
dangerous_goods.codeinstead. Still returned for existing integrations. dangerous_goods_textstringDeprecated- Use
dangerous_goods.textinstead. Still returned for existing integrations. dangerous_goods_classstringDeprecated- Use
dangerous_goods.classinstead. Still returned for existing integrations. non_standard_manufacturer_pidstringOptional- The manufacturer's own part number for the product, up to 70 characters. EU customs calls this the Non-Standardised Manufacturer Product Identifier (PID).
nullwhen not set. standard_manufacturer_pidstringOptional- The product's barcode number, such as a Global Trade Item Number (GTIN), European Article Number (EAN), Universal Product Code (UPC), or International Standard Book Number (ISBN), up to 70 characters. EU customs calls this the Standardised Manufacturer PID.
nullwhen not set. eudr_dds_referencestringOptional- The EU Deforestation Regulation (EUDR) Due Diligence Statement reference number, up to 70 characters. Some goods shipped into the EU need one, such as coffee, cocoa, timber, and leather.
nullwhen not set. eudr_document_codestringOptional- The EUDR document code from the EU Integrated Tariff (TARIC), up to 70 characters, for example
C716orY133. This isn't the HS code. Send that intariff_code.nullwhen not set.
returnbooleanOptional- Whether or not the order is a return order. This method of processing returns is no longer recommended. See returns for more information.
invoice_numberanyOptional- Internal link between an order and a Shippit invoice - this is almost always null on order creation.
courier_delivery_instructionsstringOptional- Delivery instructions as sent to the courier. In most cases, this is the same as the
delivery_instructionspassed into the request. Some couriers, however, have a specific format expected when sending delivery instructions through their API. This contains the actual delivery instructions that get sent through the courier API when booked. courier_namestringOptional- Human-readable name of the courier that has been allocated to the order, or
nullif the order hasn't been allocated yet.
If you're creating orders by passing incourier_type, the courier is usually not yet assigned at order creation and you receivenull. Courier allocation is run as a background process depending on the merchant preferences, available couriers, and quotes returned by the couriers, which may take a few seconds to complete after order creation.
If you're passing in a specific courier keyword incourier_allocation, this reflects the courier that is specified.
Note that the Shippit web user can also update the courier in between API calls. The final courier that has been assigned can be determined from the LABEL call. priceanyOptional- The price that is charged for the allocated order.
If you're creating orders by passing incourier_type, the courier is usually not yet assigned at order creation and you receive0. Courier allocation is run as a background process depending on the merchant preferences, available couriers, and quotes returned by the couriers, which may take a few seconds to complete after order creation.
Note that the Shippit web user can also update the courier in between API calls. The final courier and quoted price can be determined from the LABEL call.
If the quoted price is still0during the LABEL call, something likely went wrong with the courier selection and the order may need to be amended. customs_documents_require_printingbooleanOptional- Whether or not customs documents, such as declarations, invoices, etc for the Order that should be printed and included with the shipment. By default this is
truefor International orders. courier_typestringOptional- The courier allocated to the order. See the ORDER CREATE
courier_allocationAPI for available keywords. tracking_historiesarray of objectsOptional- An array of Tracking History statuses that are are shown to the recipient as part of the order's history on the tracking page.
userobjectOptional- Represents the recipient of the order
Show child attributesHide child attributes
emailstringRequired- The customer's email address. Must match regular expression as defined in https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
documentsobjectRequired- Documents attached to the label response
Show child attributesHide child attributes
archive_awbobjectOptional- Archive Airway Bill
Show child attributesHide child attributes
urlstringOptional- URL to a printable PDF document.
This is a pre-signed URL, generated by the Shippit platform to provide access to a secured document. The pre-signed URL remains valid for 7 days. If you need to access this document after expiration, please make another request for a new URL to be issued.
customs_invoiceobjectOptional- Customs invoice. Generated for International orders.
Show child attributesHide child attributes
urlstringOptional- URL to a printable PDF document.
This is a pre-signed URL, generated by the Shippit platform to provide access to a secured document. The pre-signed URL remains valid for 7 days. If you need to access this document after expiration, please make another request for a new URL to be issued.
dangerous_goods_declarationobjectOptional- Dangerous goods declaration - generated for orders that have dangerous goods properties specified.
Show child attributesHide child attributes
urlstringOptional- URL to a printable PDF document.
This is a pre-signed URL, generated by the Shippit platform to provide access to a secured document. The pre-signed URL remains valid for 7 days. If you need to access this document after expiration, please make another request for a new URL to be issued.
packing_slipobjectOptional- Packing slip for the order.
Show child attributesHide child attributes
urlstringOptional- URL to a printable PDF document.
This is a pre-signed URL, generated by the Shippit platform to provide access to a secured document. The pre-signed URL remains valid for 7 days. If you need to access this document after expiration, please make another request for a new URL to be issued.
shipping_labelobjectOptional- Shipping label for the order.
If the merchant account was configured to have the label and packing slip combined into a single document, theshipping_labelprints the label only without the packing slip.
If the merchant account was configured to enable ZPL output, can contain anencoded_labelfield containing ZPL output.Show child attributesHide child attributes
urlstringOptional- URL to a printable PDF document.
This is a pre-signed URL, generated by the Shippit platform to provide access to a secured document. The pre-signed URL remains valid for 7 days. If you need to access this document after expiration, please make another request for a new URL to be issued.
manifest_idintegerOptional- The Shippit ID of the manifest that holds the order. Pass it to the book document endpoint to retrieve the manifest document. Only present after booking.
manifest_numberstringOptional- The manifest number for the booking, and the reference the carrier knows the manifest by. This is the same value the Book API returns as
manifest. Only present after booking.
The landed_cost object
incotermstringOptional- The incoterm to use for the order. For valid values, see International orders in the Developer guide.
export_reasonstringOptional- The reason for exporting these goods. For valid values, see International orders in the Developer guide.
{
"authority_to_leave": "Yes",
"cash_on_delivery_amount": 0.0,
"courier_type": "standard",
"courier_name": "Couriers Please",
"courier_allocation": "CouriersPlease",
"receiver_contact_number": "0400000000",
"receiver_name": "Receiver Name",
"receiver_language_code": "EN",
"retailer_invoice": "Retailer Invoice",
"retailer_reference": "Retailer Reference",
"product_currency": "AUD",
"suppress_communications": false,
"tracking_only": false,
"features": [],
"description": "",
"duties": 0.0,
"tax_amount": 0.0,
"customs_clearance_attributes": {
"tax_id_type": "GBVAT",
"tax_id_country_code": "GB",
"tax_id_number": "GB 334 8373 88",
"incoterm": "DDP",
"export_reason": "Personal Belongings or Personal Use",
"receiver_freight_charge_amount": 10.0,
"recipient_id": "123"
},
"return": false,
"pickup_at": "2025-12-30T08:59:59+11:00",
"pickup_deadline_at": "2025-12-30T08:59:59+11:00",
"dropoff_at": "2025-12-31T08:59:59+11:00",
"dropoff_deadline_at": "2025-12-31T08:59:59+11:00",
"delivery_company": "Delivery Company",
"delivery_address": "1 Test Street",
"delivery_suburb": "Sydney",
"delivery_state": "NSW",
"delivery_postcode": "2000",
"delivery_country_code": "AU",
"delivery_timezone": "Australia/Sydney",
"delivery_instructions": "Leave on door",
"state": "order_placed",
"user_attributes": {
"email": "test@example.com",
"first_name": "Test",
"last_name": "Example",
"mobile": "0400000000"
},
"parcel_attributes": [
{
"qty": 1,
"length": 0.1,
"width": 0.2,
"depth": 0.3,
"weight": 20.0,
"label_number": "PARCELLABEL01"
}
],
"product_attributes": [
{
"price": 12.34,
"tariff_code": "62121000",
"quantity": 1,
"title": "Title",
"sku": "SKU12345",
"dangerous_goods_code": "UN1993",
"dangerous_goods_text": "Flammable liquid, n.o.s.",
"origin_country_code": "AU",
"product_line_id": "PL1",
"location": "Loc1",
"dangerous_goods_class": "3",
"packed": 1,
"dangerous_goods": {
"code": "UN1993",
"class": "3",
"text": "Flammable liquid, n.o.s.",
"packing_group": "II",
"packing_description": "Steel drum",
"amount": 1,
"amount_unit": "L",
"packing_instruction": null,
"authorisation": null
}
}
]
}Create an order
POST/orders
Submits an order to be created on Shippit.
At minimum, an order requires a delivery location, user details, and parcel details. Shippit then generates the order, allocates the courier, and fills in the origin location based on the provided info and merchant configuration on Shippit.
Note that the required fields for an order can vary depending on the type of order, the requested courier, whether it is local or international, and a range of other factors.
There is a maximum of 1000 parcels per quote request.
To perform this operation, you must be authenticated with an authentication token.
Shippit books priority and on demand orders with the carrier inside the request, so the response also carries manifest_id and manifest_number. You book every other service level later, when you call the Book API, so the create response omits both fields.
The request examples cover the shapes merchants send most often:
- Minimum order: the smallest payload Shippit accepts.
- Standard order: a domestic order with parcel dimensions, line items, and your own references.
- Nominated carrier: an order sent to a named carrier with
courier_allocationinstead of a service level. - Parcel per product: product detail carried on
parcel_attributesitself, with no separateproduct_attributesarray, so each parcel is one product line. - Dangerous goods order: a product line declared with the
dangerous_goodsobject, next to one without dangerous goods. - Priority order: a same-day order with a delivery date and window.
- On demand order: a courier booked against pickup and drop off windows.
- International order: a cross-border order with customs, currency, and tariff details.
- Group order: an order joined to an existing group order.
Parameters
Pass the order object under the order field.
parcel_attributesarray of objectsRequired- An array of parcel specifications to be included in the order.
For information about using
parcel_attributesin conjunction withproduct_attributes, see the create an order section of the Developer Guide.Show child attributesHide child attributes
titlestringOptionalconditional-- Title or description of the product. Mandatory for international orders.package_typestringOptional- Set to
palletif the package is a pallet, otherwise leave this field out. You can't mix pallets with other types of parcels within an order. packedintegerOptional- The number of products packed; used in partial orders, or otherwise when the number of products in the parcel is less than the total in the order. If not present, set to product
quantity.
If this is present, at least 1 item should have packed greater than0.
For international orders, all items should have packed greater than0. skustringOptionalconditional-- Stock Keeping Unit (SKU) code of the product, for stock keeping purposes. Mandatory for some carriers.product_line_idstringOptional- Product line associated with product. Like SKU, this is also for stock keeping purposes, and can be used when SKU would not be enough (e.g. an order containing multiple lines with the same SKU)
origin_country_codestringOptional- Two-letter country code (ISO 3166-1 Alpha-2) for the product's origin country. This is used in customs tracking for International shipments. Defaults to the home country of the Merchant.
dangerous_goodsobjectRequired if shipping dangerous goods- The dangerous goods details for the product. Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier. See Shipping dangerous goods.
Send
dangerous_goodson each product line that contains dangerous goods. It replaces the deprecateddangerous_goods_code,dangerous_goods_class, anddangerous_goods_textfields.If you send
dangerous_goods, fill incode,class,text,packing_description,amount, andamount_unit.packing_group,packing_instruction, andauthorisationare optional. OnPOST /orders, when the v3 dangerous goods flag is on for the merchant, leave a required field out and Shippit rejects the order with a422that lists the missing fields.PUT /orders/{tracking_number}stays lenient, so you can send a GET response back. Shippit trims the text values. Shippit rejects values over the character limit.packing_description,amount, andamount_unitdescribe a single unit. For two 1 L steel drums of solvent, sendpacked: 2withSteel drum,1, andL, not the total.Show child attributesHide child attributes
classstringRequired- The dangerous goods class, for example
3for flammable liquids. See Shipping dangerous goods for the classes. textstringRequired- The proper shipping name to print on the declaration, for example
Flammable liquid, n.o.s.. packing_groupstringOptional- The packing group, for example
II. Allowed values areI(high danger),II(medium danger),III(low danger), andN/A. Shippit stores any casing ofN/Aand returns it asN/A. Omitted or blank means no packing group (null) on the written product. packing_descriptionstringRequired- The packaging of one unit, for example
Steel drum. Up to 100 characters. amountnumberRequired- The amount of dangerous goods in one unit, for example
1for a 1 L drum. Must be greater than 0.
pricenumberOptional- Unit price of each product line item. Used in the packing slip and customs declarations.
label_numberstringOptional- Parcel number in the carrier system.
This is used when the order is a track-only order, to match the parcel number in a carrier against the parcel recorded in shippit. tags[string]Optional- A list of labels to attach to the parcel. Tags are stored in lowercase, are limited to 255 characters each, and are capped at 250 tags per parcel. Duplicate and empty values are ignored.
qtynumberOptionalconditional-- The number of products specified by the entry.
There is a maximum of 1000 parcels per quote request.
Should not be present if aproduct_attributeskey is present in the request.
IfAllocate each item in an order to a separate cartonis enabled in Shippit, a separate parcel is generated for each product listed.
product_attributesarray of objectsOptional- an array of product details. If this is present, each item in
parcel_attributesrepresents a separate parcel, while each line inproduct_attributesrepresents a product line item.
There is a maximum of 1000 parcels per request.You can provide product details using
parcel_attributes,product_attributes, or both. For more information, see the create an order section of the Developer Guide.Measurements use the same names and units as
parcel_attributes-- metres and kilograms -- so one payload measures a product the same way whether you send it here or as a parcel. They describe a single unit, not the line: sendquantity: 4alongside the measurements of one item.Each measurement is optional and read on its own. A product measured here overrides your stored catalog field by field, so sending only
weightkeeps the catalog's dimensions. Zero, a negative number and a blank all mean "not measured" rather than "no size".Shippit records the measurements against the order either way. They change how Shippit packs an order only on accounts using product-based package allocation. On other accounts, Shippit stores them and doesn't use them.
Packing rules --
fragile,stackable,compressible,slidable,separate_pack_required, andorientation_lock-- tell the packer how to handle each unit, so you don't need a stored product catalog to get a sensible pack. Like the measurements, each is optional and read on its own: a rule sent here replaces your catalog's for that field, and a rule you leave out comes from the catalog, or its default if the product isn't in it.dangerous_goods_classworks the same way: the packer never puts units of different classes in the same box. It keeps a class it doesn't recognise apart from other goods too, and readsN/Aornoneas no dangerous goods. The booleans taketrueorfalseonly. Any other value, or anorientation_lockthat isn't listed, returns a422response that names the product, and Shippit doesn't create the order. Send the rules inproduct_attributes. Shippit doesn't read them fromparcel_attributes. Shippit uses them only to pack the order, on accounts using product-based package allocation, and doesn't store them against the product.For shipments into the EU, customs needs product identifiers on each line item.
skuserves as the Merchant product identifier (PID), and thestandard_manufacturer_pid,non_standard_manufacturer_pid,eudr_dds_reference, andeudr_document_codefields carry the rest. Each is optional and limited to 70 characters. Shippit trims the values and treats a blank as not provided, and a longer value fails validation like any other invalid product field. Shippit doesn't reject an order that leaves them out.Show child attributesHide child attributes
titlestringOptionalconditional-- Title or description of the product. Mandatory for international orders.packedintegerOptional- The number of products packed; used in partial orders, or otherwise when the number of products in the parcel is less than the total in the order. If not present, set to product
quantity.
If this is present, at least 1 item should have packed greater than0.
For international orders, all items should have packed greater than0. skustringOptionalconditional-- Stock Keeping Unit (SKU) code of the product, for stock keeping purposes. Mandatory for some carriers.product_line_idstringOptional- Product line associated with product. Like SKU, this is also for stock keeping purposes, and can be used when SKU would not be enough (e.g. an order containing multiple lines with the same SKU)
origin_country_codestringOptional- Two-letter country code (ISO 3166-1 Alpha-2) for the product's origin country. This is used in customs tracking for International shipments. Defaults to the home country of the Merchant.
dangerous_goodsobjectRequired if shipping dangerous goods- The dangerous goods details for the product. Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier. See Shipping dangerous goods.
Send
dangerous_goodson each product line that contains dangerous goods. It replaces the deprecateddangerous_goods_code,dangerous_goods_class, anddangerous_goods_textfields.If you send
dangerous_goods, fill incode,class,text,packing_description,amount, andamount_unit.packing_group,packing_instruction, andauthorisationare optional. OnPOST /orders, when the v3 dangerous goods flag is on for the merchant, leave a required field out and Shippit rejects the order with a422that lists the missing fields.PUT /orders/{tracking_number}stays lenient, so you can send a GET response back. Shippit trims the text values. Shippit rejects values over the character limit.packing_description,amount, andamount_unitdescribe a single unit. For two 1 L steel drums of solvent, sendpacked: 2withSteel drum,1, andL, not the total.Show child attributesHide child attributes
classstringRequired- The dangerous goods class, for example
3for flammable liquids. See Shipping dangerous goods for the classes. textstringRequired- The proper shipping name to print on the declaration, for example
Flammable liquid, n.o.s.. packing_groupstringOptional- The packing group, for example
II. Allowed values areI(high danger),II(medium danger),III(low danger), andN/A. Shippit stores any casing ofN/Aand returns it asN/A. Omitted or blank means no packing group (null) on the written product. packing_descriptionstringRequired- The packaging of one unit, for example
Steel drum. Up to 100 characters. amountnumberRequired- The amount of dangerous goods in one unit, for example
1for a 1 L drum. Must be greater than 0.
mid_codestringOptional- Manufacturer identification code (MID) used for customs declarations. This code identifies the manufacturer of the product, and some international shipments need it, particularly to the United States.
non_standard_manufacturer_pidstringOptional- The manufacturer's own part number for the product, up to 70 characters. EU customs calls this the Non-Standardised Manufacturer PID.
standard_manufacturer_pidstringOptional- The product's barcode number (GTIN, EAN, UPC, or ISBN), up to 70 characters. EU customs calls this the Standardised Manufacturer PID.
eudr_dds_referencestringOptional- The EU Deforestation Regulation (EUDR) Due Diligence Statement reference number, up to 70 characters. Some goods shipped into the EU need one, such as coffee, cocoa, timber, and leather.
eudr_document_codestringOptional- The EUDR TARIC document code, up to 70 characters, for example
C716orY133. This isn't the HS code. Send that intariff_code. stackablebooleanOptional- Set to
falseif nothing should ever go on top of this product. Defaults totrue. compressiblebooleanOptional- Soft goods, such as cushions or clothing, packed at 70% of their height. Defaults to
false. slidablebooleanOptional- Void fill: a small, flat item that can slide into leftover space. Defaults to
false. separate_pack_requiredbooleanOptional- Every unit of this product ships in a box of its own. Defaults to
false. orientation_lockstringOptionalthis_side_upkeeps the product upright.flat_onlylays its largest face down. Leave it out if the product can go any way up.pricenumberOptional- Unit price or amount paid at checkout by the recipient for each product line item. Packing slip and customs declarations default to this value. Required for transit protection.
cost_pricenumberOptional- The cost of the product, typically the price before discounts, markups, or customer pricing rules are applied.
authority_to_leavestringOptional- whether or not the order can be left unattended at the delivery address, options are
YesorNo cash_on_delivery_amountnumberOptional- Used by some carriers, such as
NinjaVan, to indicate the amount the carrier collects on delivery for cash on delivery orders. courier_typestringOptional- The service level for the order. For a complete list of service level strings, see the Service levels section in the Developer Guide. If you want to specify the courier in the request, use
courier_allocationinstead.
You must specify eithercourier_allocationorcourier_type. If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level isstandardand can be configured by Shippit on request. courier_allocationstringOptional- You must specify either
courier_allocationorcourier_type.
For a complete list of carrier reference strings, see the Carriers section in the Developer Guide.
If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level isstandard, and can be configured by Shippit on request.
Iftracking_onlyis set totrue, thencourier_allocationis required. receiver_contact_numberstringOptionalconditional-- phone number of the person receiving the order, may be different than the user who purchased the order. Mandatory for international orders, even ifvalidateis set tofalse.receiver_namestringOptional- name of the person receiving the order if different than the user who purchased the order
retailer_invoicestring or numberOptional- Order reference number provided by the merchant. This is what the recipient sees on items like the shipping label, packing slip, customs declaration, or receipt. This attribute accepts numeric values, but it's recommended that you pass this in as a string where possible.
receiver_language_codestringOptional- Two-letter ISO 639-1 language code of the recipient. Used to determine the language of tracking notifications and other communications. Defaults to
EN validatebooleanOptional- when true, run validations against the submitted order and only save the order if the supplied parameters are valid.
Validations run
- destination suburb and postcode checked against a list of known postcodes / suburbs.
- If a valid combination is not found, a suggested address is returned. product_currencystringOptional- Three letter ISO 4217 currency code that applies to the order, which is sent to the carrier and presented on the customs invoice. Defaults to
AUD suppress_communicationsbooleanOptional- if true, all notifications are suppressed for this specific order
tracking_onlybooleanOptional- Whether the order being passed is a track-only order.
A track-only order** is an order where the courier was allocated outside of Shippit, but was loaded into Shippit to take advantage of tracking and notifications. If this is present and set totrue, this order is a track-only order.
If set totrue, thencourier_allocationmust be present. tracking_historiesarray of objectsOptional- An array of Tracking History statuses that are are shown to the recipient as part of the order's history on the tracking page.
user_attributesobjectOptional- Represents the customer details attached to the order.
Show child attributesHide child attributes
emailstringRequired- The customer's email address. Must match regular expression as defined in https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
features[string]Optional- Some carriers provide add-on services or features that you can indicate in the order. For valid values, see Create orders in the Developer guide.
tags[string]Optional- A list of labels to attach to the order, used for filtering and organisation. Tags are stored in lowercase, are limited to 255 characters each, and are capped at 250 tags per order. Duplicate and empty values are ignored. For more information, see the order tags section of the Developer Guide.
customer_shipping_fee_paidstringOptional- Shipping fee paid by the customer.
This is displayed on the commercial invoice for international orders to support accurate duties and tax calculation by customs. This fee is not related to the Shippit quote. When not provided, no shipping fee is displayed on the commercial invoice. descriptionstringOptional- Goods description for the order. May appear in labels for international orders. If not provided, defaults to the
goods typesetting from the international shipping settings of the merchant account. Description is mandatory for international orders whenvalidateis set totrue. dutiesnumberOptional- The duty amount for an order. This is displayed on the commercial invoice for international orders to calculate the invoice total. Duties are not returned by Shippit. When not provided, no duties amount is displayed on the commercial invoice. eg: 12.90
tax_amountnumberOptional- The tax amount for an order. This is displayed on the commercial invoice for international orders to calculate the invoice total. When not provided, no tax amount is displayed separately on the commercial invoice. eg: 2.39
customs_clearance_attributesobjectOptional- Represents customs clearance parameters for international orders.
Show child attributesHide child attributes
tax_id_typestringOptional- The shipper's tax ID type which is passed to a carrier for the purpose of customs clearance. For valid values, see International orders in the Developer guide.
tax_id_country_codestringOptional- The issuing country of the tax ID number in ISO 3166 Alpha-2 format. For valid values, see the IBAN list.
incotermstringOptional- The incoterm to use for the order. For valid values, see International orders in the Developer guide.
export_reasonstringOptional- The reason for exporting these goods. For valid values, see International orders in the Developer guide.
pickup_statestringOptional- Pickup state for the return order
Australian states valid options are:NSW,QLD,ACT,WA,NT,SA,VIC,TAS
* required for return orders returnbooleanOptional- Whether the order being passed is a return order or not. This method of processing returns is no longer recommended. See returns for more information.
pickup_atstringOptional- The start of the pickup window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm pickup_deadline_atstringOptional- The end of the pickup window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm dropoff_atstringOptional- The start of the drop off window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm dropoff_deadline_atstringOptional- The end of the drop off window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm delivery_statestringRequired- Delivery state for the order. Australian States valid options are
NSW,QLD,ACT,WA,NT,SA,VIC,TAS delivery_instructionsstringOptional- Special delivery instructions for the order, limited to 55 characters
Response codes
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Successful order response |
| 400 | Bad Request | Returned when Shippit has a problem with the input parameters. Not all input errors can result in this error. Depending on the request, the error may be parsed as an unknown error or as part of the response body. If returned as text/html, it is blank. |
| 403 | Forbidden | Returned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires. |
| 415 | Unsupported Media Type | Returned when the request doesn't set a Content-Type of application/json. |
| 422 | Unprocessable Entity | Returned when validate is set to true and the order address is not valid or a mandatory order parameter was not provided. Specifies which input fields failed validation and may give a suggested_address form if one is found.Also returned on POST /orders, whatever validate is set to, when the v3 dangerous goods flag is on and a dangerous_goods object is missing required fields. PUT /orders/{tracking_number} doesn't apply this check. |
| 500 | Internal Server Error | Returned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration. |
{
"order": {
"courier_type": "standard",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"parcel_attributes": [
{
"qty": 1,
"weight": 2.1
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith"
}
}
}{
"order": {
"courier_type": "standard",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"delivery_country_code": "AU",
"delivery_instructions": "Leave in the porch",
"authority_to_leave": "Yes",
"receiver_name": "John Smith",
"receiver_contact_number": "0400000000",
"retailer_invoice": "SO-84321",
"retailer_reference": "84321",
"validate": true,
"parcel_attributes": [
{
"qty": 1,
"weight": 2.1,
"length": 0.35,
"width": 0.28,
"depth": 0.12
}
],
"product_attributes": [
{
"quantity": 2,
"title": "Blue Hat",
"sku": "HAT-BLU-01",
"price": 21.90,
"weight": 0.4,
"length": 0.25,
"width": 0.20,
"depth": 0.12
},
{
"quantity": 1,
"title": "Red Scarf",
"sku": "SCF-RED-04",
"price": 34.95,
"weight": 0.15,
"length": 0.20,
"width": 0.15,
"depth": 0.04,
"compressible": true
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"order": {
"courier_allocation": "CouriersPlease",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"delivery_country_code": "AU",
"authority_to_leave": "Yes",
"receiver_name": "John Smith",
"receiver_contact_number": "0400000000",
"retailer_invoice": "SO-84322",
"validate": true,
"parcel_attributes": [
{
"qty": 1,
"weight": 2.1,
"length": 0.35,
"width": 0.28,
"depth": 0.12
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"order": {
"courier_type": "standard",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"delivery_country_code": "AU",
"authority_to_leave": "No",
"receiver_name": "John Smith",
"receiver_contact_number": "0400000000",
"retailer_invoice": "SO-84323",
"parcel_attributes": [
{
"qty": 1,
"weight": 4.2,
"length": 0.40,
"width": 0.30,
"depth": 0.20,
"title": "Blue Hat",
"sku": "HAT-BLU-01",
"product_line_id": "1",
"location": "A12",
"price": 21.90,
"packed": 1
},
{
"qty": 2,
"weight": 1.1,
"length": 0.25,
"width": 0.20,
"depth": 0.10,
"title": "Red Scarf",
"sku": "SCF-RED-04",
"product_line_id": "2",
"location": "B04",
"price": 34.95,
"packed": 2
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"order": {
"courier_type": "standard",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"delivery_country_code": "AU",
"receiver_name": "John Smith",
"receiver_contact_number": "0400000000",
"parcel_attributes": [
{
"qty": 1,
"weight": 3.2,
"length": 0.4,
"width": 0.3,
"depth": 0.2
}
],
"product_attributes": [
{
"sku": "SOLVENT-1L",
"title": "Flammable solvent 1 L",
"quantity": 2,
"packed": 2,
"price": 24.50,
"dangerous_goods": {
"code": "UN1993",
"class": "3",
"text": "Flammable liquid, n.o.s.",
"packing_group": "II",
"packing_description": "Steel drum",
"amount": 1,
"amount_unit": "L"
}
},
{
"sku": "FUNNEL-STD",
"title": "Plastic funnel",
"quantity": 1,
"price": 4.95
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"order": {
"courier_type": "priority",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"delivery_country_code": "AU",
"delivery_date": "2026-12-01",
"delivery_window": "11:30-17:00",
"authority_to_leave": "Yes",
"receiver_name": "John Smith",
"receiver_contact_number": "0400000000",
"retailer_invoice": "SO-84324",
"parcel_attributes": [
{
"weight": 2.1,
"length": 0.35,
"width": 0.28,
"depth": 0.12
}
],
"product_attributes": [
{
"quantity": 1,
"title": "Blue Hat",
"sku": "HAT-BLU-01",
"price": 21.90
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"order": {
"courier_type": "on_demand",
"delivery_address": "24/331 Miller Street",
"delivery_suburb": "Cammeray",
"delivery_state": "NSW",
"delivery_postcode": "2062",
"delivery_country_code": "AU",
"authority_to_leave": "Yes",
"receiver_name": "John Smith",
"receiver_contact_number": "+61400000000",
"retailer_invoice": "SO-84325",
"pickup_at": "2026-12-01T11:00:00+11:00",
"pickup_deadline_at": "2026-12-01T12:00:00+11:00",
"dropoff_at": "2026-12-01T11:05:00+11:00",
"dropoff_deadline_at": "2026-12-01T13:00:00+11:00",
"parcel_attributes": [
{
"weight": 2.59,
"length": 0.34,
"width": 0.25,
"depth": 0.19
}
],
"product_attributes": [
{
"quantity": 1,
"title": "Blue Hat",
"sku": "HAT-BLU-01",
"price": 21.90
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "+61400000000"
}
}
}{
"order": {
"courier_allocation": "DhlExpressInternational",
"delivery_address": "1 Queen Street",
"delivery_suburb": "Auckland Central",
"delivery_state": "Auckland",
"delivery_postcode": "1010",
"delivery_country_code": "NZ",
"authority_to_leave": "No",
"receiver_name": "Jane Cooper",
"receiver_contact_number": "+64211234567",
"retailer_invoice": "SO-84326",
"description": "Womens clothing",
"product_currency": "AUD",
"customer_shipping_fee_paid": "9.95",
"duties": 12.90,
"tax_amount": 5.00,
"customs_clearance_attributes": {
"incoterm": "DDP",
"export_reason": "Commercial Purpose Or Sale",
"tax_id_type": "VAT/GST",
"tax_id_country_code": "NZ",
"tax_id_number": "123456789"
},
"parcel_attributes": [
{
"weight": 1.2,
"length": 0.30,
"width": 0.22,
"depth": 0.10
}
],
"product_attributes": [
{
"quantity": 1,
"packed": 1,
"title": "Linen Shirt",
"sku": "SHT-LIN-02",
"price": 89.00,
"tariff_code": "620630",
"origin_country_code": "AU"
}
],
"user_attributes": {
"email": "jane.cooper@example.com",
"first_name": "Jane",
"last_name": "Cooper",
"mobile": "+64211234567"
}
}
}{
"order": {
"courier_type": "express",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_state": "NSW",
"delivery_postcode": "2009",
"delivery_country_code": "AU",
"authority_to_leave": "Yes",
"receiver_name": "John Smith",
"receiver_contact_number": "0400000000",
"retailer_invoice": "SO-84327",
"group_order": {
"id": "GO2mDx5C10WrE"
},
"parcel_attributes": [
{
"qty": 1,
"weight": 2.1,
"length": 0.35,
"width": 0.28,
"depth": 0.12
}
],
"user_attributes": {
"email": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"response": {
"courier_delivery_instructions": "special instructions",
"courier_job_id": "30734876324",
"courier_name": "eParcel",
"courier_allocation": "Eparcel",
"delivery_address": "1 Union Street",
"delivery_instructions": "test special instructions",
"delivery_postcode": "2009",
"delivery_state": "NSW",
"delivery_suburb": "Pyrmont",
"id": 26599,
"parcel_attributes": [
{
"depth": 0.13,
"length": 0.1,
"qty": 1,
"weight": 16.8,
"width": 0.11
}
],
"product_attributes": [
{
"title": "Industrial Paint Stripper",
"price": 29.13,
"sku": 0.1,
"tariff_code": "000999",
"dangerous_goods_code": "ID8000",
"dangerous_goods_text": "ID8000 Consumer commodities - Dangerous Goods as per attached DGD",
"origin_country_code": "TH",
"quantity": 1,
"dangerous_goods": null
}
],
"price": "0.0",
"processing_state": "created",
"receiver_contact_number": "0400000000",
"receiver_name": "Josh",
"retailer_invoice": "#23201005",
"slug": "ppu38wz2tdonj",
"state": "processing",
"tracking_number": "PPu38Wz2TdoNj",
"user_attributes": {
"email": "test@example.com",
"first_name": "jon",
"last_name": "smith",
"mobile": "0491570006"
}
}
}{
"response": {
"id": 3020594,
"tracking_number": "PPvd8Ba8g9r3B",
"state": "processing",
"processing_state": "created",
"delivery_address": "1 Victoria St",
"delivery_suburb": "Melbourne",
"delivery_postcode": "3000",
"delivery_state": "VIC",
"receiver_name": "John Smith",
"receiver_contact_number": "(123) 456789",
"slug": "ppvd8ba8g9r3b",
"price": "0.0",
"retailer_invoice": "#ABC123456",
"user_attributes": {
"email": "customer@email.com",
"first_name": "John Smith",
"mobile": "(123) 456789"
},
"parcel_attributes": [
{
"qty": 1,
"length": 0.325,
"width": 0.205,
"depth": 0.03,
"weight": 0.5
}
],
"product_attributes": [
{
"price": 50,
"quantity": 1,
"title": "Product Title",
"sku": "9354484070976",
"origin_country_code": "AU"
}
],
"return": true,
"pickup_address": "1 Union Street",
"pickup_suburb": "Pyrmont",
"pickup_postcode": "2009",
"pickup_state": "NSW"
}
}{
"response": {
"courier_delivery_instructions": "special instructions",
"courier_job_id": "30734876324",
"courier_name": "eParcel",
"courier_allocation": "Eparcel",
"delivery_address": "1 Union Street",
"delivery_instructions": "test special instructions",
"delivery_postcode": "2009",
"delivery_state": "NSW",
"delivery_suburb": "Pyrmont",
"id": 26599,
"parcel_attributes": [
{
"depth": 0.13,
"length": 0.1,
"qty": 1,
"weight": 16.8,
"width": 0.11
}
],
"product_attributes": [
{
"title": "Flammable solvent 1 L",
"price": 24.50,
"sku": "SOLVENT-1L",
"quantity": 2,
"packed": 2,
"origin_country_code": "AU",
"dangerous_goods_code": "UN1993",
"dangerous_goods_text": "Flammable liquid, n.o.s.",
"dangerous_goods": {
"code": "UN1993",
"class": "3",
"text": "Flammable liquid, n.o.s.",
"packing_group": "II",
"packing_description": "Steel drum",
"amount": 1,
"amount_unit": "L",
"packing_instruction": null,
"authorisation": null
}
},
{
"title": "Plastic funnel",
"price": 4.95,
"sku": "FUNNEL-STD",
"quantity": 1,
"origin_country_code": "AU",
"dangerous_goods_code": null,
"dangerous_goods_text": null,
"dangerous_goods": null
}
],
"price": "0.0",
"processing_state": "created",
"receiver_contact_number": "0400000000",
"receiver_name": "Josh",
"retailer_invoice": "#23201005",
"slug": "ppu38wz2tdonj",
"state": "processing",
"tracking_number": "PPu38Wz2TdoNj",
"user_attributes": {
"email": "test@example.com",
"first_name": "jon",
"last_name": "smith",
"mobile": "0491570006"
},
"wallet_order_tracking_attributes": {
"order_type_identifier": "apple.order.type.identifier",
"order_identifier": "ppu38wz2tdonj",
"web_service_url": "https://api.shippit.com/appleserviceurl",
"authentication_token": "ABCDEFG123456789"
}
}
}{
"response": {
"id": 3020712,
"tracking_number": "PPq4Zx7LmN2Vd",
"state": "ready_for_pickup",
"processing_state": "processed",
"courier_name": "DoorDash",
"courier_allocation": "DoorDashOndemand",
"courier_job_id": "D-8831204",
"delivery_address": "1 Victoria St",
"delivery_suburb": "Melbourne",
"delivery_postcode": "3000",
"delivery_state": "VIC",
"manifest_id": 934006,
"manifest_number": "SHP934006_1771375849",
"parcel_attributes": [
{
"qty": 1,
"length": 0.325,
"width": 0.205,
"depth": 0.03,
"weight": 0.5
}
],
"price": "12.5",
"receiver_contact_number": "0400000000",
"receiver_name": "John Smith",
"retailer_invoice": "#ABC123456",
"slug": "ppq4zx7lmn2vd",
"user_attributes": {
"email": "customer@email.com",
"first_name": "John",
"last_name": "Smith",
"mobile": "0400000000"
}
}
}{
"error": "bad_request",
"error_description": "The data given to this server does not meet our criteria."
}{
"error": "invalid_merchant_account",
"error_description": "An unknown error has occurred."
}{
"error": "invalid",
"error_description": "The details provided are invalid",
"delivery_postcode": [
"is invalid for Australia and should follow the pattern 9999"
],
"delivery_suburb": [
"Invalid suburb name for the postcode 20261"
],
"suggested_address": {
"suburb": "bondi beach",
"postcode": "2026",
"state": "NSW",
"country_code": "au"
}
}{
"error": "invalid",
"error_description": "dangerous_goods is missing packing_description, amount_unit"
}{
"error": "system",
"error_description": "An unknown error has occurred."
}Retrieve an order
GET/orders/{tracking_number}
Retrieves the details of an order from Shippit.
If the order doesn't exist, you receive a 404 error.
To perform this operation, you must be authenticated with an authentication token.
A successful request returns the full order object.
Once the order is booked with the carrier, the response also carries manifest_id and manifest_number. Pass manifest_id to the book document endpoint to fetch the manifest document for that order, without keeping the response from the original book call.
Parameters
Response codes
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns details of the order |
| 403 | Forbidden | Returned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires. |
| 404 | Not Found | Returned when the given ID isn't found. |
| 500 | Internal Server Error | Returned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration. |
{
"authority_to_leave": "Yes",
"cash_on_delivery_amount": 0.0,
"courier_type": "standard",
"courier_name": "Couriers Please",
"courier_allocation": "CouriersPlease",
"receiver_contact_number": "0400000000",
"receiver_name": "Receiver Name",
"receiver_language_code": "EN",
"retailer_invoice": "Retailer Invoice",
"retailer_reference": "Retailer Reference",
"product_currency": "AUD",
"suppress_communications": false,
"tracking_only": false,
"features": [],
"description": "",
"duties": 0.0,
"tax_amount": 0.0,
"customs_clearance_attributes": {
"tax_id_type": "GBVAT",
"tax_id_country_code": "GB",
"tax_id_number": "GB 334 8373 88",
"incoterm": "DDP",
"export_reason": "Personal Belongings or Personal Use",
"receiver_freight_charge_amount": 10.0,
"recipient_id": "123"
},
"return": false,
"pickup_at": "2025-12-30T08:59:59+11:00",
"pickup_deadline_at": "2025-12-30T08:59:59+11:00",
"dropoff_at": "2025-12-31T08:59:59+11:00",
"dropoff_deadline_at": "2025-12-31T08:59:59+11:00",
"delivery_company": "Delivery Company",
"delivery_address": "1 Test Street",
"delivery_suburb": "Sydney",
"delivery_state": "NSW",
"delivery_postcode": "2000",
"delivery_country_code": "AU",
"delivery_timezone": "Australia/Sydney",
"delivery_instructions": "Leave on door",
"state": "order_placed",
"user_attributes": {
"email": "test@example.com",
"first_name": "Test",
"last_name": "Example",
"mobile": "0400000000"
},
"parcel_attributes": [
{
"qty": 1,
"length": 0.1,
"width": 0.2,
"depth": 0.3,
"weight": 20.0,
"label_number": "PARCELLABEL01"
}
],
"product_attributes": [
{
"price": 12.34,
"tariff_code": "62121000",
"quantity": 1,
"title": "Title",
"sku": "SKU12345",
"dangerous_goods_code": "UN1993",
"dangerous_goods_text": "Flammable liquid, n.o.s.",
"origin_country_code": "AU",
"product_line_id": "PL1",
"location": "Loc1",
"dangerous_goods_class": "3",
"packed": 1,
"dangerous_goods": {
"code": "UN1993",
"class": "3",
"text": "Flammable liquid, n.o.s.",
"packing_group": "II",
"packing_description": "Steel drum",
"amount": 1,
"amount_unit": "L",
"packing_instruction": null,
"authorisation": null
}
}
]
}{
"error": "invalid_merchant_account",
"error_description": "An unknown error has occurred."
}{
"error": "not_found",
"error_description": "The requested resource could not be found."
}Update an order
PUT/orders/{tracking_number}
Updates an order in Shippit.
To use this endpoint, you need to retrieve the order details GET endpoint, pass the details to this endpoint in a JSON wrapper, and edit any fields that you want to change.
There are a number of types of orders that are currently unable to be updated, including priority and on-demand orders, return orders, track-only orders, and those which are cancelled or labelled.
For more information, see the Order modification section in the Developer Guide.
If the order doesn't exist, you receive a 404 error instead.
To perform this operation, you must be authenticated with an authentication token.
Parameters
Pass the order object under the order field.
authority_to_leavestringRequired- whether or not the order can be left unattended at the delivery address, options are
YesorNo cash_on_delivery_amountnumbertrue (nullable)- Used by some carriers, such as
NinjaVan, to indicate the amount the carrier collects on delivery for cash on delivery orders. courier_typestringRequired- The service level for the order. For a complete list of service level strings, see the Service levels section in the Developer Guide. If you want to specify the courier in the request, use
courier_allocationinstead.
You must specify eithercourier_allocationorcourier_type. If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level isstandardand can be configured by Shippit on request. courier_allocationstringtrue (nullable)- You must specify either
courier_allocationorcourier_type.
For a complete list of carrier reference strings, see the Carriers section in the Developer Guide.
If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level isstandard, and can be configured by Shippit on request.
Iftracking_onlyis set totrue, thencourier_allocationis required. receiver_contact_numberstringtrue (nullable)- phone number of the person receiving the order, may be different than the user who purchased the order. Mandatory for international orders.
receiver_namestringRequired- name of the person receiving the order if different than the user who purchased the order
receiver_language_codestringtrue (nullable)- Two-letter ISO 639-1 language code of the recipient. Used to determine the language of tracking notifications and other communications. Defaults to
EN retailer_invoicestring or numbertrue (nullable)- Merchant invoice number - the customer-facing sales order reference of the order. This is what the recipient sees on the shipping label, packing slip, customs declaration, receipt, etc. This attribute accepts numeric values, but it's recommended that you pass this in as a string where possible.
retailer_referencestringtrue (nullable)- Merchant reference id - if the merchant uses a separate internal reference id for the order, it can be placed here.
product_currencystringtrue (nullable)- Three letter ISO 4217 currency code that applies to the order, which is sent to the carrier and presented on the customs invoice. Defaults to
AUD suppress_communicationsbooleantrue (nullable)- if true, all notifications are suppressed for this specific order
features[string]true (can be empty array)- Some carriers provide add-on services or features that you can indicate in the order. These services are identified by a unique string, and are dependent on the carrier. To request these services, add the appropriate string in this field. For example,
white_glove, oridentity_on_delivery. descriptionstringtrue (nullable)- Goods description for the order. May appear in labels for international orders. If not provided, defaults to the
goods typesetting from the international shipping settings of the merchant account. Description is mandatory for international orders whenvalidateis set totrue. dutiesnumbertrue (nullable)- The duty amount for an order. This is displayed on the commercial invoice for international orders to calculate the invoice total. Duties are not returned by Shippit. When not provided, no duties amount is displayed on the commercial invoice. eg: 12.90
tax_amountnumbertrue (nullable)- The tax amount for an order. This is displayed on the commercial invoice for international orders to calculate the invoice total. When not provided, no tax amount is displayed separately on the commercial invoice. eg: 2.39
customs_clearance_attributesobjectOptional- Represents customs clearance parameters for international orders.
Show child attributesHide child attributes
tax_id_typestringOptional- The Shippier's tax id type which is passed to a carrier for the purpose of customs clearance. Valid values include:
-EORI
-IOSS
-LVG
-OSR
-VOEC
-VAT/GST
-FTZ
-DAN
-TAN
-DTF
-EIN
-SSN
-DUN
-FED
-STA
-CNP
-GBVAT
-NZ IRD tax_id_country_codestringOptional- The issuing country of the tax id number in in ISO 3166 Alpha-2 format. eg. GB for Great Britain
incotermstringOptional- A universal term of trade that defines the responsibility and obligations with the transport of goods. Most commonly used to indicate the responsible party for payment of duties and taxes. Valid values include:
-DDU
-DDP
-EXW
-FCA
-CPT
-CFR
-CIP
-CIF
-DAF
-DAT
-DAP
-DPU
-DES
-DEQ
-FAS
-FOB export_reasonstringOptional- A term used to indicate the reason for export of dutiable goods. Selected options can affect how your shipment is cleared and how much tax is imposed on your shipment during customs clearance. Example values:
-Permanent
-Temporary
-Return For Repair
-Used Exhibition Goods To Origin
-Intercompany Use
-Commercial Purpose Or Sale
-Personal Belongings or Personal Use
-Sample
-Gift
-Return To Origin
-Warranty Replacement
-Diplomatic Goods
-Defence Material
delivery_statestringRequired- Delivery state for the order. Australian States valid options are
NSW,QLD,ACT,WA,NT,SA,VIC,TAS delivery_instructionsstringtrue (nullable)- Special delivery instructions for the order, limited to 55 characters
user_attributesobjectRequired- Represents the customer details attached to the order.
Show child attributesHide child attributes
emailstringRequired- The customer's email address. Must match regular expression as defined in https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
parcel_attributesarray of objectsRequired- An array of parcel specifications to be included in the order.
There is a maximum of 1000 parcels per request.
Each item can be used to specify the qty, dimensions, and other information about the products being shipped, and the parcel used to ship it. If theAllocate each item in an order to a separate cartonsetting is enabled in the Shippit administration page, then each item is assigned a separate parcel according to the dimensions given. Otherwise, Shippit may combine multiple items into a single parcel.
If theproduct_attributesfield is present, then product information is specified in entries there, separate from the parcel information. In which case each parcel entry represents a single parcel.Show child attributesHide child attributes
package_typestringOptional- Set to
palletif the package is a pallet. Shippit ignores the other values the GET response returns,parcelandsatchel, so you can send the parcel back as-is. You can't mix pallets with other types of parcels within an order, and a satchel must be the only parcel in the order.
product_attributesarray of objectsOptional- an array of product details. If this is present, each item in
parcel_attributesrepresents a separate parcel, while each line inproduct_attributesrepresents a product line item.
There is a maximum of 1000 parcels per request.An update replaces every product on the order, and replaces each product's
dangerous_goodsobject. Shippit clears fields you don't send, includingpacking_group,packing_instruction, andauthorisation.PUT /orders/{tracking_number}stays lenient: it doesn't return the create422for missing required fields, so you can send a GET response back.Show child attributesHide child attributes
titlestringOptionalconditional-- Title or description of the product. Mandatory for international orders with specific couriers.packedintegerOptional- The number of products packed; used in partial orders, or otherwise when the number of products in the parcel is less than the total in the order. If not present, set to product
quantity.
If this is present, at least 1 item should have packed greater than0.
For international orders, all items should have packed greater than0. skustringOptionalconditional-- Stock Keeping Unit (SKU) code of the product, for stock keeping purposes. Mandatory on international orders with specific couriers.product_line_idstringOptional- Product line associated with product. Like SKU, this is also for stock keeping purposes, and can be used when SKU would not be enough (e.g. an order containing multiple lines with the same SKU)
origin_country_codestringOptional- Two-letter country code (ISO 3166-1 Alpha-2) for the product's origin country. This is used in customs tracking for International shipments. Defaults to the home country of the Merchant.
dangerous_goodsobjectRequired if shipping dangerous goods- The dangerous goods details for the product. Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier. See Shipping dangerous goods.
Send
dangerous_goodson each product line that contains dangerous goods. It replaces the deprecateddangerous_goods_code,dangerous_goods_class, anddangerous_goods_textfields.If you send
dangerous_goods, fill incode,class,text,packing_description,amount, andamount_unit.packing_group,packing_instruction, andauthorisationare optional. OnPOST /orders, when the v3 dangerous goods flag is on for the merchant, leave a required field out and Shippit rejects the order with a422that lists the missing fields.PUT /orders/{tracking_number}stays lenient, so you can send a GET response back. Shippit trims the text values. Shippit rejects values over the character limit.packing_description,amount, andamount_unitdescribe a single unit. For two 1 L steel drums of solvent, sendpacked: 2withSteel drum,1, andL, not the total.Show child attributesHide child attributes
classstringRequired- The dangerous goods class, for example
3for flammable liquids. See Shipping dangerous goods for the classes. textstringRequired- The proper shipping name to print on the declaration, for example
Flammable liquid, n.o.s.. packing_groupstringOptional- The packing group, for example
II. Allowed values areI(high danger),II(medium danger),III(low danger), andN/A. Shippit stores any casing ofN/Aand returns it asN/A. Omitted or blank means no packing group (null) on the written product. packing_descriptionstringRequired- The packaging of one unit, for example
Steel drum. Up to 100 characters. amountnumberRequired- The amount of dangerous goods in one unit, for example
1for a 1 L drum. Must be greater than 0.
mid_codestringOptional- Manufacturer identification code (MID) used for customs declarations. This code identifies the manufacturer of the product, and some international shipments need it, particularly to the United States.
non_standard_manufacturer_pidstringOptional- The manufacturer's own part number for the product, up to 70 characters. EU customs calls this the Non-Standardised Manufacturer PID.
standard_manufacturer_pidstringOptional- The product's barcode number (GTIN, EAN, UPC, or ISBN), up to 70 characters. EU customs calls this the Standardised Manufacturer PID.
eudr_dds_referencestringOptional- The EU Deforestation Regulation (EUDR) Due Diligence Statement reference number, up to 70 characters. Some goods shipped into the EU need one, such as coffee, cocoa, timber, and leather.
The updated order object
authority_to_leavestringRequired- whether or not the order can be left unattended at the delivery address, options are
YesorNo cash_on_delivery_amountnumberOptional- Used by some carriers, such as
NinjaVan, to indicate the amount the carrier collects on delivery for cash on delivery orders. courier_typestringOptional- The service level for the order. For a complete list of service level strings, see the Service levels section in the Developer Guide. If you want to specify the courier in the request, use
courier_allocationinstead.
You must specify eithercourier_allocationorcourier_type. If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level isstandardand can be configured by Shippit on request. courier_allocationstringOptional- You must specify either
courier_allocationorcourier_type.
For a complete list of carrier reference strings, see the Carriers section in the Developer Guide.
If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level isstandard, and can be configured by Shippit on request.
Iftracking_onlyis set totrue, thencourier_allocationis required. receiver_contact_numberstringOptionalconditional-- phone number of the person receiving the order, may be different than the user who purchased the order. Mandatory for international orders.receiver_namestringOptional- name of the person receiving the order if different than the user who purchased the order
receiver_language_codestringOptional- Two-letter ISO 639-1 language code of the recipient. Used to determine the language of tracking notifications and other communications. Defaults to
EN retailer_invoicestring or numberOptional- Merchant invoice number - the customer-facing sales order reference of the order. This is what the recipient sees on the shipping label, packing slip, customs declaration, receipt, etc. This attribute accepts numeric values, but it's recommended that you pass this in as a string where possible.
retailer_referencestringOptional- Merchant reference id - if the merchant uses a separate internal reference id for the order, it can be placed here.
product_currencystringOptional- Three letter ISO 4217 currency code that applies to the order, which is sent to the carrier and presented on the customs invoice. Defaults to
AUD tracking_onlybooleanOptional- Whether the order being passed is a track-only order.
A track-only order** is an order where the courier was allocated outside of Shippit, but was loaded into Shippit to take advantage of tracking and notifications. If this is present and set totrue, this order is a track-only order.
If set totrue, thencourier_allocations must be present. suppress_communicationsbooleanOptional- if true, all notifications are suppressed for this specific order
features[string]Optional- Some carriers provide add-on services or features that you can indicate in the order. These services are identified by a unique string, and are dependent on the carrier. To request these services, add the appropriate string in this field. For example,
white_glove, oridentity_on_delivery. descriptionstringOptional- Goods description for the order. May appear in labels for international orders. If not provided, defaults to the
goods typesetting from the international shipping settings of the merchant account. Description is mandatory for international orders whenvalidateis set totrue. dutiesnumberOptional- The duty amount for an order. This is displayed on the commercial invoice for international orders to calculate the invoice total. Duties are not returned by Shippit. When not provided, no duties amount is displayed on the commercial invoice. eg: 12.90
tax_amountnumberOptional- The tax amount for an order. This is displayed on the commercial invoice for international orders to calculate the invoice total. When not provided, no tax amount is displayed separately on the commercial invoice. eg: 2.39
customs_clearance_attributesobjectOptional- Represents customs clearance parameters for international orders.
Show child attributesHide child attributes
tax_id_typestringOptional- The Shippier's tax id type which is passed to a carrier for the purpose of customs clearance. Valid values include:
-EORI
-IOSS
-LVG
-OSR
-VOEC
-VAT/GST
-FTZ
-DAN
-TAN
-DTF
-EIN
-SSN
-DUN
-FED
-STA
-CNP
-GBVAT
-NZ IRD tax_id_country_codestringOptional- The issuing country of the tax id number in in ISO 3166 Alpha-2 format. eg. GB for Great Britain
incotermstringOptional- A universal term of trade that defines the responsibility and obligations with the transport of goods. Most commonly used to indicate the responsible party for payment of duties and taxes. Valid values include:
-DDU
-DDP
-EXW
-FCA
-CPT
-CFR
-CIP
-CIF
-DAF
-DAT
-DAP
-DPU
-DES
-DEQ
-FAS
-FOB export_reasonstringOptional- A term used to indicate the reason for export of dutiable goods. Selected options can affect how your shipment is cleared and how much tax is imposed on your shipment during customs clearance. Example values:
-Permanent
-Temporary
-Return For Repair
-Used Exhibition Goods To Origin
-Intercompany Use
-Commercial Purpose Or Sale
-Personal Belongings or Personal Use
-Sample
-Gift
-Return To Origin
-Warranty Replacement
-Diplomatic Goods
-Defence Material
returnbooleanOptional- Whether the order being passed is a return order or not. This method of processing returns is no longer recommended. See returns for more information.
pickup_atstringOptional- The start of the pickup window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm pickup_deadline_atstringOptional- The end of the pickup window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm dropoff_atstringOptional- The start of the drop off window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm dropoff_deadline_atstringOptional- The end of the drop off window for
OnDemandorders in the formatYYYY-MM-DDTHH:mm:ss+HH:mm delivery_statestringRequired- Delivery state for the order. Australian States valid options are
NSW,QLD,ACT,WA,NT,SA,VIC,TAS delivery_instructionsstringOptional- Special delivery instructions for the order, limited to 55 characters
user_attributesobjectOptional- Represents the customer details attached to the order.
Show child attributesHide child attributes
emailstringRequired- The customer's email address. Must match regular expression as defined in https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
parcel_attributesarray of objectsRequired- An array of parcel specifications to be included in the order.
There is a maximum of 1000 parcels per request.
Each item can be used to specify the qty, dimensions, and other information about the products being shipped, and the parcel used to ship it. If theAllocate each item in an order to a separate cartonsetting is enabled in the Shippit administration page, then each item is assigned a separate parcel according to the dimensions given. Otherwise, Shippit may combine multiple items into a single parcel.
If theproduct_attributesfield is present, then product information is specified in entries there, separate from the parcel information. In which case each parcel entry represents a single parcel.Show child attributesHide child attributes
package_typestringOptional- Set to
palletif the package is a pallet, otherwise leave this field out. You can't mix pallets with other types of parcels within an order. label_numberstringOptional- Parcel number in the carrier system.
This is used when the order is a track-only order, to match the parcel number in a carrier against the parcel recorded in Shippit. qtynumberOptionalconditional-- The number of parcels specified by the entry.
There is a maximum of 1000 parcels per quote request.
Should not be present if aproduct_attributeskey is present in the request.
IfAllocate each item in an order to a separate cartonis enabled in Shippit, a separate parcel is generated for each product listed.
product_attributesarray of objectsOptional- an array of product details. If this is present, each item in
parcel_attributesrepresents a separate parcel, while each line inproduct_attributesrepresents a product line item.
There is a maximum of 1000 parcels per request.Show child attributesHide child attributes
titlestringOptionalconditional-- Title or description of the product. Mandatory for international orders with specific couriers.packedintegerOptional- The number of products packed; used in partial orders, or otherwise when the number of products in the parcel is less than the total in the order. If not present, set to product
quantity.
If this is present, at least 1 item should have packed greater than0.
For international orders, all items should have packed greater than0. skustringOptionalconditional-- Stock Keeping Unit (SKU) code of the product, for stock keeping purposes. Mandatory on international orders with specific couriers.product_line_idstringOptional- Product line associated with product. Like SKU, this is also for stock keeping purposes, and can be used when SKU would not be enough (e.g. an order containing multiple lines with the same SKU)
origin_country_codestringOptional- Two-letter country code (ISO 3166-1 Alpha-2) for the product's origin country. This is used in customs tracking for International shipments. Defaults to the home country of the Merchant.
dangerous_goodsobjectOptional- The dangerous goods details for the product.
nullfor a product without dangerous goods, or one declared with only the deprecateddangerous_goods_code,dangerous_goods_class, anddangerous_goods_textfields.Show child attributesHide child attributes
dangerous_goods_codestringDeprecated- Use
dangerous_goods.codeinstead. Still returned for existing integrations. dangerous_goods_textstringDeprecated- Use
dangerous_goods.textinstead. Still returned for existing integrations. dangerous_goods_classstringDeprecated- Use
dangerous_goods.classinstead. Still returned for existing integrations. mid_codestringOptional- Manufacturer identification code (MID) used for customs declarations. This code identifies the manufacturer of the product, and some international shipments need it, particularly to the United States.
non_standard_manufacturer_pidstringOptional- The manufacturer's own part number for the product, up to 70 characters. EU customs calls this the Non-Standardised Manufacturer PID.
nullwhen not set. standard_manufacturer_pidstringOptional- The product's barcode number (GTIN, EAN, UPC, or ISBN), up to 70 characters. EU customs calls this the Standardised Manufacturer PID.
nullwhen not set. eudr_dds_referencestringOptional- The EU Deforestation Regulation (EUDR) Due Diligence Statement reference number, up to 70 characters. Some goods shipped into the EU need one, such as coffee, cocoa, timber, and leather.
nullwhen not set.
Response codes
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Details of the order |
| 400 | Bad Request | Returned when Shippit has a problem with the input parameters |
| 403 | Forbidden | Returned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires. |
| 404 | Not Found | Returned when the given ID isn't found |
| 422 | Unprocessable Entity | Returned when the order is in a state that means it can't be updated |
| 500 | Internal Server Error | Returned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration. |
{
"order": {
"authority_to_leave": "Yes",
"cash_on_delivery_amount": 0.0,
"courier_type": "standard",
"courier_allocation": "CouriersPlease",
"receiver_contact_number": "0400000000",
"receiver_name": "Receiver Name",
"receiver_language_code": "EN",
"retailer_invoice": "Retailer Invoice",
"retailer_reference": "Retailer Reference",
"product_currency": "AUD",
"suppress_communications": false,
"features": [],
"description": "Description",
"duties": 0.0,
"tax_amount": 0.0,
"customs_clearance_attributes": {
"tax_id_type": "GBVAT",
"tax_id_country_code": "GB",
"tax_id_number": "GB 334 8373 88",
"incoterm": "DDP",
"export_reason": "Personal Belongings or Personal Use",
"receiver_freight_charge_amount": 10.0,
"recipient_id": "123"
},
"return": false,
"delivery_company": "Delivery Company",
"delivery_address": "1 Test Street",
"delivery_suburb": "Sydney",
"delivery_state": "NSW",
"delivery_postcode": "2000",
"delivery_country_code": "AU",
"delivery_timezone": "Australia/Sydney",
"delivery_instructions": "Leave on door",
"user_attributes": {
"email": "test@example.com",
"first_name": "Test",
"last_name": "Example",
"mobile": "0400000000"
},
"parcel_attributes": [
{
"qty": 1,
"length": 0.1,
"width": 0.2,
"depth": 0.3,
"weight": 20.0,
"label_number": "PARCELLABEL01"
}
],
"product_attributes": [
{
"price": 12.34,
"tariff_code": "62121000",
"quantity": 1,
"title": "Title",
"sku": "SKU12345",
"origin_country_code": "AU",
"product_line_id": "PL1",
"location": "Loc1",
"packed": 1,
"dangerous_goods": {
"code": "UN1993",
"class": "3",
"text": "Flammable liquid, n.o.s.",
"packing_group": "II",
"packing_description": "Steel drum",
"amount": 1,
"amount_unit": "L"
}
}
]
}
}{
"authority_to_leave": "Yes",
"cash_on_delivery_amount": 0.0,
"courier_type": "standard",
"courier_name": "Couriers Please",
"courier_allocation": "CouriersPlease",
"receiver_contact_number": "0400000000",
"receiver_name": "Receiver Name",
"receiver_language_code": "EN",
"retailer_invoice": "Retailer Invoice",
"retailer_reference": "Retailer Reference",
"product_currency": "AUD",
"suppress_communications": false,
"tracking_only": false,
"features": [],
"description": "",
"duties": 0.0,
"tax_amount": 0.0,
"customs_clearance_attributes": {
"tax_id_type": "GBVAT",
"tax_id_country_code": "GB",
"tax_id_number": "GB 334 8373 88",
"incoterm": "DDP",
"export_reason": "Personal Belongings or Personal Use",
"receiver_freight_charge_amount": 10.0,
"recipient_id": "123"
},
"return": false,
"pickup_at": "2025-12-30T08:59:59+11:00",
"pickup_deadline_at": "2025-12-30T08:59:59+11:00",
"dropoff_at": "2025-12-31T08:59:59+11:00",
"dropoff_deadline_at": "2025-12-31T08:59:59+11:00",
"delivery_company": "Delivery Company",
"delivery_address": "1 Test Street",
"delivery_suburb": "Sydney",
"delivery_state": "NSW",
"delivery_postcode": "2000",
"delivery_country_code": "AU",
"delivery_timezone": "Australia/Sydney",
"delivery_instructions": "Leave on door",
"state": "processing",
"user_attributes": {
"email": "test@example.com",
"first_name": "Test",
"last_name": "Example",
"mobile": "0400000000"
},
"parcel_attributes": [
{
"qty": 1,
"length": 0.1,
"width": 0.2,
"depth": 0.3,
"weight": 20.0,
"label_number": "PARCELLABEL01"
}
],
"product_attributes": [
{
"price": 12.34,
"tariff_code": "62121000",
"quantity": 1,
"title": "Title",
"sku": "SKU12345",
"dangerous_goods_code": "UN1993",
"dangerous_goods_text": "Flammable liquid, n.o.s.",
"origin_country_code": "AU",
"product_line_id": "PL1",
"location": "Loc1",
"dangerous_goods_class": "3",
"packed": 1,
"dangerous_goods": {
"code": "UN1993",
"class": "3",
"text": "Flammable liquid, n.o.s.",
"packing_group": "II",
"packing_description": "Steel drum",
"amount": 1,
"amount_unit": "L",
"packing_instruction": null,
"authorisation": null
}
}
]
}{
"error": "invalid_merchant_account",
"error_description": "An unknown error has occurred."
}{
"error": "not_found",
"error_description": "The requested resource could not be found."
}{
"details": {
"user_attributes": [
"is missing"
]
},
"error": "order_cannot_be_updated",
"error_description": "The order could not be updated"
}{
"error": "invalid",
"error_description": "Cannot update tracking-only orders"
}Cancel an order
DELETE/orders/{tracking_number}
Cancels an order in Shippit using the tracking number.
The API first checks if the current state of the order allows it to be cancelled, and returns an immediate response. If the order is successfully cancelled, the API answers with the order state updated to cancelled. If the order can't be cancelled, your receive a 422 error instead.
To perform this operation, you must be authenticated with an authentication token.
Parameters
Response codes
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns the Order with state = cancelled |
| 403 | Forbidden | Returned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires. |
| 404 | Not Found | Returned when the given id could not be found. |
| 422 | Unprocessable Entity | Returns an error indicating that the Order could not be cancelled, and stating the reason why. |
| 500 | Internal Server Error | Returned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration. |
{
"response": {
"id": 33,
"tracking_number": "PPuqD0J0uLslM",
"state": "cancelled",
"processing_state": " processing_cancelled",
"delivery_address": "1 Union Street",
"delivery_suburb": "Pyrmont",
"delivery_postcode": "2009",
"receiver_name": "Francois",
"receiver_contact_number": "0404342342",
"courier_name": "eParcel International",
"courier_allocation": "EparcelInternational",
"slug": "ppuqd0j0ulslm",
"price": "0.0",
"retailer_invoice": "SO42637",
"courier_job_id": "ABC0100023",
"user_attributes": {
"email": "test@example.com",
"first_name": "John",
"last_name": "Smith"
},
"parcel_attributes": [
{
"qty": 1,
"length": 0.325,
"width": 0.205,
"depth": 0.03,
"weight": 0.5
}
]
}
}{
"error": "invalid_merchant_account",
"error_description": "An unknown error has occurred."
}{
"error": "not_found",
"error_description": "The requested resource could not be found."
}{
"error": "order_cannot_be_cancelled",
"error_description": "The requested order is currently in a state that cannot be cancelled",
"order_state": "in_transit"
}