openai 0.71.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
  5. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
  6. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
  7. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
  8. data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
  9. data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
  10. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
  11. data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
  12. data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
  13. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
  14. data/lib/openai/models/audio/transcription.rb +10 -1
  15. data/lib/openai/models/audio/transcription_create_params.rb +24 -5
  16. data/lib/openai/models/audio/transcription_language.rb +20 -0
  17. data/lib/openai/models/audio/transcription_text_done_event.rb +10 -1
  18. data/lib/openai/models/audio_model.rb +1 -0
  19. data/lib/openai/models/beta/beta_response.rb +12 -6
  20. data/lib/openai/models/beta/beta_response_error.rb +1 -0
  21. data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
  22. data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
  23. data/lib/openai/models/beta/response_create_params.rb +12 -6
  24. data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
  25. data/lib/openai/models/chat/completion_create_params.rb +8 -6
  26. data/lib/openai/models/realtime/audio_transcription.rb +35 -8
  27. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +10 -1
  28. data/lib/openai/models/reasoning.rb +8 -2
  29. data/lib/openai/models/responses/input_token_count_params.rb +4 -2
  30. data/lib/openai/models/responses/response.rb +4 -4
  31. data/lib/openai/models/responses/response_create_params.rb +4 -4
  32. data/lib/openai/models/responses/response_error.rb +1 -0
  33. data/lib/openai/models/responses/response_text_config.rb +4 -2
  34. data/lib/openai/models/responses/responses_client_event.rb +4 -4
  35. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +121 -0
  36. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -3
  37. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
  38. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
  39. data/lib/openai/resources/admin/organization/projects.rb +4 -0
  40. data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
  41. data/lib/openai/resources/admin/organization.rb +4 -0
  42. data/lib/openai/resources/audio/transcriptions.rb +12 -4
  43. data/lib/openai/resources/beta/responses.rb +4 -4
  44. data/lib/openai/resources/chat/completions.rb +4 -4
  45. data/lib/openai/resources/responses.rb +4 -4
  46. data/lib/openai/resources/webhooks.rb +1 -1
  47. data/lib/openai/version.rb +1 -1
  48. data/lib/openai.rb +14 -0
  49. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
  50. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
  51. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
  52. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
  53. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
  54. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
  55. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
  56. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
  57. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
  58. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
  59. data/rbi/openai/models/audio/transcription.rbi +19 -0
  60. data/rbi/openai/models/audio/transcription_create_params.rbi +31 -3
  61. data/rbi/openai/models/audio/transcription_language.rbi +33 -0
  62. data/rbi/openai/models/audio/transcription_text_done_event.rbi +19 -0
  63. data/rbi/openai/models/audio_model.rbi +2 -0
  64. data/rbi/openai/models/beta/beta_response.rbi +18 -15
  65. data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
  66. data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
  67. data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
  68. data/rbi/openai/models/beta/response_create_params.rbi +18 -15
  69. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
  70. data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
  71. data/rbi/openai/models/realtime/audio_transcription.rbi +50 -9
  72. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +19 -0
  73. data/rbi/openai/models/reasoning.rbi +12 -3
  74. data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
  75. data/rbi/openai/models/responses/response.rbi +6 -12
  76. data/rbi/openai/models/responses/response_create_params.rbi +6 -12
  77. data/rbi/openai/models/responses/response_error.rbi +5 -0
  78. data/rbi/openai/models/responses/response_text_config.rbi +6 -3
  79. data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
  80. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +222 -0
  81. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +7 -3
  82. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  83. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
  84. data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
  85. data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
  86. data/rbi/openai/resources/admin/organization.rbi +3 -0
  87. data/rbi/openai/resources/audio/transcriptions.rbi +20 -2
  88. data/rbi/openai/resources/beta/responses.rbi +4 -4
  89. data/rbi/openai/resources/chat/completions.rbi +8 -6
  90. data/rbi/openai/resources/responses.rbi +4 -4
  91. data/rbi/openai/resources/webhooks.rbi +1 -0
  92. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
  93. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
  94. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
  95. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
  96. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
  97. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
  98. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
  99. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
  100. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
  101. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
  102. data/sig/openai/models/audio/transcription.rbs +9 -0
  103. data/sig/openai/models/audio/transcription_create_params.rbs +14 -0
  104. data/sig/openai/models/audio/transcription_language.rbs +15 -0
  105. data/sig/openai/models/audio/transcription_text_done_event.rbs +9 -0
  106. data/sig/openai/models/audio_model.rbs +2 -0
  107. data/sig/openai/models/beta/beta_response.rbs +8 -12
  108. data/sig/openai/models/beta/beta_response_error.rbs +2 -0
  109. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
  110. data/sig/openai/models/beta/response_create_params.rbs +8 -12
  111. data/sig/openai/models/chat/completion_create_params.rbs +8 -12
  112. data/sig/openai/models/realtime/audio_transcription.rbs +18 -0
  113. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +9 -0
  114. data/sig/openai/models/responses/response.rbs +8 -12
  115. data/sig/openai/models/responses/response_create_params.rbs +8 -12
  116. data/sig/openai/models/responses/response_error.rbs +2 -0
  117. data/sig/openai/models/responses/responses_client_event.rbs +8 -12
  118. data/sig/openai/models/webhooks/live_call_incoming_webhook_event.rbs +90 -0
  119. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  120. data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
  121. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  122. data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
  123. data/sig/openai/resources/admin/organization.rbs +2 -0
  124. data/sig/openai/resources/audio/transcriptions.rbs +4 -0
  125. data/sig/openai/resources/beta/responses.rbs +4 -4
  126. data/sig/openai/resources/chat/completions.rbs +4 -4
  127. data/sig/openai/resources/responses.rbs +4 -4
  128. data/sig/openai/resources/webhooks.rbs +1 -0
  129. metadata +44 -2
