Gemini last_event_id stream resume vs Sume: no SSE, poll status_url

Gemini background interactions can resume a dropped stream from the last event. Sume has no stream to resume: poll status_url and read events_url snapshots.

4 min readSume
All posts

Gemini's background execution lets a client reconnect to a dropped stream by passing the last received event id. Sume has no stream to reconnect to: there is no SSE or WebSocket transport on the Developer API today. To pick up a job after a disconnect, call GET status_url again.

Sources: the Gemini background-execution page and Sume's Jobs and results, read 2026-10-01.

How does Gemini resume a stream?

The page says standard HTTP requests typically close after 60 seconds, so a background interaction returns an id that you can poll, stream, or reconnect to. Each streamed delta carries a unique event id; passing the last one back resumes the stream from that event.

What replaces that on Sume?

Polling. GET /v1/jobs/:id/events is a pull snapshot, not a stream, and progress comes from polling events_url, which returns a phase timeline. Status comes from status_url, which returns terminal, result_ready and, when present, next_poll_after_seconds.

Reconnect options, Gemini page vs Sume docs, read 2026-10-01.
NeedGemini background interactionSume job
Check statePoll the interaction idGET status_url
Live progressStream deltasPoll events_url (phase timeline)
Resume after dropPass the last event idNothing to resume; poll again

What if my client crashed mid-wait?

Keep the job id. Every mode returns it in the first response, so a restarted client can poll the same job. Do not submit a new paid job for the same intent; the docs allow retrying a submit only with the same Idempotency-Key. See this recovery guide.

How often should I poll?

Honor next_poll_after_seconds when it is present and back off otherwise. Poll on the booleans terminal and result_ready, or on sume_status, but do not mix the queue-shaped status field with it. If you would rather be told, use mode: "webhook" and keep polling as a backup.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume