Skip to main content

Get delivery quote

Returns the available service tiers, fares (IDR), distance, and estimated pickup / dropoff times for a pickup–dropoff pair. Quotes are returned as an array; if you omit serviceType the cheapest single tier is assumed.

POST/express/v1/deliveries/quotes

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

Headers

Authorizationstringrequired
x-client-time-zonestringrequired
One of Asia/Jakarta, Asia/Makassar, Asia/Jayapura.

Parameters

serviceCategorystringoptional
One of EXPRESS, LOGISTIC. Default EXPRESS. Only needed on the legacy /v1/deliveries/quotes path; the /express/v1/deliveries/quotes path implies EXPRESS.
serviceTypestringoptional
For EXPRESS: INSTANT or SAME_DAY. For LOGISTIC: SAME_DAY.
paymentMethodstringoptional
CASH or CASHLESS. Default CASHLESS.
packages[]arrayrequired
One or more package objects. See nested fields below.
packages[].namestringrequired
Display name, e.g. "Martabak Manis".
packages[].typestringoptional
One of REGULAR, SPECIAL, SENSITIVE, HIGH_VALUE, OTHER. Validated here but does not change the quoted amount. The packages echo returns the normalised value, not your literal input — " HIGH_VALUE " comes back as HIGH_VALUE, and an omitted, null, or empty type is left absent from the echo rather than defaulted. Create Delivery is where an omitted value becomes REGULAR. See Package type.
packages[].descriptionstringoptional
Free-form description shown to the driver.
packages[].quantityintegerrequired
Item count for this package row.
packages[].priceintegeroptional
Declared total value in IDR (not unit price). Used for insurance and COD.
packages[].weightdecimalrequired
Weight in kilograms.
packages[].width / length / heightdecimaloptional
Dimensions in centimetres. Used for sizing/SLA.
originobjectrequired
Pickup location.
origin.addressstringrequired
Human-readable pickup address.
origin.coordinates.latitude / longitudedecimalrequired
WGS-84 decimal.
destinationobjectrequired
Dropoff location with the same shape as origin.
scheduleobjectoptional
Optional ISO-8601 pickup window. Max 3 days in the future. Currently EXPRESS only.
schedule.pickupTimeFrom / pickupTimeTostringconditional
Required inside schedule when present, e.g. 2025-05-26T23:59:59+07:00.

Error responses

400Butuh request body.
Empty request body.
400Field tidak dikenali: [<field>]
Request body contains an unrecognised key. The key is interpolated into the message.
400Validation message
Payload validation failed — the message names the first failing field.
400Field `packages.type` harus berisi salah satu dari: REGULAR, SPECIAL, SENSITIVE, HIGH_VALUE, OTHER
packages[].type was sent with a value outside the accepted list.
400Koordinat origin perlu ditambahkan
Origin coordinates are missing.
400Koordinat destinasi perlu ditambahkan
Destination coordinates are missing.
400Alamat destinasi perlu ditambahkan
Destination address is missing.
400Ups! Sepertinya waktu pengantaran yang Anda pilih sudah lewat. Yuk, pilih waktu lain yang masih tersedia.
Scheduled time is in the past.
400Pengantaran hanya dapat dijadwalkan dalam rentang hari ini hingga maksimal 3 hari ke depan
Scheduled time is outside the allowed booking window.
400Lokasi pengantaran terlalu jauh (<km> km) atau berat paket melebihi batas (<kg> kg). Sesuaikan jarak pengantaran atau hubungi admin Dash Electric.
No pricing tier covers the distance or weight. The actual distance / weight are interpolated into the message.

Unavailable areas or drivers do not throw — the response returns 200 with availability: false and the locationAvailability / driverAvailability flags set accordingly.