openai 0.113.0 → 0.115.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +17 -2
  4. data/docs/architecture/security-model.md +11 -16
  5. data/examples/responses/websocket_workflows.rb +78 -3
  6. data/lib/openai/auth/subject_token_providers/azure_managed_identity_token_provider.rb +10 -8
  7. data/lib/openai/auth/subject_token_providers/gcp_id_token_provider.rb +8 -7
  8. data/lib/openai/helpers/chat/tool_runner.rb +1 -1
  9. data/lib/openai/helpers/live/websocket.rb +31 -0
  10. data/lib/openai/helpers/realtime/connection.rb +33 -0
  11. data/lib/openai/helpers/realtime/connection_manager.rb +1 -0
  12. data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +5 -0
  13. data/lib/openai/helpers/realtime/recovery.rb +5 -1
  14. data/lib/openai/helpers/realtime/translation.rb +5 -0
  15. data/lib/openai/helpers/realtime/transports/async_websocket.rb +19 -0
  16. data/lib/openai/helpers/responses_websocket/connection.rb +53 -15
  17. data/lib/openai/helpers/responses_websocket/connection_manager.rb +1 -0
  18. data/lib/openai/helpers/responses_websocket/connection_resources.rb +1 -1
  19. data/lib/openai/helpers/structured_output/response_parser.rb +1 -0
  20. data/lib/openai/helpers/structured_output.rb +58 -0
  21. data/lib/openai/helpers/websocket/connection_manager.rb +11 -0
  22. data/lib/openai/helpers/websocket/resource.rb +1 -0
  23. data/lib/openai/helpers/websocket/typed_connection.rb +1 -0
  24. data/lib/openai/internal/type/array_of.rb +1 -1
  25. data/lib/openai/internal/type/hash_of.rb +1 -1
  26. data/lib/openai/internal/type/request_parameters.rb +2 -1
  27. data/lib/openai/internal/type/union.rb +18 -6
  28. data/lib/openai/models/admin/organization/external_key.rb +169 -0
  29. data/lib/openai/models/admin/organization/external_key_create_params.rb +311 -0
  30. data/lib/openai/models/admin/organization/external_key_delete_params.rb +24 -0
  31. data/lib/openai/models/admin/organization/external_key_list_params.rb +69 -0
  32. data/lib/openai/models/admin/organization/external_key_retrieve_params.rb +24 -0
  33. data/lib/openai/models/admin/organization/external_key_validate_params.rb +24 -0
  34. data/lib/openai/models/admin/organization/external_key_validate_response.rb +20 -0
  35. data/lib/openai/models/audio/speech_model.rb +12 -0
  36. data/lib/openai/models/audio_model.rb +15 -0
  37. data/lib/openai/models/beta/agent.rb +49 -1
  38. data/lib/openai/models/beta/agent_create_params.rb +51 -1
  39. data/lib/openai/models/beta/agent_session.rb +75 -2
  40. data/lib/openai/models/beta/agent_update_params.rb +62 -1
  41. data/lib/openai/models/beta/agents/session_create_params.rb +94 -2
  42. data/lib/openai/models/beta/agents/session_list_params.rb +16 -1
  43. data/lib/openai/models/beta/agents/session_update_params.rb +50 -5
  44. data/lib/openai/models/beta/assistant_update_params.rb +18 -0
  45. data/lib/openai/models/beta/beta_response.rb +224 -1
  46. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +64 -3
  47. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +64 -4
  48. data/lib/openai/models/beta/beta_response_input_file.rb +9 -9
  49. data/lib/openai/models/beta/beta_response_input_file_content.rb +9 -9
  50. data/lib/openai/models/beta/beta_response_input_image.rb +9 -9
  51. data/lib/openai/models/beta/beta_response_input_image_content.rb +9 -9
  52. data/lib/openai/models/beta/beta_response_input_item.rb +2 -3
  53. data/lib/openai/models/beta/beta_response_input_text.rb +9 -9
  54. data/lib/openai/models/beta/beta_response_input_text_content.rb +9 -9
  55. data/lib/openai/models/beta/beta_response_item.rb +11 -11
  56. data/lib/openai/models/beta/beta_response_output_item.rb +9 -9
  57. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -6
  58. data/lib/openai/models/beta/beta_responses_client_event.rb +20 -1
  59. data/lib/openai/models/beta/beta_tool.rb +6 -6
  60. data/lib/openai/models/beta/response_compact_params.rb +6 -0
  61. data/lib/openai/models/beta/response_create_params.rb +6 -0
  62. data/lib/openai/models/chat/chat_completion_content_part.rb +9 -9
  63. data/lib/openai/models/chat/chat_completion_content_part_image.rb +9 -9
  64. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +9 -9
  65. data/lib/openai/models/chat/chat_completion_content_part_text.rb +9 -9
  66. data/lib/openai/models/chat_model.rb +6 -0
  67. data/lib/openai/models/conversations/computer_screenshot_content.rb +9 -9
  68. data/lib/openai/models/conversations/conversation_item.rb +2 -2
  69. data/lib/openai/models/image_edit_params.rb +46 -25
  70. data/lib/openai/models/live/fork_server_event.rb +43 -3
  71. data/lib/openai/models/live/server_event.rb +43 -3
  72. data/lib/openai/models/live/sideband_client_event.rb +40 -1
  73. data/lib/openai/models/live/sideband_server_event.rb +43 -3
  74. data/lib/openai/models/realtime/audio_transcription.rb +15 -0
  75. data/lib/openai/models/realtime/conversation_item_added.rb +2 -2
  76. data/lib/openai/models/realtime/conversation_item_create_event.rb +2 -2
  77. data/lib/openai/models/realtime/conversation_item_created_event.rb +2 -2
  78. data/lib/openai/models/realtime/conversation_item_done.rb +2 -2
  79. data/lib/openai/models/realtime/realtime_response.rb +2 -2
  80. data/lib/openai/models/realtime/realtime_response_create_params.rb +2 -2
  81. data/lib/openai/models/realtime/realtime_server_event.rb +2 -2
  82. data/lib/openai/models/realtime/realtime_session.rb +18 -0
  83. data/lib/openai/models/realtime/realtime_session_create_request.rb +18 -0
  84. data/lib/openai/models/realtime/realtime_session_create_response.rb +18 -0
  85. data/lib/openai/models/realtime/response_output_item_added_event.rb +2 -2
  86. data/lib/openai/models/realtime/response_output_item_done_event.rb +2 -2
  87. data/lib/openai/models/responses/response.rb +221 -1
  88. data/lib/openai/models/responses/response_compact_params.rb +6 -0
  89. data/lib/openai/models/responses/response_configuration_update_item.rb +50 -3
  90. data/lib/openai/models/responses/response_configuration_update_item_param.rb +50 -4
  91. data/lib/openai/models/responses/response_input_file.rb +9 -9
  92. data/lib/openai/models/responses/response_input_file_content.rb +9 -9
  93. data/lib/openai/models/responses/response_input_image.rb +9 -9
  94. data/lib/openai/models/responses/response_input_image_content.rb +9 -9
  95. data/lib/openai/models/responses/response_input_item.rb +2 -3
  96. data/lib/openai/models/responses/response_input_text.rb +9 -9
  97. data/lib/openai/models/responses/response_input_text_content.rb +9 -9
  98. data/lib/openai/models/responses/response_item.rb +2 -2
  99. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -6
  100. data/lib/openai/models/responses/responses_client_event.rb +14 -1
  101. data/lib/openai/models/responses/tool.rb +6 -6
  102. data/lib/openai/net_http_client.rb +6 -0
  103. data/lib/openai/providers/vertex.rb +0 -10
  104. data/lib/openai/resources/admin/organization/external_keys.rb +132 -0
  105. data/lib/openai/resources/admin/organization.rb +4 -0
  106. data/lib/openai/resources/audio/speech.rb +8 -0
  107. data/lib/openai/resources/audio/translations.rb +8 -0
  108. data/lib/openai/resources/beta/agents/sessions.rb +22 -6
  109. data/lib/openai/resources/beta/agents.rb +17 -2
  110. data/lib/openai/resources/images.rb +36 -18
  111. data/lib/openai/version.rb +1 -1
  112. data/lib/openai.rb +8 -0
  113. data/rbi/openai/helpers/live/websocket.rbi +1 -12
  114. data/rbi/openai/helpers/realtime/connection.rbi +5 -0
  115. data/rbi/openai/helpers/realtime/transports/async_websocket.rbi +5 -0
  116. data/rbi/openai/helpers/responses_websocket/connection.rbi +7 -2
  117. data/rbi/openai/helpers/structured_output.rbi +10 -0
  118. data/rbi/openai/internal/type/array_of.rbi +1 -1
  119. data/rbi/openai/internal/type/hash_of.rbi +1 -1
  120. data/rbi/openai/internal/type/union.rbi +5 -0
  121. data/rbi/openai/models/admin/organization/external_key.rbi +301 -0
  122. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +532 -0
  123. data/rbi/openai/models/admin/organization/external_key_delete_params.rbi +57 -0
  124. data/rbi/openai/models/admin/organization/external_key_list_params.rbi +129 -0
  125. data/rbi/openai/models/admin/organization/external_key_retrieve_params.rbi +57 -0
  126. data/rbi/openai/models/admin/organization/external_key_validate_params.rbi +57 -0
  127. data/rbi/openai/models/admin/organization/external_key_validate_response.rbi +50 -0
  128. data/rbi/openai/models/beta/agent.rbi +103 -1
  129. data/rbi/openai/models/beta/agent_create_params.rbi +109 -0
  130. data/rbi/openai/models/beta/agent_session.rbi +136 -3
  131. data/rbi/openai/models/beta/agent_update_params.rbi +120 -0
  132. data/rbi/openai/models/beta/agents/session_create_params.rbi +153 -0
  133. data/rbi/openai/models/beta/agents/session_list_params.rbi +19 -0
  134. data/rbi/openai/models/beta/agents/session_update_params.rbi +94 -6
  135. data/rbi/openai/models/beta/beta_response.rbi +394 -0
  136. data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +113 -3
  137. data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +125 -4
  138. data/rbi/openai/models/beta/beta_response_input_file.rbi +9 -9
  139. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +9 -9
  140. data/rbi/openai/models/beta/beta_response_input_image.rbi +9 -9
  141. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +9 -9
  142. data/rbi/openai/models/beta/beta_response_input_text.rbi +9 -9
  143. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +9 -9
  144. data/rbi/openai/models/beta/beta_response_item.rbi +9 -9
  145. data/rbi/openai/models/beta/beta_response_output_item.rbi +9 -9
  146. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -6
  147. data/rbi/openai/models/beta/beta_responses_client_event.rbi +17 -0
  148. data/rbi/openai/models/beta/beta_tool.rbi +6 -6
  149. data/rbi/openai/models/chat/chat_completion_content_part.rbi +9 -9
  150. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +9 -9
  151. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +9 -9
  152. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +9 -9
  153. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +9 -9
  154. data/rbi/openai/models/decision_create_params.rbi +4 -1
  155. data/rbi/openai/models/image_edit_params.rbi +49 -24
  156. data/rbi/openai/models/live/fork_server_event.rbi +65 -1
  157. data/rbi/openai/models/live/server_event.rbi +65 -1
  158. data/rbi/openai/models/live/sideband_client_event.rbi +60 -0
  159. data/rbi/openai/models/live/sideband_server_event.rbi +65 -1
  160. data/rbi/openai/models/realtime/conversation_item_added.rbi +6 -3
  161. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +6 -3
  162. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +6 -3
  163. data/rbi/openai/models/realtime/conversation_item_done.rbi +6 -3
  164. data/rbi/openai/models/realtime/realtime_response.rbi +8 -4
  165. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +8 -4
  166. data/rbi/openai/models/realtime/realtime_server_event.rbi +6 -3
  167. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +6 -3
  168. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +6 -3
  169. data/rbi/openai/models/responses/response.rbi +394 -0
  170. data/rbi/openai/models/responses/response_configuration_update_item.rbi +76 -3
  171. data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +74 -4
  172. data/rbi/openai/models/responses/response_input_file.rbi +9 -9
  173. data/rbi/openai/models/responses/response_input_file_content.rbi +9 -9
  174. data/rbi/openai/models/responses/response_input_image.rbi +9 -9
  175. data/rbi/openai/models/responses/response_input_image_content.rbi +9 -9
  176. data/rbi/openai/models/responses/response_input_text.rbi +9 -9
  177. data/rbi/openai/models/responses/response_input_text_content.rbi +9 -9
  178. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -6
  179. data/rbi/openai/models/responses/responses_client_event.rbi +17 -0
  180. data/rbi/openai/models/responses/tool.rbi +6 -6
  181. data/rbi/openai/net_http_client.rbi +5 -0
  182. data/rbi/openai/resources/admin/organization/external_keys.rbi +86 -0
  183. data/rbi/openai/resources/admin/organization.rbi +3 -0
  184. data/rbi/openai/resources/audio/speech.rbi +8 -0
  185. data/rbi/openai/resources/audio/translations.rbi +6 -0
  186. data/rbi/openai/resources/beta/agents/sessions.rbi +18 -2
  187. data/rbi/openai/resources/beta/agents.rbi +15 -0
  188. data/rbi/openai/resources/images.rbi +34 -16
  189. data/rbi/openai/resources/responses.rbi +2 -0
  190. data/realtime.md +6 -0
  191. data/responses-websocket.md +53 -0
  192. data/sig/openai/helpers/live/websocket.rbs +1 -9
  193. data/sig/openai/helpers/realtime/connection.rbs +3 -0
  194. data/sig/openai/helpers/realtime/transports/async_websocket.rbs +3 -0
  195. data/sig/openai/helpers/responses_websocket/connection.rbs +7 -1
  196. data/sig/openai/helpers/structured_output.rbs +9 -0
  197. data/sig/openai/internal/type/union.rbs +4 -0
  198. data/sig/openai/models/admin/organization/external_key.rbs +186 -0
  199. data/sig/openai/models/admin/organization/external_key_create_params.rbs +423 -0
  200. data/sig/openai/models/admin/organization/external_key_delete_params.rbs +27 -0
  201. data/sig/openai/models/admin/organization/external_key_list_params.rbs +81 -0
  202. data/sig/openai/models/admin/organization/external_key_retrieve_params.rbs +27 -0
  203. data/sig/openai/models/admin/organization/external_key_validate_params.rbs +27 -0
  204. data/sig/openai/models/admin/organization/external_key_validate_response.rbs +17 -0
  205. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +72 -2
  206. data/sig/openai/models/audio/speech_create_params.rbs +15 -2
  207. data/sig/openai/models/audio/transcription_create_params.rbs +30 -2
  208. data/sig/openai/models/audio/voice_create_params.rbs +47 -2
  209. data/sig/openai/models/beta/agent.rbs +54 -2
  210. data/sig/openai/models/beta/agent_create_params.rbs +54 -0
  211. data/sig/openai/models/beta/agent_session.rbs +82 -3
  212. data/sig/openai/models/beta/agent_update_params.rbs +64 -0
  213. data/sig/openai/models/beta/agents/session_create_params.rbs +91 -0
  214. data/sig/openai/models/beta/agents/session_list_params.rbs +20 -0
  215. data/sig/openai/models/beta/agents/session_update_params.rbs +48 -6
  216. data/sig/openai/models/beta/assistant_create_params.rbs +5 -2
  217. data/sig/openai/models/beta/beta_response.rbs +223 -0
  218. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +58 -2
  219. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +58 -2
  220. data/sig/openai/models/beta/beta_response_input_file.rbs +9 -9
  221. data/sig/openai/models/beta/beta_response_input_file_content.rbs +6 -6
  222. data/sig/openai/models/beta/beta_response_input_image.rbs +9 -9
  223. data/sig/openai/models/beta/beta_response_input_image_content.rbs +6 -6
  224. data/sig/openai/models/beta/beta_response_input_text.rbs +9 -9
  225. data/sig/openai/models/beta/beta_response_input_text_content.rbs +6 -6
  226. data/sig/openai/models/beta/beta_response_item.rbs +9 -9
  227. data/sig/openai/models/beta/beta_response_output_item.rbs +9 -9
  228. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +4 -4
  229. data/sig/openai/models/beta/beta_responses_client_event.rbs +17 -0
  230. data/sig/openai/models/beta/beta_tool.rbs +4 -4
  231. data/sig/openai/models/beta/response_create_params.rbs +5 -2
  232. data/sig/openai/models/beta/responses/input_token_count_params.rbs +10 -2
  233. data/sig/openai/models/beta/thread_create_and_run_params.rbs +11 -5
  234. data/sig/openai/models/beta/thread_create_params.rbs +11 -5
  235. data/sig/openai/models/beta/threads/message_create_params.rbs +6 -3
  236. data/sig/openai/models/beta/threads/run_create_params.rbs +6 -3
  237. data/sig/openai/models/chat/chat_completion_content_part.rbs +9 -9
  238. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +9 -9
  239. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +9 -9
  240. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +9 -9
  241. data/sig/openai/models/conversations/computer_screenshot_content.rbs +9 -9
  242. data/sig/openai/models/decision_create_params.rbs +27 -2
  243. data/sig/openai/models/eval_create_params.rbs +25 -4
  244. data/sig/openai/models/evals/run_create_params.rbs +52 -8
  245. data/sig/openai/models/image_edit_params.rbs +47 -16
  246. data/sig/openai/models/live/fork_server_event.rbs +39 -0
  247. data/sig/openai/models/live/server_event.rbs +39 -0
  248. data/sig/openai/models/live/session_accept_params.rbs +39 -2
  249. data/sig/openai/models/live/sideband_client_event.rbs +32 -0
  250. data/sig/openai/models/live/sideband_server_event.rbs +39 -0
  251. data/sig/openai/models/realtime/conversation_item.rbs +1 -0
  252. data/sig/openai/models/responses/input_token_count_params.rbs +10 -2
  253. data/sig/openai/models/responses/response.rbs +223 -0
  254. data/sig/openai/models/responses/response_configuration_update_item.rbs +45 -2
  255. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +45 -2
  256. data/sig/openai/models/responses/response_create_params.rbs +5 -2
  257. data/sig/openai/models/responses/response_input_file.rbs +9 -9
  258. data/sig/openai/models/responses/response_input_file_content.rbs +6 -6
  259. data/sig/openai/models/responses/response_input_image.rbs +9 -9
  260. data/sig/openai/models/responses/response_input_image_content.rbs +6 -6
  261. data/sig/openai/models/responses/response_input_text.rbs +9 -9
  262. data/sig/openai/models/responses/response_input_text_content.rbs +6 -6
  263. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +4 -4
  264. data/sig/openai/models/responses/responses_client_event.rbs +17 -0
  265. data/sig/openai/models/responses/tool.rbs +4 -4
  266. data/sig/openai/models/video_edit_params.rbs +11 -2
  267. data/sig/openai/models/video_extend_params.rbs +11 -2
  268. data/sig/openai/net_http_client.rbs +3 -0
  269. data/sig/openai/resources/admin/organization/external_keys.rbs +70 -0
  270. data/sig/openai/resources/admin/organization/external_storage.rbs +23 -1
  271. data/sig/openai/resources/admin/organization.rbs +2 -0
  272. data/sig/openai/resources/audio/speech.rbs +2 -1
  273. data/sig/openai/resources/audio/transcriptions.rbs +14 -2
  274. data/sig/openai/resources/audio/voices.rbs +14 -1
  275. data/sig/openai/resources/beta/agents/sessions.rbs +4 -0
  276. data/sig/openai/resources/beta/agents.rbs +4 -0
  277. data/sig/openai/resources/beta/responses/input_tokens.rbs +2 -1
  278. data/sig/openai/resources/beta/responses.rbs +4 -2
  279. data/sig/openai/resources/decisions.rbs +7 -1
  280. data/sig/openai/resources/images.rbs +2 -0
  281. data/sig/openai/resources/responses/input_tokens.rbs +2 -1
  282. data/sig/openai/resources/responses.rbs +5 -2
  283. data/sig/openai/resources/videos.rbs +2 -2
  284. metadata +25 -1
