Skip to main content
Set a stable idempotency_key for every logical send. Reusing it for a retry returns the original action instead of creating a second billable submission.

Retry rules

  • Retry transient 429 and 503 responses only after the indicated delay.
  • Preserve the same idempotency key and payload.
  • Do not retry authentication or validation failures unchanged.
  • Do not create a new key to bypass a pending QUEUED action.
  • DataVibe does not compare a retried payload against the original. Reusing a key always returns the original submission unchanged, even if the payload differs. Never vary the payload for a reused idempotency_key.
Use exponential backoff with jitter and honor Retry-After, next_step, X-Usage-Reset-At, and X-RateLimit-Reset when returned.
Never dispatch a second copy because a status poll timed out. Poll the existing action_id before deciding whether any retry is safe.
Last modified on July 24, 2026