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.
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
Parameters
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 yetPENDING_PICKUP— driver assigned, has not started movingPICKING_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
Pengantaran tidak ditemukan.Akses tidak diperbolehkan. — the caller is not the owning provider of this delivery.Delivery ID sudah selesai diantarkan. Silakan input ulang sebelum upload, hanya bisa untuk delivery yang aktif saja. — delivery is already in a final state.QRIS deliveries can only be canceled up to PENDING_PICKUP — QRIS-paid delivery is past its cancellable status.Pengantaran sudah diambil. — package already picked up (PENDING_DELIVERY / IN_DELIVERY).