@@ -15,6 +15,7 @@ module OpenAI
15
15
  ?background: bool?,
16
16
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
17
17
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
18
+ ?generate: bool,
18
19
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
19
20
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
20
21
  ?instructions: String?,
@@ -71,6 +72,16 @@ module OpenAI
71
72
  # response completes.
72
73
  attr_accessor conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?
73
74
 
75
+ # Whether to generate output for this response. Defaults to true when omitted. Set
76
+ # to false to prepare request state without model output; the response ID can be
77
+ # used as previous_response_id on a later turn.
78
+ attr_reader generate: bool?
79
+
80
+ # Whether to generate output for this response. Defaults to true when omitted. Set
81
+ # to false to prepare request state without model output; the response ID can be
82
+ # used as previous_response_id on a later turn.
83
+ def generate=: (bool) -> bool
84
+
74
85
  # Specify additional output data to include in the model response. Currently
75
86
  # supported values are:
76
87
  #
@@ -419,6 +430,10 @@ module OpenAI
419
430
  # prepended to `input_items` for this response request. Input items and output
420
431
  # items from this response are automatically added to this conversation after this
421
432
  # response completes.
433
+ # @param generate
434
+ # Whether to generate output for this response. Defaults to true when omitted. Set
435
+ # to false to prepare request state without model output; the response ID can be
436
+ # used as previous_response_id on a later turn.
422
437
  # @param include
