ShippitDeveloper Centre

Order API

The Order API submits an order to Shippit. Use it to create orders, retrieve them, update them before they are labelled, and cancel them.

Endpoints

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.
slugstringRequired
tracking_number in lowercase.
parcel_attributesarray of objectsOptional
An array of parcel specifications that were created with the order.
Show child attributesHide child attributes
qtynumberOptional
The number of parcels specified by the entry.
weightnumberOptional
Weight of the parcel in kilograms.
depthnumberOptional
Depth of the parcel in metres
lengthnumberOptional
Length of the parcel in metres
widthnumberOptional
Width of the parcel in metres.
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
The list of tags attached to the parcel. Omitted when the parcel has no tags.
productsarray 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
titlestringOptional
conditional -- 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 than 0.

For international orders, all items should have packed greater than 0.
skustringOptional
conditional -- 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.
locationstringOptional
Location of the product
dangerous_goods_codestringRequired if shipping dangerous goods
The dangerous goods code required when making dangerous goods declarations. Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier. See Shipping dangerous goods.
dangerous_goods_textstringRequired if shipping dangerous goods
Additional information related to the dangerous goods being shipped
dangerous_goods_classstringRequired if shipping dangerous goods
The class of dangerous goods being shipped.
tariff_codestringOptional
Tariff or HS code for international orders declarations
quantityintegerOptional
The number of products
pricenumberOptional
Unit price of each product line item. Used in the packing slip and customs declarations.
tags[string]Optional
The list of tags attached to the product line. Omitted when the product line has no tags.
tags[string]Optional
The list of tags attached to the order. Omitted when the order has no tags.
tracking_urlstringOptional
The URL of the order's customer tracking page.
returnbooleanOptional
Whether or not the order is a return order. This method of processing returns is no longer recommended. See returns for more information.
idintegerOptional
Shippit internal numerical ID
processing_statestringOptional
Internal order status set and progressed by Shippit upon creation.
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_instructions passed 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 null if the order hasn't been allocated yet.

If you're creating orders by passing in courier_type, the courier is usually not yet assigned at order creation and you receive null. 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 in courier_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 in courier_type, the courier is usually not yet assigned at order creation and you receive 0. 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 still 0 during 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 true for International orders.
courier_typestringOptional
The courier allocated to the order. See the ORDER CREATE courier_allocation API for available keywords.
courier_allocationstringOptional
The class-level identifier for the courier allocated to the order.
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.
Show child attributesHide child attributes
statusstringRequired
The status of the order
timestampstringRequired
The date / time when the status change occurred.
statestringOptional
The state of the order as progressed by the merchant.
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
first_namestringRequired
The customer's first name. If last_name is not provided, then it is used as the customer's full name.
last_namestringOptional
The customer's last name
mobilestringOptional
Mobile number of the user who purchased the order. This could be different to the person receiving the order.
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.
page_sizestringOptional
none
file_typestringOptional
File type of the label
encoded_labelstringOptional
If you have ZPL for your account, printable ZPL data for the document.
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.
page_sizestringOptional
none
file_typestringOptional
File type of the label
encoded_labelstringOptional
If you have ZPL for your account, printable ZPL data for the document.
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.
page_sizestringOptional
none
file_typestringOptional
File type of the label
encoded_labelstringOptional
If you have ZPL for your account, printable ZPL data for the document.
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.
page_sizestringOptional
none
file_typestringOptional
File type of the label
encoded_labelstringOptional
If you have ZPL for your account, printable ZPL data for the document.
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, the shipping_label prints the label only without the packing slip.

If the merchant account was configured to enable ZPL output, can contain an encoded_label field 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.
page_sizestringOptional
none
file_typestringOptional
File type of the label
encoded_labelstringOptional
If you have ZPL for your account, printable ZPL data for the document.

The landed_cost object

customs_dutyintegerOptional
The customs duty payable on the order
import_feeintegerOptional
The import fee payable on the order
import_taxintegerOptional
The import tax payable on the order
landed_cost_guaranteedbooleanOptional
Has the landed cost guarantee been enabled for this order
incotermstringOptional
The incoterm to use for the order. For valid values, see International orders in the Developer guide.
receiver_freight_chargedecimal stringOptional
The receiver freight charge payable on the order
export_reasonstringOptional
The reason for exporting these goods. For valid values, see International orders in the Developer guide.
Sample responseJSON
{
    "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": "1",
            "dangerous_goods_text": "Explosives",
            "origin_country_code": "AU",
            "product_line_id": "PL1",
            "location": "Loc1",
            "dangerous_goods_class": "EXP",
            "packed": 1
        }
    ]
}

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.

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_attributes in conjunction with product_attributes, see the create an order section of the Developer Guide.