@@ -225,7 +225,8 @@ module OpenAI
225
225
  # @!attribute verbosity
226
226
  # Constrains the verbosity of the model's response. Lower values will result in
227
227
  # more concise responses, while higher values will result in more verbose
228
- # responses. Currently supported values are `low`, `medium`, and `high`.
228
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
229
+ # default is `medium`.
229
230
  #
230
231
  # @return [Symbol, OpenAI::Models::Responses::InputTokenCountParams::Text::Verbosity, nil]
231
232
  optional :verbosity,
@@ -250,7 +251,8 @@ module OpenAI
250
251
 
251
252
  # Constrains the verbosity of the model's response. Lower values will result in
252
253
  # more concise responses, while higher values will result in more verbose
253
- # responses. Currently supported values are `low`, `medium`, and `high`.
254
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
255
+ # default is `medium`.
254
256
  #
255
257
  # @see OpenAI::Models::Responses::InputTokenCountParams::Text#verbosity
256
258
  module Verbosity
@@ -204,7 +204,7 @@ module OpenAI
204
204
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
205
205
  #
206
206
  # @return [String, nil]
207
- optional :prompt_cache_key, String
207
+ optional :prompt_cache_key, String, nil?: true
208
208
 
209
209
  # @!attribute prompt_cache_options
210
210
  # The prompt-caching options that were applied to the response. Supported for
@@ -257,7 +257,7 @@ module OpenAI
257
257
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
258
258
  #
259
259
  # @return [String, nil]
260
- optional :safety_identifier, String
260
+ optional :safety_identifier, String, nil?: true
261
261
 
262
262
  # @!attribute service_tier
263
263
  # Specifies the processing type used for serving the request.
@@ -402,7 +402,7 @@ module OpenAI
402
402
  #
403
403
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
404
404
  #
405
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
405
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
406
406
  #
407
407
  # @param prompt_cache_options [OpenAI::Models::Responses::Response::PromptCacheOptions] The prompt-caching options that were applied to the response. Supported for `gpt
408
408
  #
@@ -410,7 +410,7 @@ module OpenAI
410
410
  #
411
411
  # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
412
412
  #
413
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
413
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
414
414
  #
415
415
  # @param service_tier [Symbol, OpenAI::Models::Responses::Response::ServiceTier, nil] Specifies the processing type used for serving the request.
416
416
  #
@@ -161,7 +161,7 @@ module OpenAI
161
161
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
162
162
  #