423
438
  # Specify additional output data to include in the model response. Currently
424
439
  # supported values are:
@@ -644,6 +659,7 @@ module OpenAI
644
659
  ?background: bool?,
645
660
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
646
661
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
662
+ ?generate: bool,
647
663
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
648
664
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
649
665
  ?instructions: String?,
@@ -682,6 +698,7 @@ module OpenAI
682
698
  ?background: bool?,
683
699
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
684
700
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
701
+ ?generate: bool,
685
702
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
686
703
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
687
704
  ?instructions: String?,
@@ -643,8 +643,8 @@ module OpenAI
643
643
 
644
644
  # Control how much effort the model will exert to match the style and features,
645
645
  # especially facial features, of input images. Supports `high` and `low` on
646
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
647
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
646
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
647
+ # this parameter. Defaults to `low` on supported models.
648
648
  attr_accessor input_fidelity: OpenAI::Models::Responses::Tool::ImageGeneration::input_fidelity?
649
649
 
650
650
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
@@ -766,8 +766,8 @@ module OpenAI
766
766
  # @param input_fidelity
767
767
  # Control how much effort the model will exert to match the style and features,
768
768
  # especially facial features, of input images. Supports `high` and `low` on
769
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
770
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
769
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
770
+ # this parameter. Defaults to `low` on supported models.
771
771
  # @param input_image_mask