Show child attributesHide child attributes
titlestringOptional
conditional -- Title or description of the product. Mandatory for international orders.
package_typestringOptional
Set to pallet if 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 than 0.

For international orders, all items should have packed greater than 0.
skustringOptional
conditional -- 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.
locationstringOptional
Location of the product
dangerous_goods_codestringRequired if shipping dangerous goods
The dangerous goods code required when making dangerous goods declarations. Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier. See Shipping dangerous goods.
dangerous_goods_textstringRequired if shipping dangerous goods
Additional information related to the dangerous goods being shipped
dangerous_goods_classstringRequired if shipping dangerous goods
The class of dangerous goods being shipped.
pricenumberOptional
Unit price of each product line item. Used in the packing slip and customs declarations.
weightnumberOptional
Weight of the parcel in kilos.
depthnumberOptional
Depth of the parcel in metres
lengthnumberOptional
Length of the parcel in metres
widthnumberOptional
Width of the parcel in metres.
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.
qtynumberOptional
conditional -- The number of products specified by the entry.

There is a maximum of 1000 parcels per quote request.

Should not be present if a product_attributes key is present in the request.

If Allocate each item in an order to a separate carton is 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_attributes represents a separate parcel, while each line in product_attributes represents 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.

Show child attributesHide child attributes
titlestringOptional
conditional -- 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 than 0.

For international orders, all items should have packed greater than 0.
skustringOptional
conditional -- 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.
locationstringOptional
Location of the product
dangerous_goods_codestringRequired if shipping dangerous goods
The dangerous goods code required when making dangerous goods declarations. Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier. See Shipping dangerous goods.
dangerous_goods_textstringRequired if shipping dangerous goods
Additional information related to the dangerous goods being shipped
dangerous_goods_classstringRequired if shipping dangerous goods
The class of dangerous goods being shipped.
tariff_codestringOptional
Tariff or HS code for international orders declarations
mid_codestringOptional
Manufacturer identification code (MID) used for customs declarations. This code identifies the manufacturer of the product and is required for some international shipments, particularly to the United States.
quantityintegerOptional
The number of products
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.
retail_pricenumberOptional
The listed product price, shown in the catalogue or storefront before checkout, and before duties or taxes are applied.
tags[string]Optional
A list of labels to attach to the product line. Tags are stored in lowercase, are limited to 255 characters each, and are capped at 250 tags per product line. Duplicate and empty values are ignored.
authority_to_leavestringOptional
whether or not the order can be left unattended at the delivery address, options are Yes or No
cash_on_delivery_amountnumberOptional
Used by some carriers, such as NinjaVan, to indicate amount to be received 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_allocation instead.

You must specify either courier_allocation or courier_type. If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level is standard and can be configured by Shippit on request.
courier_allocationstringOptional
You must specify either courier_allocation or courier_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 is standard, and can be configured by Shippit on request.

If tracking_only is set to true, then courier_allocation is required.
receiver_contact_numberstringOptional
conditional -- phone number of the person receiving the order, may be different than the user who purchased the order. Mandatory for international orders, even if validate is set to false.
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.
retailer_referencestringOptional
An additional order reference field
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 to true, this order is a track-only order.

If set to true, then courier_allocation must 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.
Show child attributesHide child attributes
statusstringRequired
The status of the order
timestampstringRequired
The date / time when the status change occurred.
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
first_namestringRequired
The customer's first name. If last_name is not provided, then it is used as the customer's full name.
last_namestringOptional
The customer's last name
mobilestringOptional
Mobile number of the user who purchased the order. This could be different to the person receiving the order.
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 type setting from the international shipping settings of the merchant account. Description is mandatory for international orders when validate is set to true.
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.
tax_id_numberstringOptional
The tax ID number that is declared against this order.
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.
recipient_idstringOptional
A free text field to provide a identification number for a recipient. For example, a citizen identification number or passport number which is required for customs clearance for some international destinations.
receiver_freight_charge_amountnumberOptional
The amount charged to the receiver for freight services. This represents the cost that the receiver is responsible for paying as part of the freight or shipping charges.
pickup_postcodestringOptional
Pickup postcode for the return order

