Start here. This is the direct spoken answer to practice first.
Why this question matters
Degraded behavior is a product contract, not an exception handler. The fallback must preserve safety while telling clients what is stale, missing, pending, or unavailable.
I would classify the dependency by what can go wrong if its result is missing or stale. Optional recommendations can be omitted, and some reference data can use a bounded cached value. A long-running write can be durably accepted and reported as pending. Authorization, payment state, inventory reservation, and other critical decisions may need to fail closed when the source of truth cannot be checked. The response should not silently look complete when data is stale or partial.