163
163
  # @return [String, nil]
164
- optional :prompt_cache_key, String
164
+ optional :prompt_cache_key, String, nil?: true
165
165
 
166
166
  # @!attribute prompt_cache_options
167
167
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -221,7 +221,7 @@ module OpenAI
221
221
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
222
222
  #
223
223
  # @return [String, nil]
224
- optional :safety_identifier, String
224
+ optional :safety_identifier, String, nil?: true
225
225
 
226
226
  # @!attribute service_tier
227
227
  # Specifies the processing type used for serving the request.
@@ -389,7 +389,7 @@ module OpenAI
389
389
  #
390
390
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
391
391
  #
392
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
392
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
393
393
  #
394
394
  # @param prompt_cache_options [OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
395
395
  #
@@ -397,7 +397,7 @@ module OpenAI
397
397
  #
398
398
  # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
399
399
  #
400
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
400
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
401
401
  #
402
402
  # @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
403
403
  #
@@ -35,6 +35,7 @@ module OpenAI
35
35
  SERVER_ERROR = :server_error
36
36
  RATE_LIMIT_EXCEEDED = :rate_limit_exceeded
37
37
  INVALID_PROMPT = :invalid_prompt
38
+ DATA_RESIDENCY_MISMATCH = :data_residency_mismatch
38
39
  BIO_POLICY = :bio_policy
39
40
  VECTOR_STORE_TIMEOUT = :vector_store_timeout
40
41
  INVALID_IMAGE = :invalid_image
@@ -25,7 +25,8 @@ module OpenAI
25
25
  # @!attribute verbosity
26
26
  # Constrains the verbosity of the model's response. Lower values will result in
27
27
  # more concise responses, while higher values will result in more verbose
28
- # responses. Currently supported values are `low`, `medium`, and `high`.
28
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
29
+ # default is `medium`.
29
30
  #
30
31
  # @return [Symbol, OpenAI::Models::Responses::ResponseTextConfig::Verbosity, nil]
31
32
  optional :verbosity, enum: -> { OpenAI::Responses::ResponseTextConfig::Verbosity }, nil?: true
@@ -46,7 +47,8 @@ module OpenAI
46
47
 
47
48
  # Constrains the verbosity of the model's response. Lower values will result in
48
49
  # more concise responses, while higher values will result in more verbose
49
- # responses. Currently supported values are `low`, `medium`, and `high`.
50
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
51
+ # default is `medium`.
50
52
  #
51
53
  # @see OpenAI::Models::Responses::ResponseTextConfig#verbosity
52
54
  module Verbosity
@@ -161,7 +161,7 @@ module OpenAI
161
161
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
162
162
  #
163
163
  # @return [String, nil]
164
- optional :prompt_cache_key, String
164
+ optional :prompt_cache_key, String, nil?: true
165
165
 
166
166
  # @!attribute prompt_cache_options
167
167
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -221,7 +221,7 @@ module OpenAI
221
221
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
222
222
  #
223
223
  # @return [String, nil]
224
- optional :safety_identifier, String
224
+ optional :safety_identifier, String, nil?: true
225
225
 
226
226
  # @!attribute service_tier
227
227
  # Specifies the processing type used for serving the request.
@@ -394,7 +394,7 @@ module OpenAI
394
394
  #
395
395
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
396
396
  #
397
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
397
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
398
398
  #
399
399
  # @param prompt_cache_options [OpenAI::Models::Responses::ResponsesClientEvent::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
400
400
  #
@@ -402,7 +402,7 @@ module OpenAI
402
402
  #
403
403
  # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
404
404
  #
405
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
405
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
406
406
  #
407
407
  # @param service_tier [Symbol, OpenAI::Models::Responses::ResponsesClientEvent::ServiceTier, nil] Specifies the processing type used for serving the request.
408
408
  #
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class LiveCallIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique ID of the event.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The Unix timestamp (in seconds) of when the event was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created_at, Integer
18
+
19
+ # @!attribute data
20
+ # Event data payload.
21
+ #
22
+ # @return [OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data]
23
+ required :data, -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Data }
24
+
25
+ # @!attribute type
26
+ # The type of the event. Always `live.call.incoming`.
27
+ #
28
+ # @return [Symbol, :"live.call.incoming"]
29
+ required :type, const: :"live.call.incoming"
30
+
31
+ # @!attribute object
32
+ # The object of the event. Always `event`.
33
+ #
34
+ # @return [Symbol, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Object, nil]
35
+ optional :object, enum: -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Object }
36
+
37
+ # @!method initialize(id:, created_at:, data:, object: nil, type: :"live.call.incoming")
38
+ # Some parameter documentations has been truncated, see
39
+ # {OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent} for more details.
40
+ #
41
+ # Sent when an incoming API SIP session is available for Live acceptance. The same
42
+ # pending session can also emit `realtime.call.incoming`; the first successful
43
+ # Realtime or Live accept endpoint selects the runtime surface.
44
+ #
45
+ # @param id [String] The unique ID of the event.
46
+ #
47
+ # @param created_at [Integer] The Unix timestamp (in seconds) of when the event was created.
48
+ #
49
+ # @param data [OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data] Event data payload.
50
+ #
51
+ # @param object [Symbol, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Object] The object of the event. Always `event`.
52
+ #
53
+ # @param type [Symbol, :"live.call.incoming"] The type of the event. Always `live.call.incoming`.
54
+
55
+ # @see OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent#data
56
+ class Data < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute session_id
58
+ # The Transceiver `rtc_...` ID of the pending SIP session. The same value appears
59
+ # as `call_id` in `realtime.call.incoming`.
60
+ #
61
+ # @return [String]
62
+ required :session_id, String
63
+
64
+ # @!attribute sip_headers
65
+ # Headers from the SIP Invite.
66
+ #
67
+ # @return [Array<OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader>]
68
+ required :sip_headers,
69
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader] }
70
+
71
+ # @!method initialize(session_id:, sip_headers:)
72
+ # Some parameter documentations has been truncated, see
73
+ # {OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data} for more details.
74
+ #
75
+ # Event data payload.
76
+ #
77
+ # @param session_id [String] The Transceiver `rtc_...` ID of the pending SIP session. The same
78
+ #
79
+ # @param sip_headers [Array<OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader>] Headers from the SIP Invite.
80
+
81
+ class SipHeader < OpenAI::Internal::Type::BaseModel
82
+ # @!attribute name
83
+ # Name of the SIP Header.
84
+ #
85
+ # @return [String]
86
+ required :name, String
87
+
88
+ # @!attribute value
89
+ # Value of the SIP Header.
90
+ #
91
+ # @return [String]
92
+ required :value, String
93
+
94
+ # @!method initialize(name:, value:)
95
+ # Some parameter documentations has been truncated, see
96
+ # {OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader} for
97
+ # more details.
98
+ #
99
+ # A header from the SIP Invite.
100
+ #
101
+ # @param name [String] Name of the SIP Header.
102
+ #
103
+ # @param value [String] Value of the SIP Header.
104
+ end
105
+ end
106
+
107
+ # The object of the event. Always `event`.
108
+ #
109
+ # @see OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent#object
110
+ module Object
111
+ extend OpenAI::Internal::Type::Enum
112
+
113
+ EVENT = :event
114
+
115
+ # @!method self.values
116
+ # @return [Array<Symbol>]
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -38,7 +38,9 @@ module OpenAI
38
38
  # Some parameter documentations has been truncated, see
39
39
  # {OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent} for more details.
40
40
  #
41
- # Sent when Realtime API Receives a incoming SIP call.
41
+ # Sent when an incoming API SIP session is available for Realtime acceptance. The
42
+ # same pending session can also emit `live.call.incoming`; the first successful
43
+ # Realtime or Live accept endpoint selects the runtime surface.
42
44
  #
43
45
  # @param id [String] The unique ID of the event.
44
46
  #
@@ -53,7 +55,8 @@ module OpenAI
53
55
  # @see OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent#data
54
56
  class Data < OpenAI::Internal::Type::BaseModel
55
57
  # @!attribute call_id
56
- # The unique ID of this call.
58
+ # The Transceiver `rtc_...` ID of the pending SIP session. The same value appears
59
+ # as `session_id` in `live.call.incoming`.
57
60
  #
