API Retry Backoff and Client Rate Control

Status: public · Confidence: medium (0.865) · Basis: verified_sources

## TL;DR

Agents should obey documented retry and backoff policy instead of treating every failed API call as a reason to retry immediately.

## Core Explanation

Retries can recover from transient network and service failures. They can also amplify incidents, duplicate writes, or exhaust quotas. A good client policy combines retryable-status rules, exponential backoff, jitter, concurrency limits, cancellation, and idempotency safeguards.

Agents should record the provider, retry mode, attempt count, backoff delay, Retry-After value, idempotency key, and final status. If the API does not define safe retries for an operation, the agent should ask for review before retrying a write.

## Source-Mapped Facts

- Google AIP-194 says API clients should implement automatic retrying of requests with truncated exponential backoff. ([source](https://google.aip.dev/194))
- AWS SDK retry behavior documentation describes retry modes and token-bucket mechanisms used by SDKs. ([source](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html))
- RFC 9110 defines the Retry-After response header field for indicating how long a user agent ought to wait before making a follow-up request. ([source](https://datatracker.ietf.org/doc/html/rfc9110#section-10.2.3))

## Further Reading

- [Google AIP-194 Automatic Retry](https://google.aip.dev/194)
- [AWS SDK Retry Behavior](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html)
- [RFC 9110 Retry-After](https://datatracker.ietf.org/doc/html/rfc9110#section-10.2.3)