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
- 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. - 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.
- 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.
- 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.
Related
- Error Code Reference — the
CLIENT_DISCONNECTEDrow and its 499 status. - Error Handling Examples — response-envelope handling patterns in code.