Webhooks Reason Codes
Reason codes indicate why a delivery attempt failed, why a parcel was delayed, or why it was returned. These are essential for customer support, reporting, and exception automation.
1. Undeliverable / Attempted Delivery Reasons
From DASHER_ATTEMPTED_DELIVERY events (reason code in undeliverable_reason_code):
| Reason | Meaning | Description |
|---|---|---|
| missing_unit_gate_code | Missing gate code or instructions | Unfortunately, there was an issue with access to a building, gate code, or intercom when attempting your delivery. |
| cant_find_apartment_unit | Unable to locate apartment or safe drop-off point | Unfortunately, there was an issue with a missing or incorrect unit or apartment number when attempting your delivery. |
| business_closed | Business closed, cannot leave package | Unfortunately, there was an issue with the recipient business being closed when attempting your delivery. |
| incorrect_address | Address incorrect or inaccessible (e.g., military base) | Unfortunately, there was an issue with the address being incorrect when attempting your delivery. |
| technology_issue | Runner app issue prevented delivery | Unfortunately, there was an issue when attempting your delivery. |
| route_abandoned | Route too long/late; parcel returned to facility | Unfortunately, there was an issue when attempting your delivery. |
| recipient_refused | Customer refused package | Your delivery driver attempted delivery, but the package was refused. |
| emergency | Weather/safety or dasher emergency | Unfortunately, there was a weather or driver-related emergency when attempting your delivery. |
| damaged | Package too damaged for delivery | Unfortunately, there was an issue when attempting your delivery. |
| other | Other / unclear / language barrier | Unfortunately, there was an issue when attempting your delivery. |
Note: Additional context may appear in undeliverable_reason_additional_details.
2. Return to Merchant / Received to Redeliver Reasons
From PARCEL_RETURN_TO_MERCHANT and PARCEL_RECEIVED_TO_REDELIVER (field: return_reason):
| Reason | Meaning |
|---|---|
| missing_unit_gate_code | Missing gate code or instructions |
| cant_find_apartment_unit | Unable to locate apartment or safe drop-off point |
| business_closed | Business closed, cannot leave package |
| incorrect_address | Address incorrect or inaccessible (e.g., military base) |
| technology_issue | Runner app issue prevented delivery |
| route_abandoned | Route too long/late; parcel returned to facility |
| recipient_refused | Customer refused package |
| emergency | Weather/safety or dasher emergency |
| damaged | Package too damaged for delivery |
| other | Other / unclear / language barrier |
3. Delay Reasons
From PARCEL_DELAYED (field: parcel_delayed_reason):
| Reason | Meaning |
|---|---|
| missing_from_truck | Parcel missing from merchant truck |
| driver_unassigned | No driver assigned yet |
| misplaced_at_sortation | Parcel misplaced at sortation facility |
| other | General/unclassified delay |
4. Awaiting Reasons
From PARCEL_AWAITING (field: parcel_awaiting_reason):
| Reason | Meaning |
|---|---|
| missing_from_truck | Parcel missing from merchant truck |
| other | General/unclassified delay |