Create an order

Creates an order to ship a parcel to the given delivery address.

You can send parcels domestically inside Australia, Canada, and the United States. International parcels can be shipped from Australia and the United States to countries around the globe, or from Canada to the United States. With our API you can tell us the parcel size, origin, and destination, and we'll do the work to find the best route and price for your order.


Since this is a POST request, the params need to be sent in the body of your request as a JSON object. Fill out some fields below and see how the data is sent in the request example box.

If you need more information on GET vs POST requests, the Mozilla MDN has a nice summary.


We decide which currency to charge based on where the parcel is being sent from, so AUD for Australian, CAD for Canadian, and USD for U.S. parcels. This is the currency you'll be charged in.

You'll need a card for the currency you're creating orders in, so an AUD credit card, CAD credit card, or a USD credit card. If you don't have the correct currency enabled for your card then you'll receive an error in the response.


Here are a few things to keep in mind while using this endpoint:

  • A valid postcode and suburb name must be given. The suburb name is validated against the postcode, and they must match.
  • Make sure you send the Content-Type: application/json header, since you're sending the JSON body.
  • Look at the Parcel Weights and Dimensions page for advice on parcel sizes.
  • Look at the First Mile page to see how parcels enter our mail network.
  • All strings (names, addresses, …) must include only Latin characters. That's A-Z along with certain accented characters like á, é, í, ó, and ú. Characters may show without accents on the physical label, but this will not affect deliverability.
  • If the product_code parameter is not given, the product object may not be included in the response.

And when sending international orders:

  • Canadian international orders can only be sent to the United States.
  • Australian and Canadian international orders can only be picked up.
  • When sending from Australia, identification matching the sender name on the label must be provided for the first three pickups of international parcels. This means the first three times international parcels get picked up, and not the first three international parcels sent.
  • The sender name can't be a URL (or URL-like, e.g. Example.com) because of shipping restrictions.
  • HS codes (in parcel_contents) are required when sending internationally. Senders can lookup 6-digit codes here.

You can prevent duplicate orders by including an idempotency key when sending requests to this endpoint.

While testing idempotency keys, pressing 'Try It!' every time will show you a new response for each request. If the response doesn't change, that means you were sent the same response and your idempotency key is working.

Body Params

JSON body for creating an order

Orders sent domestically inside a single country.

sender
object
receiver
object
string
required
length ≤ 255

Gives the receiver information about the parcel in tracking emails and on their Sendle dashboard. This should be human readable and meaningful (e.g. "Cat Socks Order #143", not just "#143").

This does not show up on the label.

string
length ≤ 255

Extra information that will appear on the label. This can be used for pick and pack purposes, to help with parcel identification, or anything else the sender needs.

string

Which shipping product to use – for example STANDARD-PICKUP, STANDARD-DROPOFF, EXPRESS-PICKUP. When not given, this is set to the default product for your plan and the selected first mile option.

string
enum
deprecated

Whether the parcel will be picked up or dropped off. This parameter is deprecated in favour of using the Get Products endpoint and selecting a matching Product Code.

You should give this if the product code isn't provided. If not specified this will default to pickup.

Allowed:
date

This param is used when your order is being picked up by a driver for the first mile.

If provided this must be at least one non-holiday, business day in the future – for example, 2021-09-24 (YYYY-MM-DD). If this is not given it will be set to the earliest available pickup date. The pickup date is returned in the order payload on subsequent requests.

weight
object
required

The weight of the package.

volume
object
deprecated

The volume of the package.

dimensions
object
required

The order's dimensions.

string
enum

The type of packaging used to send the parcel.

Allowed:
metadata
object

Up to 1MB of JSON key/value pairs stored with this order.

Included when viewing an order and in some bulk reports available from our system.

boolean

Only used on orders sent within or from Australia. Tells us whether to leave the street address of the sender off the label. If not given, the account preferences are respected.

cover
object

Only available for Australian domestic orders.

Headers
string

Key to ensure this API request is unique. For examples, see the Idempotency Keys section.

string

Name of your service, site, or some other informative value.

Including this lets our team identify your requests and ensures that they aren't blocked by our security tools.

Responses

500

Indicates that an unhandled error has occured with the Sendle API. We may have more information on the Sendle Status page. Contact [email protected] if the problem persists.

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json