Vercel rewrite to an external API times out at 120 seconds

Vercel proxied rewrites to an external destination time out at 120 seconds with ROUTER_EXTERNAL_TARGET_ERROR. A Sume async submit returns at once.

4 min readSume
All posts

Any Sume call that answers within 120 seconds survives a Vercel proxied rewrite, and an async submit answers with 202 immediately, so it fits. Vercel's limits page says the maximum timeout for proxied requests to an external destination is 120 seconds, and a timeout returns ROUTER_EXTERNAL_TARGET_ERROR.

Sume behavior is from the Jobs and results docs; the Vercel text was read 2026-09-30.

What does Vercel say?

The page reads: “The maximum timeout is 120 seconds (2 minutes)” for proxied requests, meaning rewrites or routes with an external destination. On timeout, an error with the message ROUTER_EXTERNAL_TARGET_ERROR is returned. The limits page was marked last updated 2026-09-16.

Waits against the proxy limit, read 2026-09-30. Sume: Jobs and results.
CallWaitUnder 120 s?
Async submitReturns 202 at onceYes
Status or result GETOne quick requestYes
Sync or subscribeAt most 30 secondsYes
Holding a request until the job endsNot bounded by SumeNot guaranteed

Should the browser call Sume through a rewrite?

The API key must stay out of browser code. Put the submit in a server route that reads SUME_API_KEY from the environment and returns the job id to the browser.

What if the proxy times out mid-request?

The submit may already have been accepted. Retry with the same Idempotency-Key so you get the original job back instead of a second paid one. A different payload under the same key is a 409 idempotency_conflict.

How does the client follow the job?

Keep the job id and poll status_url, using next_poll_after_seconds when it is present. Each poll is a short request, well inside the proxy limit.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume