Transient errors: retry these
HTTP503 (Service Unavailable). The database’s workers are still starting.
You will see this on the first request after an idle period (a cold start), on
the first request right after create_database, and occasionally while the
service is adding capacity under a burst. The response carries a Retry-After
header telling you how many seconds to wait. A cold start typically clears
within a few seconds, on your first retry.
Network and timeout errors. A dropped connection or a timeout may mean the
request never reached the service. Retrying with a short backoff is safe.
How to retry
If you use the SDK, wrap the call in a short retry with exponential backoff. The SDK does not retry automatically, and it does not surface theRetry-After
value, so use your own backoff. A transient unavailability surfaces as an error
whose message contains server returned 503, so you can retry only that and let
everything else propagate.
Retry-After response header on
a 503, wait that many seconds, then resend the same request. See the
API Reference for each endpoint’s request shape; every data
endpoint documents its 503 as transient.
Errors you should not retry
These will not clear on a repeat. Fix the request instead. The table shows how each surfaces through the SDK.
There is one conditional case. A write can return
412 (Conflict) when a
concurrent write to the same table wins the race (surfaced as ConflictError in
Python). That is not a transient availability error: re-read the current state
and reissue the change only if you still want it, rather than blindly retrying.
The REST API Reference is generated from the live service
spec, so each endpoint lists its exact response codes, including the transient
503.See also
- Quickstart — connect to Infino Cloud and run your first search.
- Authentication — API keys and the
Authorizationheader. - FAQ — other common questions about the hosted service.
