Requests time out

A timeout means a response did not arrive in time. On the API this is a 408 or 504 error; in the apps it shows as a long wait or a retry. Long answers without streaming are the most common cause. Turning on streaming, asking for shorter output, or splitting the task usually fixes it.

API timeouts

StatusCodeMessageCause
408request_timeout”The request timed out. Retry shortly.”Your request did not finish on Syntic’s side before reaching the model.
504upstream_timeout”The model took too long to answer. Retry shortly.”The model did not finish within the time limit, typically for very long answers sent without streaming.

Fixes

  • Stream long answers. With streaming, text arrives as it is written, so a long answer does not hit the time limit. See Streaming.
  • Lower max_tokens to what you actually need.
  • Split big tasks into smaller requests.
  • Retry with back-off for occasional timeouts.
  • Check your own client’s timeout. Some HTTP libraries give up sooner than the API does. Raise your client timeout for long requests.

Syntic Code

You seeWhat it means
”No reply from the Syntic server for 14s — still waiting”Connected, but the reply has not started. If it does not start within 90 seconds, Syntic Code retries. Usually just wait, or press Esc to stop.
”Command did not finish within … ms”A shell command the agent ran hit its own time limit. The agent can retry with a longer limit or run it in the background.
A script run gives upUnattended runs stop after 10 minutes of retry waits in total.

Slow networks

If timeouts happen often, check your connection, VPN or company proxy. For Syntic Code behind a proxy, see Syntic Code behind a proxy or firewall.

Was this page helpful?