Skip to documentation

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.