04 / Failure, by design

Find out how your client behaves when an API becomes slow or unreliable

Inject latency, errors, timeouts, and intermittent failures into controlled API traffic so resilience decisions are based on observed behavior.

What goes in, what comes out, and what the result can prove.

INPUTAuthorized target, HTTP method and bounded failure policy
OUTPUTControlled latency, timeout, status or error-rate evidence

Exercise a retry budget without breaking production

target: https://staging-api.example/orders
forceStatus: 503
errorRate: 0.20
latencyMs: 800
maxExecutions: 25

Three checks before the result becomes a decision.

01

Bound the blast radius

Set target, expiry, execution count and rate limit.

02

Observe the client

Capture attempts, backoff, timeout and final user-visible result.

03

Remove the rule

Disable the experiment and verify normal behavior returns.

What this workflow does not prove.

Before you put it into a real workflow.

Does this modify the real API?

No. Failure behavior is introduced through a controlled proxy path rather than changing the upstream implementation.

What failures can I model?

Common experiments include latency, HTTP errors, timeouts, connection failures, and probabilistic behavior.

Should I point production traffic at it?

Start in development or staging with bounded traffic. Production experiments require explicit ownership, safeguards, and rollback planning.

Start with one concrete API problem.

Keep the first step small. Move into a workspace when the result deserves to be saved, repeated, or shared.