58
61
  # @return [String]
59
62
  required :call_id, String
@@ -72,7 +75,7 @@ module OpenAI
72
75
  #
73
76
  # Event data payload.
74
77
  #
75
- # @param call_id [String] The unique ID of this call.
78
+ # @param call_id [String] The Transceiver `rtc_...` ID of the pending SIP session. The same
76
79
  #
77
80
  # @param sip_headers [Array<OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader>] Headers from the SIP Invite.
78
81
 
@@ -39,7 +39,14 @@ module OpenAI
39
39
  # Sent when a fine-tuning job has succeeded.
40
40
  variant :"fine_tuning.job.succeeded", -> { OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent }
41
41
 
42
- # Sent when Realtime API Receives a incoming SIP call.
42
+ # Sent when an incoming API SIP session is available for Live acceptance. The
43
+ # same pending session can also emit `realtime.call.incoming`; the first
44
+ # successful Realtime or Live accept endpoint selects the runtime surface.
45
+ variant :"live.call.incoming", -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent }
46
+
47
+ # Sent when an incoming API SIP session is available for Realtime acceptance.
48
+ # The same pending session can also emit `live.call.incoming`; the first
49
+ # successful Realtime or Live accept endpoint selects the runtime surface.
43
50
  variant :"realtime.call.incoming", -> { OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent }
44
51
 
45
52
  # Sent when a background response has been cancelled.
@@ -55,7 +62,7 @@ module OpenAI
55
62
  variant :"response.incomplete", -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent }
56
63
 
57
64
  # @!method self.variants
58
- # @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
65
+ # @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
59
66
  end
60
67
  end
61
68
  end
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class Projects
8
+ class SpendLimit
9
+ # Get a project's hard spend limit.
10
+ #
11
+ # @overload retrieve(project_id, request_options: {})
12
+ #
13
+ # @param project_id [String] The ID of the project whose hard spend limit is being managed.
14
+ #
15
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit]
18
+ #
19
+ # @see OpenAI::Models::Admin::Organization::Projects::SpendLimitRetrieveParams
20
+ def retrieve(project_id, params = {})
21
+ @client.request(
22
+ method: :get,
23
+ path: ["organization/projects/%1$s/spend_limit", project_id],
24
+ model: OpenAI::Admin::Organization::Projects::ProjectSpendLimit,
25
+ security: {admin_api_key_auth: true},
26
+ options: params[:request_options]
27
+ )
28
+ end
29
+
30
+ # Some parameter documentations has been truncated, see
31
+ # {OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams} for more
32
+ # details.
33
+ #
34
+ # Create or replace a project's hard spend limit.
35
+ #
36
+ # @overload update(project_id, currency:, interval:, threshold_amount:, request_options: {})
37
+ #
38
+ # @param project_id [String] The ID of the project whose hard spend limit is being managed.
39
+ #
40
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::Currency] The currency for the threshold amount. Currently, only `USD` is supported.
41
+ #
42
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::Interval] The time interval for evaluating spend against the threshold. Currently, only `m
43
+ #
44
+ # @param threshold_amount [Integer] The hard spend limit amount, in cents.
45
+ #
46
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
47
+ #
48
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit]
49
+ #
50
+ # @see OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams
51
+ def update(project_id, params)
52
+ parsed, options = OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams.dump_request(params)
53
+ @client.request(
54
+ method: :post,
55
+ path: ["organization/projects/%1$s/spend_limit", project_id],
56
+ body: parsed,
57
+ model: OpenAI::Admin::Organization::Projects::ProjectSpendLimit,
58
+ security: {admin_api_key_auth: true},
59
+ options: options
60
+ )
61
+ end
62
+
63
+ # Delete a project's hard spend limit.
64
+ #
65
+ # @overload delete(project_id, request_options: {})
66
+ #
67
+ # @param project_id [String] The ID of the project whose hard spend limit is being managed.
68
+ #
69
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
70
+ #
71
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimitDeleted]
72
+ #
73
+ # @see OpenAI::Models::Admin::Organization::Projects::SpendLimitDeleteParams
74
+ def delete(project_id, params = {})
75
+ @client.request(
76
+ method: :delete,
77
+ path: ["organization/projects/%1$s/spend_limit", project_id],
78
+ model: OpenAI::Admin::Organization::Projects::ProjectSpendLimitDeleted,
79
+ security: {admin_api_key_auth: true},
80
+ options: params[:request_options]
81
+ )
82
+ end
83
+
84
+ # @api private
85
+ #
86
+ # @param client [OpenAI::Client]
87
+ def initialize(client:)
88
+ @client = client
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -32,6 +32,9 @@ module OpenAI
32
32
  # @return [OpenAI::Resources::Admin::Organization::Projects::DataRetention]
33
33
  attr_reader :data_retention
34
34
 
35
+ # @return [OpenAI::Resources::Admin::Organization::Projects::SpendLimit]
36
+ attr_reader :spend_limit
37
+
35
38
  # @return [OpenAI::Resources::Admin::Organization::Projects::SpendAlerts]
36
39
  attr_reader :spend_alerts
37
40
 
@@ -189,6 +192,7 @@ module OpenAI
189
192
  @groups = OpenAI::Resources::Admin::Organization::Projects::Groups.new(client: client)
190
193
  @roles = OpenAI::Resources::Admin::Organization::Projects::Roles.new(client: client)
191
194
  @data_retention = OpenAI::Resources::Admin::Organization::Projects::DataRetention.new(client: client)
195
+ @spend_limit = OpenAI::Resources::Admin::Organization::Projects::SpendLimit.new(client: client)
192
196
  @spend_alerts = OpenAI::Resources::Admin::Organization::Projects::SpendAlerts.new(client: client)
193
197
  @certificates = OpenAI::Resources::Admin::Organization::Projects::Certificates.new(client: client)
194
198
  end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class SpendLimit
8
+ # Get the organization's hard spend limit.
9
+ #
10
+ # @overload retrieve(request_options: {})
11
+ #
12
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [OpenAI::Models::Admin::Organization::OrganizationSpendLimit]
15
+ #
16
+ # @see OpenAI::Models::Admin::Organization::SpendLimitRetrieveParams
17
+ def retrieve(params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: "organization/spend_limit",
21
+ model: OpenAI::Admin::Organization::OrganizationSpendLimit,
22
+ security: {admin_api_key_auth: true},
23
+ options: params[:request_options]
24
+ )
25
+ end
26
+
27
+ # Some parameter documentations has been truncated, see
28
+ # {OpenAI::Models::Admin::Organization::SpendLimitUpdateParams} for more details.
29
+ #
30
+ # Create or replace the organization's hard spend limit.
31
+ #
32
+ # @overload update(currency:, interval:, threshold_amount:, request_options: {})
33
+ #
34
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::Currency] The currency for the threshold amount. Currently, only `USD` is supported.
35
+ #
36
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::Interval] The time interval for evaluating spend against the threshold. Currently, only `m
37
+ #
38
+ # @param threshold_amount [Integer] The hard spend limit amount, in cents.
39
+ #
40
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
41
+ #
42
+ # @return [OpenAI::Models::Admin::Organization::OrganizationSpendLimit]
43
+ #
44
+ # @see OpenAI::Models::Admin::Organization::SpendLimitUpdateParams
45
+ def update(params)
46
+ parsed, options = OpenAI::Admin::Organization::SpendLimitUpdateParams.dump_request(params)
47
+ @client.request(
48
+ method: :post,
49
+ path: "organization/spend_limit",
50
+ body: parsed,
51
+ model: OpenAI::Admin::Organization::OrganizationSpendLimit,
52
+ security: {admin_api_key_auth: true},
53
+ options: options
54
+ )
55
+ end
56
+
57
+ # Delete the organization's hard spend limit.
58
+ #
59
+ # @overload delete(request_options: {})
60
+ #
61
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
62
+ #
63
+ # @return [OpenAI::Models::Admin::Organization::OrganizationSpendLimitDeleted]
64
+ #
65
+ # @see OpenAI::Models::Admin::Organization::SpendLimitDeleteParams
66
+ def delete(params = {})
67
+ @client.request(
68
+ method: :delete,
69
+ path: "organization/spend_limit",
70
+ model: OpenAI::Admin::Organization::OrganizationSpendLimitDeleted,
71
+ security: {admin_api_key_auth: true},
72
+ options: params[:request_options]
73
+ )
74
+ end
75
+
76
+ # @api private
77
+ #
78
+ # @param client [OpenAI::Client]
79
+ def initialize(client:)
80
+ @client = client
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -29,6 +29,9 @@ module OpenAI
29
29
  # @return [OpenAI::Resources::Admin::Organization::DataRetention]