* required for return orders
pickup_addressstringOptional
Pickup address for the return order

* required for return orders
pickup_suburbstringOptional
Pickup suburb for the return order

* required for return orders
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 OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
pickup_deadline_atstringOptional
The end of the pickup window for OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
dropoff_atstringOptional
The start of the drop off window for OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
dropoff_deadline_atstringOptional
The end of the drop off window for OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
delivery_companystringOptional
Company name for the delivery
delivery_addressstringRequired
Delivery address for the order
delivery_suburbstringRequired
Delivery suburb for the order
delivery_statestringRequired
Delivery state for the order. Australian States valid options are NSW, QLD, ACT, WA, NT, SA, VIC, TAS
delivery_postcodestringRequired
Delivery postcode for the order
delivery_country_codestringOptional
Two letter country code
delivery_timezonestringOptional
Time zone for the delivery
delivery_instructionsstringOptional
Special delivery instructions for the order, limited to 55 characters
group_orderobjectOptional
Represents the group order details that the order belongs to.
Show child attributesHide child attributes
idstringRequired
The group order ID. Retrieved from the response when creating the group order.
partner_platformstringOptional
The partner platform that originated the order. Used to identify orders from integrated third-party platforms. Examples: zonos, Global‑e
partner_platform_idstringOptional
The unique identifier for the order within the partner platform system. This allows tracking and referencing the order back to the originating platform. For example, order_ab000abc-123x-456y-789z-xyz987654321 (Zonos), GE98765432109 (Global‑e).

Response codes

StatusMeaningDescription
200OKSuccessful order response
400Bad RequestReturned 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.
403ForbiddenReturned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires.
415Unsupported Media TypeReturned when the request doesn't set a Content-Type of application/json.
422Unprocessable EntityReturned 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.
500Internal Server ErrorReturned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration.
RequestJSON
{
  "order": {
    "courier_type": "standard",
    "delivery_address": "1 Union Street",
    "delivery_postcode": "2009",
    "delivery_state": "NSW",
    "delivery_suburb": "Pyrmont",
    "authority_to_leave": "Yes",
    "parcel_attributes": [
      {
        "qty": 1,
        "weight": 2.1
      }
    ],
    "user_attributes": {
      "email": "test@example.com",
      "first_name": "John",
      "last_name": "Smith"
    },
    "group_order": {
      "id": "GO2mDx5C10WrE"
    }
  }
}
JSON
{
  "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
      }
    ],
    "products": [
      {
        "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
      }
    ],
    "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"
    }
  }
}

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.

Parameters

tracking_numberstringpathRequired
The tracking number of the order.

Response codes

StatusMeaningDescription
200OKReturns details of the order
403ForbiddenReturned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires.
404Not FoundReturned when the given ID isn't found.
500Internal Server ErrorReturned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration.
JSON
{
    "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": "1",
            "dangerous_goods_text": "Explosives",
            "origin_country_code": "AU",
            "product_line_id": "PL1",
            "location": "Loc1",
            "dangerous_goods_class": "EXP",
            "packed": 1
        }
    ]
}

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 Yes or No
cash_on_delivery_amountnumbertrue (nullable)
Used by some carriers, such as NinjaVan, to indicate amount to be received 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_allocation instead.

You must specify either courier_allocation or courier_type. If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level is standard and can be configured by Shippit on request.
courier_allocationstringtrue (nullable)
You must specify either courier_allocation or courier_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 is standard, and can be configured by Shippit on request.

