Skip to main content

Create delivery

Places a booking on the Dash Express fleet. Returns a deliveryID in status ALLOCATING. The driver is assigned asynchronously — track progress via webhooks.

POST/express/v1/deliveries

The legacy path POST /v1/deliveries (category chosen via serviceCategory) is deprecated (21 May 2026) and will be obsoleted on 21 November 2026. New integrations must use /express/v1/deliveries.

Request body

providerOrderIDstringrequired
Your AWB / order reference. Echoed in every webhook and the Get Delivery response.
serviceCategorystringoptional
One of EXPRESS, LOGISTIC. Optional — defaults to EXPRESS. This page documents EXPRESS.
serviceTypestringrequired
For EXPRESS: INSTANT or SAME_DAY. Must match a tier returned by the quote.
paymentMethodstringoptional
CASH or CASHLESS. Default CASHLESS.
cashOnDeliveryobjectconditional
Required when paymentMethod = "CASH". Contains amount (IDR).
packages[]arrayrequired
Package rows; same shape as the quote request.
packages[].namestringrequired
Display name.
packages[].quantityintegerrequired
Item count.
packages[].weightdecimalrequired
Weight in kilograms.
packages[].price / width / length / height / descriptionvariousoptional
Optional metadata, see Quote endpoint.
senderobjectrequired
Sender contact details.
sender.firstNamestringrequired
Sender first name.
sender.phonestringrequired
Sender phone (e.164 or local format).
sender.lastName / companyNamestringoptional
Optional sender metadata.
recipientobjectrequired
Recipient contact.
recipient.firstNamestringrequired
Recipient first name.
recipient.lastName / companyName / email / phonestringoptional
Optional recipient metadata. Recipient email may be required for some flows.
originobjectconditional
Required for EXPRESS; optional for LOGISTIC.
origin.addressstringrequired
Human-readable pickup address.
origin.coordinates.latitude / longitudedecimalrequired
WGS-84 decimal.
origin.province / city / district / subDistrict / postalCode / notesstringoptional
Optional address metadata. notes is shown to the driver.
destinationobjectrequired
Dropoff location with the same shape as origin. Coordinates required for EXPRESS.
destination.notesstringoptional
Free-form note shown to the driver at handover.
instructions[]arrayoptional
Up to 1 instruction object (see below).
scheduleobjectoptional
Optional pickup window (ISO-8601). Max 3 days ahead, EXPRESS only.

Cash on Delivery

When paymentMethod is CASH, pass a cashOnDelivery.amount in IDR. The driver collects this on handover.

{
"paymentMethod": "CASH",
"cashOnDelivery": { "amount": 250000 }
}

Instructions

Optional per-delivery instruction shown to the driver. At most one instruction is supported today. Setting type: "WEBVIEW" opens the URL inside the courier app.

"instructions": [
{
"type": "WEBVIEW",
"text": "Please do something on this delivery",
"url": "https://example.com/runbook"
}
]

Error responses

201Delivery created in ALLOCATING. Courier is assigned asynchronously.
422Lokasi pengantaran terlalu jauh. — distance SLA exceeded for the chosen tier.
404Service / payment type not enabled for your workspace.
400Layanan gagal karena di luar waktu atau area operasional. — out of hours.