Streaming & cancellation
Understand what each connection owns before retrying or stopping work.
Updated October 31, 2026
Native inference streams
Chat, Responses and Messages have different incremental event contracts. Use the matching official SDK helper; do not parse one as another. Missing authoritative usage leaves the ordinary reservation pending.
Browser event readers
Disconnecting from a first-party conversation event reader does not cancel its durable run. Reconnect to the same run with its event cursor; deduplicate sequence numbers instead of creating another request.
Cancellation is a request
Native client abort requests best-effort cancellation. Native requests have a 120-second deadline; timeout returns a native error, not a custom 202 job receipt. Neither abort nor timeout proves upstream computation stopped.
Uncertain usage
Unknown measured usage retains a conservative reservation. The service does not return invented zero-token accounting. Check the operation state before deciding to retry.