30
30
  attr_reader :data_retention
31
31
 
32
+ # @return [OpenAI::Resources::Admin::Organization::SpendLimit]
33
+ attr_reader :spend_limit
34
+
32
35
  # @return [OpenAI::Resources::Admin::Organization::SpendAlerts]
33
36
  attr_reader :spend_alerts
34
37
 
@@ -51,6 +54,7 @@ module OpenAI
51
54
  @groups = OpenAI::Resources::Admin::Organization::Groups.new(client: client)
52
55
  @roles = OpenAI::Resources::Admin::Organization::Roles.new(client: client)
53
56
  @data_retention = OpenAI::Resources::Admin::Organization::DataRetention.new(client: client)
57
+ @spend_limit = OpenAI::Resources::Admin::Organization::SpendLimit.new(client: client)
54
58
  @spend_alerts = OpenAI::Resources::Admin::Organization::SpendAlerts.new(client: client)
55
59
  @certificates = OpenAI::Resources::Admin::Organization::Certificates.new(client: client)
56
60
  @projects = OpenAI::Resources::Admin::Organization::Projects.new(client: client)
@@ -16,22 +16,26 @@ module OpenAI
16
16
  # Returns a transcription object in `json`, `diarized_json`, or `verbose_json`
17
17
  # format, or a stream of transcript events.
18
18
  #
19
- # @overload create(file:, model:, chunking_strategy: nil, include: nil, known_speaker_names: nil, known_speaker_references: nil, language: nil, prompt: nil, response_format: nil, temperature: nil, timestamp_granularities: nil, request_options: {})
19
+ # @overload create(file:, model:, chunking_strategy: nil, include: nil, keywords: nil, known_speaker_names: nil, known_speaker_references: nil, language: nil, languages: nil, prompt: nil, response_format: nil, temperature: nil, timestamp_granularities: nil, request_options: {})
20
20
  #
21
21
  # @param file [Pathname, StringIO, IO, String, OpenAI::FilePart] The audio file object (not file name) to transcribe, in one of these formats: fl
22
22
  #
23
- # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-4o-transcribe`, `gpt-4o-mini-transc
23
+ # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`, `
24
24
  #
25
25
  # @param chunking_strategy [Symbol, :auto, OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig, nil] Controls how the audio is cut into chunks. When set to `"auto"`, the server firs
26
26
  #
27
27
  # @param include [Array<Symbol, OpenAI::Models::Audio::TranscriptionInclude>] Additional information to include in the transcription response.
28
28
  #
29
+ # @param keywords [Array<String>] Words or phrases to guide transcription of the input audio. Supported by `gpt-tr
30
+ #
29
31
  # @param known_speaker_names [Array<String>] Optional list of speaker names that correspond to the audio samples provided in
30
32
  #
31
33
  # @param known_speaker_references [Array<String>] Optional list of audio samples (as [data URLs](https://developer.mozilla.org/en-
32
34
  #
33
35
  # @param language [String] The language of the input audio. Supplying the input language in [ISO-639-1](htt
34
36
  #
37
+ # @param languages [Array<String>] Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/w
38
+ #
35
39
  # @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
36
40
  #
37
41
  # @param response_format [Symbol, OpenAI::Models::AudioResponseFormat] The format of the output, in one of these options: `json`, `text`, `srt`, `verbo
@@ -73,22 +77,26 @@ module OpenAI
73
77
  # Returns a transcription object in `json`, `diarized_json`, or `verbose_json`
74
78
  # format, or a stream of transcript events.
75
79
  #