772
772
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
773
773
  # `file_id` (string, optional).
@@ -19,7 +19,16 @@ module OpenAI
19
19
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
20
20
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
21
21
  # content type.
22
- attr_accessor video: OpenAI::Models::VideoEditParams::video
22
+ attr_reader video: OpenAI::Models::VideoEditParams::video
23
+
24
+ # Reference to the completed video to edit.
25
+ #
26
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
27
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
28
+ # content type.
29
+ def video=: (
30
+ OpenAI::Models::VideoEditParams::video | { id: String }
31
+ ) -> (OpenAI::Models::VideoEditParams::video | { id: String })
23
32
 
24
33
  # @param prompt
25
34
  # Text prompt that describes how to edit the source video.
@@ -31,7 +40,7 @@ module OpenAI
31
40
  # content type.
32
41
  def initialize: (
33
42
  prompt: String,
34
- video: OpenAI::Models::VideoEditParams::video,
43
+ video: OpenAI::Models::VideoEditParams::video | { id: String },
35
44
  ?request_options: OpenAI::request_opts
36
45
  ) -> void
37
46
 
@@ -24,7 +24,16 @@ module OpenAI
24
24
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
25
25
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
26
26
  # content type.
27
- attr_accessor video: OpenAI::Models::VideoExtendParams::video
27
+ attr_reader video: OpenAI::Models::VideoExtendParams::video
28
+
29
+ # Reference to the completed video to extend.
30
+ #
31
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
32
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
33
+ # content type.
34
+ def video=: (
35
+ OpenAI::Models::VideoExtendParams::video | { id: String }
36
+ ) -> (OpenAI::Models::VideoExtendParams::video | { id: String })
28
37
 
