What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects this value on SessionTurnErrorCodeResource reachable from 6 operations.
New values: organization_spend_limit_exceeded, organization_usage_limit_exceeded, project_spend_limit_exceeded.
can now return "organization_spend_limit_exceeded", "organization_usage_limit_exceeded", "project_spend_limit_exceeded"
Who is affected
Code that reads OpenAI's SessionTurnErrorCodeResource objects, used by 6 OpenAI operations.
Before and after
| Where | Before | After |
|---|---|---|
| SessionTurnErrorCodeResource | "active_turn_not_steerable", "authentication_error", "connection_failed", "context_length_exceeded", "credit_balance_exhausted", "cyber_policy", "executor_version_incompatible", "flex_unavailable", "internal_error", "invalid_request", "misalignment_policy_violation", "rate_limit_exceeded", "request_timeout", "resource_not_found", "sandbox_error", "server_error", "server_overloaded", "session_budget_exceeded", "usage_limit_exceeded" | "active_turn_not_steerable", "authentication_error", "connection_failed", "context_length_exceeded", "credit_balance_exhausted", "cyber_policy", "executor_version_incompatible", "flex_unavailable", "internal_error", "invalid_request", "misalignment_policy_violation", "organization_spend_limit_exceeded", "organization_usage_limit_exceeded", "project_spend_limit_exceeded", "rate_limit_exceeded", "request_timeout", "resource_not_found", "sandbox_error", "server_error", "server_overloaded", "session_budget_exceeded", "usage_limit_exceeded" |
Code that breaks
switch (response) {
// existing branches …
// no branch for "organization_spend_limit_exceeded"
// no branch for "organization_usage_limit_exceeded"
// no branch for "project_spend_limit_exceeded"
default:
throw new Error("unexpected value");
}Based on OpenAI’s published API specification. How severity is decided.