SDKs
Retries and timeouts
Control SDK retry, timeout, cancellation, and idempotency behavior.
The SDK retries transient failures with exponential backoff and jitter. It
honors Retry-After when FluxDigest returns one.
Retryable conditions include:
- connection failures;
- request timeouts;
408 Request Timeout;425 Too Early;429 Too Many Requests;- retryable
409 Conflictresponses; 500,502,503, and504responses.
Authentication, permission, validation, and ordinary not-found errors are not retried. A mutation is retried only when it has an idempotency key.
Configure globally
const fluxdigest = new FluxDigest({
apiKey: process.env.FLUXDIGEST_API_KEY,
timeout: 20_000,
maxRetries: 3,
});Override one request
await fluxdigest.analytics.campaign(
"cmp_123",
{ workspaceId: "ws_123" },
{ timeout: 60_000, maxRetries: 0 },
);Cancel work
const controller = new AbortController();
const request = fluxdigest.subscribers.list(
{ workspaceId: "ws_123" },
{ signal: controller.signal },
);
controller.abort(new DOMException("Job canceled", "AbortError"));
await request;Cancellation is caller intent, not a retryable transport failure.