76
- # @overload create_streaming(file:, model:, chunking_strategy: nil, include: nil, known_speaker_names: nil, known_speaker_references: nil, language: nil, prompt: nil, response_format: nil, temperature: nil, timestamp_granularities: nil, request_options: {})
80
+ # @overload create_streaming(file:, model:, chunking_strategy: nil, include: nil, keywords: nil, known_speaker_names: nil, known_speaker_references: nil, language: nil, languages: nil, prompt: nil, response_format: nil, temperature: nil, timestamp_granularities: nil, request_options: {})
77
81
  #
78
82
  # @param file [Pathname, StringIO, IO, String, OpenAI::FilePart] The audio file object (not file name) to transcribe, in one of these formats: fl
79
83
  #
80
- # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-4o-transcribe`, `gpt-4o-mini-transc
84
+ # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`, `
81
85
  #
82
86
  # @param chunking_strategy [Symbol, :auto, OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig, nil] Controls how the audio is cut into chunks. When set to `"auto"`, the server firs
83
87
  #
84
88
  # @param include [Array<Symbol, OpenAI::Models::Audio::TranscriptionInclude>] Additional information to include in the transcription response.
85
89
  #
90
+ # @param keywords [Array<String>] Words or phrases to guide transcription of the input audio. Supported by `gpt-tr
91
+ #
86
92
  # @param known_speaker_names [Array<String>] Optional list of speaker names that correspond to the audio samples provided in
87
93
  #
88
94
  # @param known_speaker_references [Array<String>] Optional list of audio samples (as [data URLs](https://developer.mozilla.org/en-
89
95
  #
90
96
  # @param language [String] The language of the input audio. Supplying the input language in [ISO-639-1](htt
91
97
  #
98
+ # @param languages [Array<String>] Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/w
99
+ #
92
100
  # @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
93
101
  #
94
102
  # @param response_format [Symbol, OpenAI::Models::AudioResponseFormat] The format of the output, in one of these options: `json`, `text`, `srt`, `verbo
@@ -59,7 +59,7 @@ module OpenAI
59
59
  #
60
60
  # @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Body param: Reference to a prompt template and its variables.
61
61
  #
62
- # @param prompt_cache_key [String] Body param: Used by OpenAI to cache responses for similar requests to optimize y
62
+ # @param prompt_cache_key [String, nil] Body param: Used by OpenAI to cache responses for similar requests to optimize y
63
63
  #
64
64
  # @param prompt_cache_options [OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions] Body param: Options for prompt caching. Supported for `gpt-5.6` and later models
65
65
  #
@@ -67,7 +67,7 @@ module OpenAI
67
67
  #
68
68
  # @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] Body param: **gpt-5 and o-series models only**
69
69
  #
70
- # @param safety_identifier [String] Body param: A stable identifier used to help detect users of your application th
70
+ # @param safety_identifier [String, nil] Body param: A stable identifier used to help detect users of your application th
71
71
  #
72
72
  # @param service_tier [Symbol, OpenAI::Models::Beta::ResponseCreateParams::ServiceTier, nil] Body param: Specifies the processing type used for serving the request.
73
73
  #
@@ -165,7 +165,7 @@ module OpenAI
165
165
  #
166
166
  # @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Body param: Reference to a prompt template and its variables.
167
167
  #
168
- # @param prompt_cache_key [String] Body param: Used by OpenAI to cache responses for similar requests to optimize y
168
+ # @param prompt_cache_key [String, nil] Body param: Used by OpenAI to cache responses for similar requests to optimize y
169
169
  #
170
170
  # @param prompt_cache_options [OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions] Body param: Options for prompt caching. Supported for `gpt-5.6` and later models
171
171
  #
@@ -173,7 +173,7 @@ module OpenAI
173
173
  #
174
174
  # @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] Body param: **gpt-5 and o-series models only**
175
175
  #
176
- # @param safety_identifier [String] Body param: A stable identifier used to help detect users of your application th
176
+ # @param safety_identifier [String, nil] Body param: A stable identifier used to help detect users of your application th
177
177
  #
178
178
  # @param service_tier [Symbol, OpenAI::Models::Beta::ResponseCreateParams::ServiceTier, nil] Body param: Specifies the processing type used for serving the request.
179
179
  #