Create a Delivery

View as Markdown

Creates a new delivery in the Rendr platform. Depending on configuration, this can either request a delivery (queued for carrier assignment) or immediately book it with a carrier.


Endpoint

POST {{domain}}/{{tenant_id}}/deliveries

Authentication: Bearer token required via the Authorization header.


Request Payload

POST /{{tenant_id}}/deliveries
1{
2 "store_reference": "002",
3 "reference": "myorder-001",
4 "ready_for_pickup_at": "2026-02-04T11:21:13",
5 "delivery_type": "standard",
6 "book_delivery_now": true,
7 "use_dynamic_RFP": true,
8 "ignore_buffer_time": true,
9 "authority_to_leave": true,
10 "special_instructions": "Deliver to level 3",
11 "pickup_instructions": "Collect from back office",
12 "price_cents_total_value": 12000,
13 "provider_options": {
14 "provider": "Australia Post",
15 "service": "EXPRESS POST + SIGNATURE"
16 },
17 "address": {
18 "address": "7 Howard Street",
19 "address2": "Level 3",
20 "city": "Richmond",
21 "state": "VIC",
22 "post_code": "3121",
23 "country": "AU"
24 },
25 "customer": {
26 "first_name": "Test",
27 "last_name": "Rendr",
28 "email": "greg@rendr.delivery",
29 "phone": "0400000000",
30 "country": "AU"
31 },
32 "line_items": [
33 {
34 "code": "328863",
35 "name": "XXXXX",
36 "price_cents": 5900,
37 "quantity": 1
38 }
39 ],
40 "parcels": [
41 {
42 "reference": "PARCEL_001",
43 "length_cm": 40,
44 "width_cm": 40,
45 "height_cm": 40,
46 "weight_kg": 5,
47 "quantity": 1
48 }
49 ]
50}

Parameters

Top-Level Fields

FieldTypeRequiredDescription
store_idStringYes*The Rendr store ID for the pickup location. Determines the origin point of the delivery.
store_referenceStringYes*Your internal location identifier preconfigured by your Rendr implementation partner. Can be used instead of store_id.
referenceStringYesYour unique identifier for this delivery — typically an order number from your OMS or POS. Must be unique per store.
ready_for_pickup_atString (ISO 8601)YesThe earliest date and time the order will be ready for carrier collection. Include any pick/pack buffer time in this value.
delivery_typeStringNoThe service level for this delivery. Accepted values: fast, flexible, standard, express. Determines the delivery speed and carrier pool considered.
book_delivery_nowBooleanNoWhen true, Rendr immediately attempts to book the delivery with an available carrier rather than queuing it. Use when the order is already packed and ready. Defaults to false.
use_dynamic_RFPBooleanNoEnables dynamic ready-for-pickup time calculation. When true, Rendr adjusts the pickup time based on real-time carrier availability to improve on-time performance.
ignore_buffer_timeBooleanNoWhen true, Rendr bypasses any configured store buffer time when calculating carrier pickup windows. Use with care — intended for scenarios where the order is already prepared ahead of schedule.
authority_to_leaveBooleanNoWhen true, the carrier is permitted to leave the parcel unattended if no one is home. Passed to the carrier and displayed on the tracking page.
special_instructionsStringNoFree-text delivery instructions shown to the driver at the point of delivery — e.g. "Deliver to level 3".
pickup_instructionsStringNoInstructions for the carrier at pickup, shown when they arrive at the store — e.g. "Collect from back office".
price_cents_total_valueNumberNoThe total declared value of the order in cents — e.g. 12000 = $120.00 AUD. Used for insurance classification and high-value handling decisions.

Either store_id or store_reference must be provided. If both are supplied, store_id takes precedence.

Provider Options

The provider_options object allows you to pin the delivery to a specific carrier and service. This is used on BYOC (Bring Your Own Carrier) accounts where you want to override Rendr’s automatic carrier selection with a known carrier from a prior quote.

FieldTypeRequiredDescription
provider_options.providerStringNoThe carrier name to use for this delivery — e.g. Australia Post. Must match a carrier configured on your account.
provider_options.serviceStringNoThe specific carrier service to use — e.g. EXPRESS POST + SIGNATURE. Must match a valid service for the specified provider.

provider_options is typically populated using values returned from the Quote a Delivery endpoint. Supplying an unrecognised provider or service will result in an error.

