Browse Documentation

Guides / reliability

Retry what you can prove.

Network failures do not always reveal whether a provider created a resource. Wildflower fails closed around uncertain outcomes and gives callers explicit tools for replay, reconciliation, and support.

Give every logical create one key

Generate an idempotency key before the first create attempt and persist it with your job. A completed request replayed with the same key, body, and non-secret provider connection context returns the original sandbox.

terminal
idempotency_key="$(openssl rand -hex 24)"curl --fail-with-body --request POST \  "$WILDFLOWER_URL/v1/sandboxes" \  -H "Authorization: Bearer $WILDFLOWER_API_KEY" \  -H "Idempotency-Key: $idempotency_key" \  -H "Content-Type: application/json" \  --data '{"provider":"e2b","image":"base","timeout":300}'
Never mutate a request behind the same key

Reusing a key with different input returnsidempotency_conflict. Concurrent attempts can returnidempotency_in_progress. Keep one key attached to one immutable logical create.

Use a small retry policy

OutcomeNext action
429 rate_limitedWait for Retry-After, then retry with jitter.
provider_unavailableBack off. For create, retain the original idempotency key and body.
idempotency_in_progressWait, then replay the same create rather than issuing a new one.
idempotency_outcome_unknown orsandbox_create_outcome_unknownDo not blind-retry. Retain the returned operation ID and reconcile.
Validation or authentication errorFix the request or credentials; retries cannot change the result.

Reconcile from project state

List sandboxes reads Wildflower's project registry without contacting a provider. Results are newest first and include deleted tombstones. Treat each status as cached atstatusObservedAt; pass an opaque nextCursor back ascursor to continue.

Retain response metadata

X-Request-Id

Keep this server-generated correlation ID with errors and support reports.

Server-Timing

Separates total API time, application time, and provider-adapter time when a provider call occurred.

Idempotency-Replayed

Identifies a successful response recovered from a prior create.

SDK observers

Generated clients expose response metadata without replacing their normal return values.

Provider choice remains explicit

Wildflower does not fail over to another provider. A retry addresses the same adapter and logical operation; it never migrates sandbox state.

See the generated create referencefor the exact request and header types.