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.
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
Bearer token from POST /v1/auth/providers/token.
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.