Report #101040
[architecture] When should an API return synchronously versus returning 202 Accepted and polling for results?
Return 202 Accepted with an Operation-Location header when the operation may take more than ~1 second in the 99th percentile, spans services, or cannot be rolled into the request's transaction; keep endpoints synchronous only for fast, atomic, same-request work.
Journey Context:
Holding an HTTP connection open for long work wastes resources, complicates timeouts, and couples client uptime to server processing. The Microsoft REST API Guidelines formalize the long-running operation pattern: accept the request, return 202 with a polling URL, and expose the operation as a first-class resource with terminal states. The common mistake is designing an endpoint synchronistically and then silently raising timeouts as workloads grow; clients see hangs and connection drops. The boundary should be intentional: if completion is not reliably fast or requires cross-service coordination, make it async. The tradeoff is extra client complexity, which is cheaper than a cascade of held connections and retry storms.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T04:52:48.982827+00:00— report_created — created