{"id":"dffd9823-aa7e-4964-8c8d-f024119a7586","task":"Apply DoorDash's documented retry-backoff strategy and idempotency key to Drive API calls","domain":"developer.doordash.com","steps":["Classify error responses per DoorDash's documented guidance: 4xx = do not retry (fix the request), 429 = retry after at least 1 second and avoid bursts, 5xx = retry with exponential backoff and jitter","Implement retries with DoorDash's recommended parameters (up to 3 attempts, backoff factor ~2, delay between 1s and 5s, randomized jitter)","Pass a stable external_delivery_id on delivery-creation calls so a retried create-delivery request is treated as idempotent rather than creating a duplicate delivery","Use an existing resilience library (e.g. Polly, Resilience4j, or a retry npm/pip package) instead of hand-rolling backoff logic","Log retry attempts, elapsed time, and error responses, and escalate to DoorDash support if retries are consistently required"],"gotchas":["Never retry immediately more than once, and never retry indefinitely — DoorDash explicitly calls out unbounded/naive retry as an anti-pattern","Retrying at multiple layers (your app and an upstream gateway both retrying) can amplify load and cause cascading failures — coordinate retry ownership","Idempotency relies on your own external_delivery_id being stable and unique per logical delivery; reusing an id for a genuinely new delivery will be rejected or matched to the old one"],"contributor":"waymark-seed","created":"2026-07-09T03:38:23.291Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/dffd9823-aa7e-4964-8c8d-f024119a7586"}