29
38
  # @param prompt
30
39
  # Updated text prompt that directs the extension generation.
@@ -40,7 +49,7 @@ module OpenAI
40
49
  def initialize: (
41
50
  prompt: String,
42
51
  seconds: OpenAI::Models::video_seconds,
43
- video: OpenAI::Models::VideoExtendParams::video,
52
+ video: OpenAI::Models::VideoExtendParams::video | { id: String },
44
53
  ?request_options: OpenAI::request_opts
45
54
  ) -> void
46
55
 
@@ -1,5 +1,8 @@
1
1
  module OpenAI
2
2
  class NetHTTPClient < OpenAI::HTTPClient
3
+ # @api private
4
+ def default_configuration?: -> bool
5
+
3
6
  KEEP_ALIVE_TIMEOUT: 30
4
7
 
5
8
  DEFAULT_MAX_CONNECTIONS: Integer
@@ -0,0 +1,70 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Admin
4
+ class Organization
5
+ class ExternalKeys
6
+ def create: (
7
+ body: OpenAI::Models::Admin::Organization::ExternalKeyCreateParams::body
8
+ | {
9
+ external_id: String,
10
+ kms_arn: String,
11
+ name: String,
12
+ role_arn: String,
13
+ type: :aws,
14
+ ?purpose: :ekm | :psp_decryption
15
+ }
16
+ | {
17
+ audience: String,
18
+ kms_key_location: String,
19
+ kms_key_name: String,
20
+ kms_key_ring_name: String,
21
+ kms_project_id: String,
22
+ name: String,
23
+ type: :gcp,
24
+ workload_identity_pool_id: String,
25
+ workload_identity_project_number: String,
26
+ workload_identity_provider_id: String,
27
+ ?kms_key_version: String,
28
+ ?purpose: :ekm | :psp_decryption
29
+ }
30
+ | {
31
+ key_name: String,
32
+ name: String,
33
+ tenant_id: String,
34
+ type: :azure,
35
+ vault_uri: String,
36
+ ?key_version: String,
37
+ ?purpose: :ekm | :psp_decryption
38
+ },
39
+ ?request_options: OpenAI::request_opts
40
+ ) -> OpenAI::Admin::Organization::ExternalKey
41
+
42
+ def retrieve: (
43
+ String external_key_id,
44
+ ?request_options: OpenAI::request_opts
45
+ ) -> OpenAI::Admin::Organization::ExternalKey
46
+
47
+ def list: (
48
+ ?after: String?,
49
+ ?limit: Integer,
50
+ ?order: OpenAI::Models::Admin::Organization::ExternalKeyListParams::order,
51
+ ?purpose: OpenAI::Models::Admin::Organization::ExternalKeyListParams::purpose,
52
+ ?request_options: OpenAI::request_opts
53
+ ) -> OpenAI::Internal::CursorPage[OpenAI::Admin::Organization::ExternalKey]
54
+
55
+ def delete: (
56
+ String external_key_id,
57
+ ?request_options: OpenAI::request_opts
58
+ ) -> OpenAI::Admin::Organization::ExternalKey
59
+
60
+ def validate: (
61
+ String external_key_id,
62
+ ?request_options: OpenAI::request_opts
63
+ ) -> OpenAI::Models::Admin::Organization::ExternalKeyValidateResponse
64
+
65
+ def initialize: (client: OpenAI::Client) -> void
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -5,7 +5,29 @@ module OpenAI
5
5
  class ExternalStorage
6
6
  def create: (
7
7
  project_id: String,
8
- provider: OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::provider,
8
+ provider: OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::provider
9
+ | { bucket: String, role_arn: String, type: :aws }
10
+ | {
11
+ account_name: String,
12
+ container: String,
13
+ resource_group: String,
14
+ subscription_id: String,
15
+ tenant_id: String,
16
+ type: :azure
17
+ }
18
+ | {
19
+ bucket: String,
20
+ type: :gcp,
21
+ workload_identity_pool_id: String,
22
+ workload_identity_project_number: String,
23
+ workload_identity_provider_id: String
24
+ }
25
+ | {
26
+ bucket: String,
27
+ region: String,
28
+ tenancy_ocid: String,
29
+ type: :oci
30
+ },
9
31
  ?request_options: OpenAI::request_opts
10
32
  ) -> OpenAI::Admin::Organization::ExternalStorageConfiguration
