The problem
Ambiguous outcomes afterPOST /v1/executions/* are the highest risk: you might double-charge if you retry blindly.
Solution
For executions — poll first
If you stored
reference_id, call GET /v1/status/collection/:reference_id (or payout/transfer/refund) before retrying execute.Retry with backoff
For idempotent reads and safe retries, use exponential backoff (1s, 2s, 4s… capped).
Escalate if persistent
Email dev@heydollr.app with
reference_id, UTC timestamp, endpoint, and redacted bodies. See Support checklist.