OpenAI Agents API durable sessions and Sume job ids
A durable OpenAI Agents API session continues across turns; a Sume render is a separate job. Keep the job id in the session and re-read it, never re-create.

Durable sessions keep an OpenAI agent's conversation alive across turns, but they do not hold a Sume render. A Sume job has its own id and lifetime, so the agent should write the job_id into the session as soon as the create call returns, and on the next turn read that job rather than create it again.
The OpenAI claims are from its changelog (Sep 10 entry, read 2026-10-01); the Sume rules are from Jobs and results.
What did OpenAI release on Sep 10?
The changelog says the Agents API is in public beta, with a managed Codex harness where OpenAI handles session orchestration, context compaction, and recovery. It adds that you can use durable sessions to continue work across turns, stream progress, and connect your own tools and MCP servers. Connecting Sume as an MCP server is covered in Agents API with Sume MCP.
What does the session not recover for me?
The session recovers the conversation. The render is state held by Sume, which is why the Sume docs say generation endpoints create durable jobs and tell you to store the job id so work can be recovered after process restarts. If the agent only remembers "I asked for a video", it has nothing to read back.
| State | Held by | How to resume |
|---|---|---|
| Conversation turns | Agents API session | Continue the session |
| Render progress | Sume job | jobs_status, jobs_wait, or jobs_events with the stored id |
| Finished media | Sume job result | jobs_result once the job is completed |
How does the agent pick the job back up?
Hosted MCP exposes jobs_status, jobs_result, jobs_events, and jobs_wait as read tools, and jobs_cancel as a write tool that needs an idempotency_key. A new turn can call jobs_wait with the stored id; if the slice expires, call it again with the same id. The docs say never to resubmit the paid create for that.
What if the turn or the client times out?
The docs state that a client-side timeout does not cancel the job; it keeps running and still bills. So a lost turn is a reason to re-read, not to re-create. For completion pushes instead of polling, see agent run webhooks.
Sources
Related posts
More in Developers
- OpenAI Agents SDK 0.20 httpx2 MCP headers: Sume API key
With a custom MCP HTTP client in Agents SDK 0.20, send the Sume key as an Authorization Bearer or x-api-key header. httpx2 only matters if you built the client.
- OpenAI Agents empty tool arguments: Sume no-argument tools
Agents SDK 0.22.1 fails closed on empty tool arguments. Sume's no-argument tools take {}, while paid tools need idempotency_key and cannot run empty.
- OpenAI Agents SDK tool not found: what a Sume call returns
A hosted MCP tool name that differs only in - or _ gets a tool_not_found result with a Did you mean hint; a scope-hidden tool returns insufficient_scope.
- Agents SDK mcp.Client mode auto against Sume's MCP server
With MCP Python SDK v2, the Agents SDK probes the newest protocol and falls back to initialize. Sume's hosted server still serves initialize with 2025-11-25.
Written by Sume