Reference
upstream_timeout
A dependency accepted the request and then did not answer in time.
What it means
A dependency accepted the request and then did not answer in time.
Retry with backoff
Transient. Retry with exponential backoff and jitter, not a fixed interval.
What causes it
- A model provider was slow past our ceiling.
- A connected tool endpoint of yours did not respond — tool calls have their own timeout.
How to fix it
- Retry with backoff.
- If it is your own tool endpoint, check its latency. Tool calls are made inside a visitor's turn, so a slow endpoint is a slow answer.
What the response looks like
{
"error": {
"code": "upstream_timeout",
"message": "A dependency accepted the request and then did not answer in time",
"request_id": "7cb7f7862a82425d8e4c3fb8a497dfe6"
},
"type": "https://integrable.cloud/docs/errors/upstream_timeout",
"title": "Upstream Timeout",
"status": 504,
"detail": "A dependency accepted the request and then did not answer in time",
"instance": "/api/bots/01a0652b-3713-7ea1-a6c9-2e895389ec34"
}Branch on error.code, not on the message — the code is stable, the sentence is not. Log request_id either way.
Still stuck
Quote the request_id from the response — hello@integrable.cloud. It is what lets us find the exact request. The full list of codes is at Error codes, and the conventions every endpoint shares are in Retries, versioning and limits.
Something here wrong or missing? Tell us — the documentation and the API are maintained by the same person, so a correction is a fix rather than a ticket.