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.
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.422
Lokasi pengantaran terlalu jauh. — distance SLA exceeded for the chosen tier.404Service / payment type not enabled for your workspace.
400
Layanan gagal karena di luar waktu atau area operasional. — out of hours.