Skip to main content

What this error means

CLIENT_DISCONNECTED is returned with HTTP status 499 when the caller closes the connection before the response could be delivered: a browser tab or app closed mid-request, a mobile network handoff, or a proxy or load balancer dropping an idle connection. It is a record of the disconnect, not a server fault; Orbit classifies it separately so that client-side closes are not counted as server errors. Every response for this error carries this page’s address in meta.docs_url:

Cause

How to fix it

  1. Treat it as informational, not an error to retry blindly. The envelope carries no retry semantics: there is no retry_after, and by the time you see it the original caller is already gone.
  2. Check the outcome before reissuing. If the request may have side effects (a send, a create), look up the resulting record or webhook events first so a reissue does not duplicate the operation.
  3. Raise client-side timeouts for long-running calls. If your own code is the disconnecting client, give slow endpoints enough headroom, or poll for the result instead of holding one request open.
  4. Expect some baseline volume. A public API always sees a background rate of 499s from closed tabs and network handoffs; a low steady count is normal traffic, not a defect.