Resources · 18

Make API integrations resilient to outages

Map dependencies, bound retries and keep essential journeys usable during external failures.

· 18 min

Engineer testing an API dependency failure scenario

What this guide helps achieve

  • Connect APIs to business journeys
  • Bound calls and retries
  • Plan degraded operation
  • Measure recovery

Quick check

  • Which journeys depend on each provider?
  • Does every call have a timeout?
  • Could a retry duplicate an operation?
  • What does the user see during failure?
  • Who approves return to normal service?

Step-by-step method

  1. 01

    Map calls

    Connect every integration to exchanged data, contracts, owners and journey steps. Identify synchronous calls that block the user.

    Deliverable: prioritised dependency map.

  2. 02

    Set time budgets

    Define a timeout for each call and a total budget per journey. Prevent service chains from multiplying wait times.

    Deliverable: timeout and threshold matrix.

  3. 03

    Bound retries

    Retry only operations safe to repeat. Test idempotency, cap attempts and spread them with suitable backoff.

    Deliverable: tested retry policy.

  4. 04

    Plan degraded operation

    Decide what remains usable, which data may be queued and what clear message appears during an outage.

    Deliverable: fallback behaviour per journey.

  5. 05

    Simulate incidents

    Introduce latency, invalid responses and outages in a controlled environment. Check load, data, interface and restoration.

    Deliverable: failure test results.

  6. 06

    Watch outcomes

    Track errors, latency, queues and business actions actually lost. Assign escalation and supplier coordination owners.

    Deliverable: dashboard and recovery procedure.

Management indicators

IndicatorWhat it measuresFirst action
Mapped journeysEssential journeys with known dependenciesAssign owners to unknown calls
Time budgetCalls within the journey deadlineReview chained waits
Safe retriesRepeated operations without side effectsAdd idempotency or remove retry
Tested degradationOutage scenarios with observed user resultImprove continuity and communication

Common pitfalls

  • Retrying without limit against an overloaded service
  • Repeating a non-idempotent write
  • Hiding an outage behind unlabelled stale data
  • Measuring only provider response rate

Frequently asked questions

Should every request be retried?

No. Retries help selected transient failures and must respect the overall deadline, idempotency and provider load.

Is a circuit breaker sufficient?

It protects some calls, but does not define the user experience or recovery of queued work.

What should be measured first?

Effects on essential journeys: duration, lost or delayed actions and recovery quality.

Official references