If tracking_only is set to true, then courier_allocation is 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, or identity_on_delivery.
descriptionstringtrue (nullable)
Goods description for the order. May appear in labels for international orders. If not provided, defaults to the goods type setting from the international shipping settings of the merchant account. Description is mandatory for international orders when validate is set to true.
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
tax_id_numberstringOptional
The tax id number that is declared against this order.
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
recipient_idstringOptional
A free text field to provide a identification number for a recipient. For example, a citizen identification number or passport number which is required for customs clearance for some international destinations. eg: PA1992991
receiver_freight_charge_amountnumberOptional
The amount charged to the receiver for freight services. This represents the cost that the receiver is responsible for paying as part of the freight or shipping charges.
delivery_companystringtrue (nullable)
Company name for the delivery
delivery_addressstringRequired
Delivery address for the order
delivery_suburbstringRequired
Delivery suburb for the order
delivery_statestringRequired
Delivery state for the order. Australian States valid options are NSW, QLD, ACT, WA, NT, SA, VIC, TAS
delivery_postcodestringRequired
Delivery postcode for the order
delivery_country_codestringRequired
Two letter country code
delivery_timezonestringtrue (nullable)
Time zone for the delivery
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
first_namestringRequired
The customer's first name. If last_name is not provided, then it is used as the customer's full name.
last_namestringOptional
The customer's last name
mobilestringOptional
Mobile number of the user who purchased the order. This could be different to the person receiving the order.
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 the Allocate each item in an order to a separate carton setting 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 the product_attributes field 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
lengthnumberRequired
Length of the parcel in metres
widthnumberRequired
Width of the parcel in metres
depthnumberRequired
Depth of the parcel in metres
weightnumberRequired
Weight of the parcel in kilos
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.
product_attributesarray of objectsOptional
an array of product details. If this is present, each item in parcel_attributes represents a separate parcel, while each line in product_attributes represents a product line item.

There is a maximum of 1000 parcels per request.
Show child attributesHide child attributes
titlestringOptional
conditional -- 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 than 0.

For international orders, all items should have packed greater than 0.
skustringOptional
conditional -- 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.
locationstringOptional
Location of the product
dangerous_goods_codestringRequired if shipping dangerous goods
This is the DG code required when making dangerous goods declarations.

Before you can declare orders as having dangerous goods, you must first request for dangerous goods to enabled for your account. Contact Shippit Support or your account manager to have this enabled.

DG surcharges are often charged on the weight of the order, so it is recommended to split your order into multiple orders if your order contains either:
- both dangerous and non-dangerous goods, or
- more than one dangerous goods code
dangerous_goods_textstringRequired if shipping dangerous goods
Additional information related to dangerous goods being shipped
dangerous_goods_classstringRequired if shipping dangerous goods
This is the DG class when making dangerous goods declarations.
tariff_codestringOptional
Tariff or HS code for international orders declarations
mid_codestringOptional
Manufacturer identification code (MID) used for customs declarations. This code identifies the manufacturer of the product and is required for some international shipments, particularly to the United States.
quantityintegerOptional
The number of products

The updated order object

authority_to_leavestringRequired
whether or not the order can be left unattended at the delivery address, options are Yes or No
cash_on_delivery_amountnumberOptional
Used by some carriers, such as NinjaVan, to indicate amount to be received 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_allocation instead.

You must specify either courier_allocation or courier_type. If omitted or invalid, an enabled carrier that matches the default service level is allocated instead. The default service level is standard and can be configured by Shippit on request.
courier_allocationstringOptional
You must specify either courier_allocation or courier_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 is standard, and can be configured by Shippit on request.

If tracking_only is set to true, then courier_allocation is required.
receiver_contact_numberstringOptional
conditional -- 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 to true, this order is a track-only order.