Address Fields

The address object specifies the delivery destination.

FieldTypeRequiredDescription
address.addressStringYesThe street address of the delivery destination — e.g. 7 Howard Street. Format: [Street Number] [Street Name] [Street Type].
address.address2StringNoA secondary address line for unit, apartment, or level information — e.g. Level 3.
address.cityStringYesThe city, suburb, or town of the delivery address.
address.stateStringYesThe abbreviated state or territory — e.g. VIC, NSW.
address.post_codeStringYesThe postcode of the delivery address.
address.countryStringYesThe two-letter ISO 3166-1 alpha-2 country code — e.g. AU.
address.businessBooleanNoSet to true if the delivery destination is a business address. Some carriers enforce signature requirements for business deliveries regardless of ATL settings.
address.company_nameStringNoThe name of the company at the delivery address. Required when business is true.

Customer Fields

The customer object captures the recipient’s details, used for delivery notifications, tracking page personalisation, and identity verification for regulated goods.

FieldTypeRequiredDescription
customer.first_nameStringYesThe recipient’s first name.
customer.last_nameStringYesThe recipient’s last name.
customer.phoneStringYesThe recipient’s mobile number. Used for SMS delivery notifications and driver contact — e.g. 0400000000.
customer.emailStringYesThe recipient’s email address. Used to send email notifications and tracking links.
customer.countryStringNoThe recipient’s country code in ISO 3166-1 alpha-2 format — e.g. AU.

Line Items

The line_items array describes the individual products in the order. Displayed to store staff during packing, to drivers at pickup, and used for manifest reconciliation.

FieldTypeRequiredDescription
line_items[].codeStringYesThe SKU or product code as it exists in your system.
line_items[].nameStringYesThe human-readable product name. Displayed to store staff, drivers, and the customer.
line_items[].price_centsNumberYesThe unit price of the item in cents — e.g. 5900 = $59.00. Used for insured value and high-value item classification.
line_items[].quantityNumberYesThe number of units of this line item in the delivery.
line_items[].packing_instructionsStringNoItem-level packing instructions for store staff — e.g. "Keep upright", "Fragile — wrap individually".

Parcels

The parcels array defines the physical packages making up the delivery. Dimensions and weights are used for carrier rate selection and label generation.

FieldTypeRequiredDescription
parcels[].referenceStringYesA unique reference for this parcel — e.g. PARCEL_001. Used during packing, scanning, and carrier handoff.
parcels[].descriptionStringNoA short description shown in the Workbench portal to help staff identify the package.
parcels[].typeStringNoThe parcel packaging type. Accepted values: carton, crate, hanging_bag, length, pallet, satchel, skid.
parcels[].length_cmNumberYesThe length of the parcel in centimetres.
parcels[].width_cmNumberYesThe width of the parcel in centimetres.
parcels[].height_cmNumberYesThe height of the parcel in centimetres.
parcels[].weight_kgNumberYesThe weight of the parcel in kilograms.
parcels[].quantityNumberYesThe number of identical parcels at these dimensions. Use quantity: 2 rather than duplicating the object.

Accurate parcel dimensions and weights are required. Carriers use these values to assign the correct service and generate compliant labels. Incorrect measurements may result in surcharges or carrier rejection at pickup.


Sample Response

A successful request returns a 201 Created with the full delivery object.