11
33
 
@@ -18,6 +18,8 @@ module OpenAI
18
18
 
19
19
  attr_reader data_retention: OpenAI::Resources::Admin::Organization::DataRetention
20
20
 
21
+ attr_reader external_keys: OpenAI::Resources::Admin::Organization::ExternalKeys
22
+
21
23
  attr_reader external_storage: OpenAI::Resources::Admin::Organization::ExternalStorage
22
24
 
23
25
  attr_reader spend_limit: OpenAI::Resources::Admin::Organization::SpendLimit
@@ -5,7 +5,8 @@ module OpenAI
5
5
  def create: (
6
6
  input: String,
7
7
  model: OpenAI::Models::Audio::SpeechCreateParams::model,
8
- voice: OpenAI::Models::Audio::SpeechCreateParams::voice,
8
+ voice: OpenAI::Models::Audio::SpeechCreateParams::voice
9
+ | { id: String },
9
10
  ?instructions: String,
10
11
  ?response_format: OpenAI::Models::Audio::SpeechCreateParams::response_format,
11
12
  ?speed: Float,
@@ -5,7 +5,13 @@ module OpenAI
5
5
  def create: (
6
6
  file: OpenAI::Internal::file_input,
7
7
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
8
- ?chunking_strategy: OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy?,
8
+ ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
9
+ | {
10
+ type: :server_vad,
11
+ ?prefix_padding_ms: Integer,
12
+ ?silence_duration_ms: Integer,
13
+ ?threshold: Float
14
+ })?,
9
15
  ?include: ::Array[OpenAI::Models::Audio::transcription_include],
10
16
  ?keywords: ::Array[String],
11
17
  ?known_speaker_names: ::Array[String],
@@ -22,7 +28,13 @@ module OpenAI
22
28
  def create_streaming: (
23
29
  file: OpenAI::Internal::file_input,
24
30
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
25
- ?chunking_strategy: OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy?,
31
+ ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
32
+ | {
33
+ type: :server_vad,
34
+ ?prefix_padding_ms: Integer,
35
+ ?silence_duration_ms: Integer,
36
+ ?threshold: Float
37
+ })?,
26
38
  ?include: ::Array[OpenAI::Models::Audio::transcription_include],
27
39
  ?keywords: ::Array[String],
28
40
  ?known_speaker_names: ::Array[String],
@@ -3,7 +3,20 @@ module OpenAI
3
3
  class Audio
4
4
  class Voices
5
5
  def create: (
6
- body: OpenAI::Models::Audio::VoiceCreateParams::body,
6
+ body: OpenAI::Models::Audio::VoiceCreateParams::body
7
+ | {
8
+ audio_sample: OpenAI::Internal::file_input,
9
+ consent: String,
10
+ name: String,
11
+ ?type: :audio_sample
12
+ }
13
+ | {
14
+ name: String,
15
+ prompt: String,
16
+ type: :prompt,
17
+ ?model: String | :auto | :"2026-10-08",
18
+ ?script_hint: String
19
+ },
7
20
  ?request_options: OpenAI::request_opts
8
21
  ) -> OpenAI::Audio::Voice
9
22
 
@@ -21,6 +21,7 @@ module OpenAI
21
21
  ?agent_id: String,
22
22
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
23
23
  ?metadata: ::Hash[Symbol, String]?,
24
+ ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
24
25
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
25
26
  ?vault_ids: ::Array[String]?,
26
27
  ?request_options: OpenAI::request_opts
@@ -34,6 +35,7 @@ module OpenAI
34
35
  ?output_type: singleton(OpenAI::Helpers::StructuredOutput::BaseModel)?,
35
36
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
36
37
  ?metadata: ::Hash[Symbol, String]?,
38
+ ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
37
39
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
38
40
  ?vault_ids: ::Array[String]?,
39
41
  ?request_options: OpenAI::request_opts
@@ -48,6 +50,7 @@ module OpenAI
48
50
  String session_id,
49
51
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
50
52
  ?metadata: ::Hash[Symbol, String]?,
53
+ ?review: OpenAI::Models::Beta::Agents::SessionUpdateParams::review,
51
54
  ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
52
55
  ?request_options: OpenAI::request_opts
53
56
  ) -> OpenAI::Beta::AgentSession
@@ -56,6 +59,7 @@ module OpenAI
56
59
  ?after: String,
57
60
  ?agent_id: String,
58
61
  ?limit: Integer,
62
+ ?metadata: ::Hash[Symbol, String],
59
63
  ?order: OpenAI::Models::Beta::Agents::SessionListParams::order,
60
64
  ?request_options: OpenAI::request_opts
61
65
  ) -> OpenAI::Internal::CursorPage[OpenAI::Beta::AgentSession]
@@ -10,6 +10,8 @@ module OpenAI
10
10
 