If set to true, then courier_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, or identity_on_delivery.
descriptionstringOptional
Goods description for the order. May appear in labels for international orders. If not provided, defaults to the goods type setting from the international shipping settings of the merchant account. Description is mandatory for international orders when validate is set to true.
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
tax_id_numberstringOptional
The tax id number that is declared against this order.
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
recipient_idstringOptional
A free text field to provide a identification number for a recipient. For example, a citizen identification number or passport number which is required for customs clearance for some international destinations. eg: PA1992991
receiver_freight_charge_amountnumberOptional
The amount charged to the receiver for freight services. This represents the cost that the receiver is responsible for paying as part of the freight or shipping charges.
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 OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
pickup_deadline_atstringOptional
The end of the pickup window for OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
dropoff_atstringOptional
The start of the drop off window for OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
dropoff_deadline_atstringOptional
The end of the drop off window for OnDemand orders in the format YYYY-MM-DDTHH:mm:ss+HH:mm
delivery_companystringOptional
Company name for the delivery
delivery_addressstringRequired
Delivery address for the order
delivery_suburbstringRequired
Delivery suburb for the order
delivery_statestringRequired
Delivery state for the order. Australian States valid options are NSW, QLD, ACT, WA, NT, SA, VIC, TAS
delivery_postcodestringRequired
Delivery postcode for the order
delivery_country_codestringOptional
Two letter country code
delivery_timezonestringOptional
Time zone for the delivery
delivery_instructionsstringOptional
Special delivery instructions for the order, limited to 55 characters
statestringOptional
The state of the order
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
first_namestringRequired
The customer's first name. If last_name is not provided, then it is used as the customer's full name.
last_namestringOptional
The customer's last name
mobilestringOptional
Mobile number of the user who purchased the order. This could be different to the person receiving the order.
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 the Allocate each item in an order to a separate carton setting 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 the product_attributes field 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 pallet if the package is a pallet, otherwise leave this field out. You can't mix pallets with other types of parcels within an order.
weightnumberOptional
Weight of the parcel in kilos.
depthnumberOptional
Depth of the parcel in metres
lengthnumberOptional
Length of the parcel in metres
widthnumberOptional
Width of the parcel in metres.
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.
qtynumberOptional
conditional -- The number of parcels specified by the entry.

There is a maximum of 1000 parcels per quote request.

Should not be present if a product_attributes key is present in the request.

If Allocate each item in an order to a separate carton is 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_attributes represents a separate parcel, while each line in product_attributes represents a product line item.

There is a maximum of 1000 parcels per request.
Show child attributesHide child attributes
titlestringOptional
conditional -- 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 than 0.

For international orders, all items should have packed greater than 0.
skustringOptional
conditional -- 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.
locationstringOptional
Location of the product
dangerous_goods_codestringRequired if shipping dangerous goods
This is the DG code required when making dangerous goods declarations.

Before you can declare orders as having dangerous goods, you must first request for dangerous goods to enabled for your account. Contact Shippit Support or your account manager to have this enabled.

DG surcharges are often charged on the weight of the order, so it is recommended to split your order into multiple orders if your order contains either:
- both dangerous and non-dangerous goods, or
- more than one dangerous goods code
dangerous_goods_textstringRequired if shipping dangerous goods
Additional information related to dangerous goods being shipped
dangerous_goods_classstringRequired if shipping dangerous goods
This is the DG class when making dangerous goods declarations.
tariff_codestringOptional
Tariff or HS code for international orders declarations
mid_codestringOptional
Manufacturer identification code (MID) used for customs declarations. This code identifies the manufacturer of the product and is required for some international shipments, particularly to the United States.
quantityintegerOptional
The number of products
pricenumberOptional
Unit price of each product line item. Used in the packing slip and customs declarations. Required for transit protection.

Response codes

StatusMeaningDescription
200OKDetails of the order
400Bad RequestReturned when Shippit has a problem with the input parameters
403ForbiddenReturned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires.
404Not FoundReturned when the given ID isn't found
422Unprocessable EntityReturned when the order is in a state that means it can't be updated
500Internal Server ErrorReturned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration.
RequestJSON
{
    "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",
                "dangerous_goods_code": "1",
                "dangerous_goods_text": "Explosives",
                "origin_country_code": "AU",
                "product_line_id": "PL1",
                "location": "Loc1",
                "dangerous_goods_class": "EXP",
                "packed": 1
            }
        ]
    }
}
JSON
{
    "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": "1",
            "dangerous_goods_text": "Explosives",
            "origin_country_code": "AU",
            "product_line_id": "PL1",
            "location": "Loc1",
            "dangerous_goods_class": "EXP",
            "packed": 1
        }
    ]
}

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

tracking_numberstringpathRequired
The tracking number of the order.

Response codes

StatusMeaningDescription
200OKReturns the Order with state = cancelled
403ForbiddenReturned when the API key doesn't match a valid merchant account, or the API secret is missing the permission this endpoint requires.
404Not FoundReturned when the given id could not be found.
422Unprocessable EntityReturns an error indicating that the Order could not be cancelled, and stating the reason why.
500Internal Server ErrorReturned when an unknown error occurs. May be returned if Shippit has trouble with the combination of the input or merchant account configuration.
JSON
{
  "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
      }
    ]
  }
}