201 Created
1{
2 "data": {
3 "id": "Qq1TkY0xXbDWscq99BHe",
4 "brand_id": "rendr",
5 "store_reference": "002",
6 "reference": "myorder-001",
7 "status": "booked",
8 "delivery_type": "standard",
9 "consignment_number": "111JD8503767",
10 "special_instructions": "Deliver to level 3",
11 "authority_to_leave": true,
12 "ready_for_pickup_at": "2026-02-04T11:21:13+11:00",
13 "from_datetime": "2026-02-04T11:21:13+11:00",
14 "to_datetime": "2026-02-06T11:21:13+11:00",
15 "created_at": "2026-02-03T01:25:23.030Z",
16 "updated_at": "2026-02-03T01:25:30.195Z",
17 "requested_at": "2026-02-03T01:25:28.562Z",
18 "booked_at": "2026-02-03T01:25:30.195Z",
19 "manifest_status": "pending",
20 "manifest_group": "Express Post",
21 "price_cents_total_value": 12000,
22 "auspost_provider": "Australia Post",
23 "service_code": "EXPRESS POST + SIGNATURE",
24 "carrier_code": "3K55",
25 "label_url": "https://static.uat.rendr.delivery/XXXX",
26 "address": {
27 "address": "7 Howard Street",
28 "address2": "Level 3",
29 "city": "Richmond",
30 "state": "VIC",
31 "post_code": "3121",
32 "country": "AU",
33 "lat": -37.833074,
34 "lng": 144.997631
35 },
36 "store_location": {
37 "name": "Rendr HQ",
38 "lat": -37.832765,
39 "lng": 144.997217
40 },
41 "customer": {
42 "first_name": "Test",
43 "last_name": "Rendr",
44 "phone": "+61400000000",
45 "email": "greg@rendr.delivery",
46 "country": "AU"
47 },
48 "line_items": [
49 {
50 "code": "328863",
51 "name": "XXXXX",
52 "price_cents": 5900,
53 "quantity": 1
54 }
55 ],
56 "parcels": [
57 {
58 "reference": "PARCEL_001",
59 "length_cm": 40,
60 "width_cm": 40,
61 "height_cm": 40,
62 "weight_kg": 5,
63 "quantity": 1,
64 "article_id": "111JD850376701000961501"
65 }
66 ],
67 "additionals": {
68 "is_residential": true
69 },
70 "service_quote": {
71 "price_cents": 900,
72 "from_datetime": "2026-02-04T11:21:13+11:00",
73 "to_datetime": "2026-02-06T11:21:13+11:00"
74 },
75 "product_types": {}
76 }
77}

Response Fields

FieldTypeDescription
data.idStringThe unique ID assigned by Rendr to this delivery.
data.brand_idStringThe brand identifier associated with the delivery.
data.store_referenceStringThe store reference as provided in the request.
data.referenceStringYour order reference as provided in the request.
data.statusStringThe current delivery status. See Status Lifecycle. Common initial values are requested or booked.
data.delivery_typeStringThe service level used for this delivery (fast, flexible, standard, express).
data.consignment_numberStringThe carrier consignment number assigned at booking. Used for carrier-side tracking.
data.special_instructionsStringDelivery instructions for the driver, as provided in the request.
data.authority_to_leaveBooleanWhether the carrier is permitted to leave the parcel unattended.
data.ready_for_pickup_atString (ISO 8601)The earliest time the order can be collected from the store.
data.from_datetimeString (ISO 8601)The start of the estimated delivery window.
data.to_datetimeString (ISO 8601)The end of the estimated delivery window.
data.created_atString (ISO 8601)Timestamp when the delivery record was created in Rendr.
data.updated_atString (ISO 8601)Timestamp of the last update to the delivery record.
data.requested_atString (ISO 8601)Timestamp when the delivery was submitted to the carrier for booking.
data.booked_atString (ISO 8601)Timestamp when the carrier confirmed the booking.
data.manifest_statusStringThe current manifest status for this delivery. Typically pending until the carrier manifest is closed.
data.manifest_groupStringThe carrier manifest group this delivery has been assigned to — e.g. Express Post.
data.price_cents_total_valueNumberThe total declared value of the order in cents, as provided in the request.
data.auspost_providerStringThe carrier name used for this delivery — e.g. Australia Post.
data.service_codeStringThe carrier service used — e.g. EXPRESS POST + SIGNATURE.
data.carrier_codeStringThe internal Rendr carrier service code used for booking.
data.label_urlStringURL to the generated shipping label PDF. Present once a carrier booking is confirmed.
data.addressObjectThe delivery destination address, echoed from the request. Includes geocoded lat and lng coordinates resolved by Rendr.
data.store_locationObjectThe name and coordinates of the pickup store associated with the delivery.
data.customerObjectThe recipient’s details as provided in the request. Note that phone is returned in E.164 format (e.g. +61400000000).
data.line_itemsArrayThe line items as provided in the request.
data.parcelsArrayThe parcels as provided in the request. Each parcel includes an article_id assigned by the carrier for individual package tracking.
data.additionals.is_residentialBooleanIndicates whether Rendr resolved the delivery address as a residential address. Used for carrier routing decisions.
data.service_quoteObjectThe carrier quote applied to this booking, including price_cents, from_datetime, and to_datetime.
data.product_typesObjectThe product type flags for this delivery. Empty ({}) if no regulated goods were declared.