Skip to main content

Cancel delivery

Cancels a delivery any time before the package is picked up — while it is still in ALLOCATING, PENDING_PICKUP, or PICKING_UP. Once the package has been picked up (PENDING_DELIVERY onward), provider-side cancellation is no longer allowed.

DEL/express/v1/deliveries/{deliveryID}

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

Headers​

Authorizationstringrequired
Bearer token.

Parameters​

deliveryIDstringrequired
Path parameter. The Dash-issued id.
notesstringoptional
Optional body field — reason for cancellation, surfaced to the Dash ops team.

Eligible statuses​

Provider-side cancellation is allowed from any status up to and including PICKING_UP — i.e. any time before the package is in the driver's hands:

  • ALLOCATING — no driver assigned yet
  • PENDING_PICKUP — driver assigned, has not started moving
  • PICKING_UP — driver is on the way to the pickup point but hasn't collected the package yet

The cut-off is pickup, not driver assignment. The moment the driver collects the package the delivery moves to PENDING_DELIVERY (pickupAt is set, PICKUP_PROOF captured) and cancellation is closed — a DELETE from PENDING_DELIVERY or IN_DELIVERY returns a 422, and from any terminal state also a 422. Only the provider can call DELETE; Dash drivers cannot cancel on your behalf.

Error responses​

404DELIVERY_NOT_FOUND — deliveryID doesn't exist. Pengantaran tidak ditemukan.
403FORBIDDEN — the caller is not the owning provider of this delivery. Akses tidak diperbolehkan.
422DELIVERY_ALREADY_COMPLETED — delivery is already in a final state, including already cancelled. Delivery ID sudah selesai diantarkan. Silakan input ulang sebelum upload, hanya bisa untuk delivery yang aktif saja.
400DELIVERY_QRIS_CANT_CANCEL — QRIS-paid delivery is past its cancellable status. QRIS deliveries can only be canceled up to PENDING_PICKUP
422DELIVERY_PICKING_UP — package already picked up (PENDING_DELIVERY / IN_DELIVERY). Pengantaran sudah diambil.