11
11
  def create: (
12
12
  model: String,
13
+ ?compaction: OpenAI::Beta::AgentCreateParams::Compaction?,
14
+ ?experimental: OpenAI::Beta::AgentCreateParams::Experimental,
13
15
  ?instructions: String?,
14
16
  ?metadata: ::Hash[Symbol, String]?,
15
17
  ?multi_agent: OpenAI::Beta::MultiAgentConfigParam?,
@@ -28,6 +30,8 @@ module OpenAI
28
30
 
29
31
  def update: (
30
32
  String agent_id,
33
+ ?compaction: OpenAI::Beta::AgentUpdateParams::Compaction?,
34
+ ?experimental: OpenAI::Beta::AgentUpdateParams::Experimental,
31
35
  ?instructions: String?,
32
36
  ?metadata: ::Hash[Symbol, String]?,
33
37
  ?model: String,
@@ -13,7 +13,8 @@ module OpenAI
13
13
  ?previous_response_id: String?,
14
14
  ?reasoning: OpenAI::Beta::Responses::InputTokenCountParams::Reasoning?,
15
15
  ?text: OpenAI::Beta::Responses::InputTokenCountParams::Text?,
16
- ?tool_choice: OpenAI::Models::Beta::Responses::InputTokenCountParams::tool_choice?,
16
+ ?tool_choice: (OpenAI::Models::Beta::Responses::InputTokenCountParams::tool_choice
17
+ | { type: :programmatic_tool_calling })?,
17
18
  ?tools: ::Array[OpenAI::Models::Beta::beta_tool]?,
18
19
  ?truncation: OpenAI::Models::Beta::Responses::InputTokenCountParams::truncation,
19
20
  ?betas: ::Array[OpenAI::Models::Beta::Responses::InputTokenCountParams::beta],
@@ -41,7 +41,8 @@ module OpenAI
41
41
  ?stream_options: OpenAI::Beta::ResponseCreateParams::StreamOptions?,
42
42
  ?temperature: Float?,
43
43
  ?text: OpenAI::Beta::BetaResponseTextConfig,
44
- ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice,
44
+ ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice
45
+ | { type: :programmatic_tool_calling },
45
46
  ?tools: ::Array[OpenAI::Models::Beta::beta_tool],
46
47
  ?top_logprobs: Integer?,
47
48
  ?top_p: Float?,
@@ -78,7 +79,8 @@ module OpenAI
78
79
  ?stream_options: OpenAI::Beta::ResponseCreateParams::StreamOptions?,
79
80
  ?temperature: Float?,
80
81
  ?text: OpenAI::Beta::BetaResponseTextConfig,
81
- ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice,
82
+ ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice
83
+ | { type: :programmatic_tool_calling },
82
84
  ?tools: ::Array[OpenAI::Models::Beta::beta_tool],
83
85
  ?top_logprobs: Integer?,
84
86
  ?top_p: Float?,
@@ -4,7 +4,13 @@ module OpenAI
4
4
  def create: (
5
5
  input: OpenAI::Models::DecisionCreateParams::input,
6
6
  model: String,
7
- questions: ::Array[OpenAI::Models::DecisionCreateParams::question],
7
+ questions: ::Array[OpenAI::Models::DecisionCreateParams::question
8
+ | {
9
+ instructions: String
10
+ | ::Array[OpenAI::Models::decision_question_input_part],
11
+ type: :predicate,
12
+ ?name: String
13
+ }],
8
14
  ?prompt_cache_key: String?,
9
15
  ?prompt_cache_options: (OpenAI::DecisionCreateParams::PromptCacheOptions
10
16
  | OpenAI::Models::DecisionCreateParams::prompt_cache_options)?,
@@ -16,6 +16,7 @@ module OpenAI
16
16
  prompt: String,
17
17
  ?background: OpenAI::Models::ImageEditParams::background?,
18
18
  ?input_fidelity: OpenAI::Models::ImageEditParams::input_fidelity?,
19
+ ?markup: OpenAI::Internal::file_input,
19
20
  ?mask: OpenAI::Internal::file_input,
20
21
  ?model: OpenAI::Models::ImageEditParams::model?,
21
22
  ?n: Integer?,
@@ -35,6 +36,7 @@ module OpenAI
35
36
  prompt: String,
36
37
  ?background: OpenAI::Models::ImageEditParams::background?,
37
38
  ?input_fidelity: OpenAI::Models::ImageEditParams::input_fidelity?,
39
+ ?markup: OpenAI::Internal::file_input,
38
40
  ?mask: OpenAI::Internal::file_input,
39
41
  ?model: OpenAI::Models::ImageEditParams::model?,
40
42
  ?n: Integer?,
@@ -12,7 +12,8 @@ module OpenAI
12
12
  ?previous_response_id: String?,
13
13
  ?reasoning: OpenAI::Reasoning?,
14
14
  ?text: OpenAI::Responses::InputTokenCountParams::Text?,
15
- ?tool_choice: OpenAI::Models::Responses::InputTokenCountParams::tool_choice?,
15
+ ?tool_choice: (OpenAI::Models::Responses::InputTokenCountParams::tool_choice
16
+ | { type: :programmatic_tool_calling })?,
16
17
  ?tools: ::Array[OpenAI::Models::Responses::tool]?,
17
18
  ?truncation: OpenAI::Models::Responses::InputTokenCountParams::truncation,
18
19
  ?request_options: OpenAI::request_opts
@@ -39,7 +39,8 @@ module OpenAI
39
39
  ?stream_options: OpenAI::Responses::ResponseCreateParams::StreamOptions?,
40
40
  ?temperature: Float?,
41
41
  ?text: OpenAI::Responses::ResponseTextConfig,
42
- ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice,
42
+ ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice
43
+ | { type: :programmatic_tool_calling },
43
44
  ?tools: ::Array[OpenAI::Models::Responses::tool],
44
45
  ?top_logprobs: Integer?,
45
46
  ?top_p: Float?,
@@ -74,7 +75,8 @@ module OpenAI
74
75
  ?stream_options: OpenAI::Responses::ResponseCreateParams::StreamOptions?,
75
76
  ?temperature: Float?,
76
77
  ?text: OpenAI::Responses::ResponseTextConfig,
77
- ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice,
78
+ ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice
79
+ | { type: :programmatic_tool_calling },
78
80
  ?tools: ::Array[OpenAI::Models::Responses::tool],
79
81
  ?top_logprobs: Integer?,
80
82
  ?top_p: Float?,
@@ -140,6 +142,7 @@ module OpenAI
140
142
  ?background: bool?,
141
143
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
142
144
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
145
+ ?generate: bool,
143
146
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
144
147
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
145
148
  ?instructions: String?,
@@ -41,14 +41,14 @@ module OpenAI
41
41
 
42
42
  def edit: (
43
43
  prompt: String,
44
- video: OpenAI::Models::VideoEditParams::video,
44
+ video: OpenAI::Models::VideoEditParams::video | { id: String },
45
45
  ?request_options: OpenAI::request_opts
46
46
  ) -> OpenAI::Video
47
47
 
48
48
  def extend_: (
49
49
  prompt: String,
50
50
  seconds: OpenAI::Models::video_seconds,
51
- video: OpenAI::Models::VideoExtendParams::video,
51
+ video: OpenAI::Models::VideoExtendParams::video | { id: String },
52
52
  ?request_options: OpenAI::request_opts
53
53
  ) -> OpenAI::Video
54
54
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.113.0
4
+ version: 0.115.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
@@ -235,6 +235,13 @@ files:
235
235
  - lib/openai/models/admin/organization/cost_quantity_unit.rb
236
236
  - lib/openai/models/admin/organization/data_retention_retrieve_params.rb
237
237
  - lib/openai/models/admin/organization/data_retention_update_params.rb
238
+ - lib/openai/models/admin/organization/external_key.rb
239
+ - lib/openai/models/admin/organization/external_key_create_params.rb
240
+ - lib/openai/models/admin/organization/external_key_delete_params.rb
241
+ - lib/openai/models/admin/organization/external_key_list_params.rb
242
+ - lib/openai/models/admin/organization/external_key_retrieve_params.rb
243
+ - lib/openai/models/admin/organization/external_key_validate_params.rb
244
+ - lib/openai/models/admin/organization/external_key_validate_response.rb
238
245
  - lib/openai/models/admin/organization/external_storage_configuration.rb
239
246
  - lib/openai/models/admin/organization/external_storage_create_params.rb
240
247
  - lib/openai/models/admin/organization/external_storage_delete_params.rb
@@ -1675,6 +1682,7 @@ files:
1675
1682
  - lib/openai/resources/admin/organization/audit_logs.rb
1676
1683
  - lib/openai/resources/admin/organization/certificates.rb
1677
1684
  - lib/openai/resources/admin/organization/data_retention.rb
1685
+ - lib/openai/resources/admin/organization/external_keys.rb
1678
1686
  - lib/openai/resources/admin/organization/external_storage.rb
1679
1687
  - lib/openai/resources/admin/organization/groups.rb
1680
1688
  - lib/openai/resources/admin/organization/groups/roles.rb
@@ -1919,6 +1927,13 @@ files:
1919
1927
  - rbi/openai/models/admin/organization/cost_quantity_unit.rbi
1920
1928
  - rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi
1921
1929
  - rbi/openai/models/admin/organization/data_retention_update_params.rbi
1930
+ - rbi/openai/models/admin/organization/external_key.rbi
1931
+ - rbi/openai/models/admin/organization/external_key_create_params.rbi
1932
+ - rbi/openai/models/admin/organization/external_key_delete_params.rbi
1933
+ - rbi/openai/models/admin/organization/external_key_list_params.rbi
1934
+ - rbi/openai/models/admin/organization/external_key_retrieve_params.rbi
1935
+ - rbi/openai/models/admin/organization/external_key_validate_params.rbi
1936
+ - rbi/openai/models/admin/organization/external_key_validate_response.rbi
1922
1937
  - rbi/openai/models/admin/organization/external_storage_configuration.rbi
1923
1938
  - rbi/openai/models/admin/organization/external_storage_create_params.rbi
1924
1939
  - rbi/openai/models/admin/organization/external_storage_delete_params.rbi
@@ -3356,6 +3371,7 @@ files:
3356
3371
  - rbi/openai/resources/admin/organization/audit_logs.rbi
3357
3372
  - rbi/openai/resources/admin/organization/certificates.rbi
3358
3373
  - rbi/openai/resources/admin/organization/data_retention.rbi
3374
+ - rbi/openai/resources/admin/organization/external_keys.rbi
3359
3375
  - rbi/openai/resources/admin/organization/external_storage.rbi
3360
3376
  - rbi/openai/resources/admin/organization/groups.rbi
3361
3377
  - rbi/openai/resources/admin/organization/groups/roles.rbi
@@ -3590,6 +3606,13 @@ files:
3590
3606
  - sig/openai/models/admin/organization/cost_quantity_unit.rbs
3591
3607
  - sig/openai/models/admin/organization/data_retention_retrieve_params.rbs
3592
3608
  - sig/openai/models/admin/organization/data_retention_update_params.rbs
3609
+ - sig/openai/models/admin/organization/external_key.rbs
3610
+ - sig/openai/models/admin/organization/external_key_create_params.rbs
3611
+ - sig/openai/models/admin/organization/external_key_delete_params.rbs
3612
+ - sig/openai/models/admin/organization/external_key_list_params.rbs
3613
+ - sig/openai/models/admin/organization/external_key_retrieve_params.rbs
3614
+ - sig/openai/models/admin/organization/external_key_validate_params.rbs
3615
+ - sig/openai/models/admin/organization/external_key_validate_response.rbs
3593
3616
  - sig/openai/models/admin/organization/external_storage_configuration.rbs
3594
3617
  - sig/openai/models/admin/organization/external_storage_create_params.rbs
3595
3618
  - sig/openai/models/admin/organization/external_storage_delete_params.rbs
@@ -5027,6 +5050,7 @@ files:
5027
5050
  - sig/openai/resources/admin/organization/audit_logs.rbs
5028
5051
  - sig/openai/resources/admin/organization/certificates.rbs
5029
5052
  - sig/openai/resources/admin/organization/data_retention.rbs
5053
+ - sig/openai/resources/admin/organization/external_keys.rbs
5030
5054
  - sig/openai/resources/admin/organization/external_storage.rbs
5031
5055
  - sig/openai/resources/admin/organization/groups.rbs
5032
5056
  - sig/openai/resources/admin/organization/groups/roles.rbs