openai 0.123.0 → 0.124.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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/audit_log_list_response.rb +10 -1
  5. data/lib/openai/models/admin/organization/external_key.rb +25 -1
  6. data/lib/openai/models/admin/organization/external_key_create_params.rb +78 -3
  7. data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +10 -1
  8. data/lib/openai/models/beta/agent_session.rb +128 -4
  9. data/lib/openai/models/beta/agent_session_created_event.rb +10 -1
  10. data/lib/openai/models/beta/agent_session_environment_connected_event.rb +10 -1
  11. data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +10 -1
  12. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +10 -1
  13. data/lib/openai/models/beta/agent_session_environment_failed_event.rb +10 -1
  14. data/lib/openai/models/beta/agent_session_environment_pending_event.rb +10 -1
  15. data/lib/openai/models/beta/agent_session_environment_ready_event.rb +10 -1
  16. data/lib/openai/models/beta/agent_session_environment_reset_event.rb +10 -1
  17. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +10 -1
  18. data/lib/openai/models/beta/agent_session_error_event.rb +10 -1
  19. data/lib/openai/models/beta/agent_session_failed_event.rb +10 -1
  20. data/lib/openai/models/beta/agent_session_idle_event.rb +10 -1
  21. data/lib/openai/models/beta/agent_session_in_progress_event.rb +10 -1
  22. data/lib/openai/models/beta/agent_session_input_param.rb +87 -1
  23. data/lib/openai/models/beta/agent_session_requires_action_event.rb +10 -1
  24. data/lib/openai/models/beta/agent_session_subagent_active_event.rb +10 -1
  25. data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +10 -1
  26. data/lib/openai/models/beta/agent_session_subagent_created_event.rb +10 -1
  27. data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +10 -1
  28. data/lib/openai/models/beta/agent_session_turn_completed_event.rb +10 -1
  29. data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +10 -1
  30. data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +10 -1
  31. data/lib/openai/models/beta/agent_session_turn_created_event.rb +10 -1
  32. data/lib/openai/models/beta/agent_session_turn_failed_event.rb +10 -1
  33. data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +10 -1
  34. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +10 -1
  35. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +10 -1
  36. data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +10 -1
  37. data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +10 -1
  38. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +10 -1
  39. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +10 -1
  40. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +10 -1
  41. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +10 -1
  42. data/lib/openai/models/beta/agents/session_create_params.rb +69 -1
  43. data/lib/openai/models/beta/agents/session_update_params.rb +44 -1
  44. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
  45. data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +13 -1
  46. data/lib/openai/models/beta/agents/sessions/turn.rb +41 -1
  47. data/lib/openai/models/beta/beta_response.rb +9 -3
  48. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -3
  49. data/lib/openai/models/beta/beta_responses_client_event.rb +9 -3
  50. data/lib/openai/models/beta/beta_tool.rb +6 -3
  51. data/lib/openai/models/beta/response_compact_params.rb +2 -0
  52. data/lib/openai/models/beta/response_create_params.rb +9 -3
  53. data/lib/openai/models/beta/responses/input_token_count_params.rb +27 -15
  54. data/lib/openai/models/content_provenance_check_create_params.rb +2 -0
  55. data/lib/openai/models/image_edit_params.rb +84 -5
  56. data/lib/openai/models/image_generate_params.rb +4 -4
  57. data/lib/openai/models/images_response.rb +9 -12
  58. data/lib/openai/models/live/media_session_config.rb +12 -1
  59. data/lib/openai/models/live/session_accept_params.rb +12 -1
  60. data/lib/openai/models/responses/input_token_count_params.rb +27 -15
  61. data/lib/openai/models/responses/response.rb +9 -3
  62. data/lib/openai/models/responses/response_compact_params.rb +2 -0
  63. data/lib/openai/models/responses/response_create_params.rb +9 -3
  64. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -3
  65. data/lib/openai/models/responses/responses_client_event.rb +9 -3
  66. data/lib/openai/models/responses/tool.rb +6 -3
  67. data/lib/openai/models/video_create_error.rb +6 -4
  68. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +1 -0
  69. data/lib/openai/models/webhooks/live_transport_connected_webhook_event.rb +74 -0
  70. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  71. data/lib/openai/resources/admin/organization/external_keys.rb +1 -1
  72. data/lib/openai/resources/beta/agents/sessions/events.rb +10 -3
  73. data/lib/openai/resources/beta/agents/sessions.rb +24 -5
  74. data/lib/openai/resources/beta/responses/input_tokens.rb +9 -6
  75. data/lib/openai/resources/beta/responses.rb +6 -2
  76. data/lib/openai/resources/content_provenance_checks.rb +1 -0
  77. data/lib/openai/resources/images.rb +20 -6
  78. data/lib/openai/resources/responses/input_tokens.rb +9 -5
  79. data/lib/openai/resources/responses.rb +6 -2
  80. data/lib/openai/resources/webhooks.rb +1 -1
  81. data/lib/openai/version.rb +1 -1
  82. data/lib/openai.rb +1 -0
  83. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +13 -1
  84. data/rbi/openai/models/admin/organization/external_key.rbi +44 -0
  85. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +137 -4
  86. data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +14 -1
  87. data/rbi/openai/models/beta/agent_session.rbi +207 -0
  88. data/rbi/openai/models/beta/agent_session_created_event.rbi +13 -1
  89. data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +14 -1
  90. data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +14 -1
  91. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +14 -1
  92. data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +14 -1
  93. data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +14 -1
  94. data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +14 -1
  95. data/rbi/openai/models/beta/agent_session_environment_reset_event.rbi +14 -1
  96. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +14 -1
  97. data/rbi/openai/models/beta/agent_session_error_event.rbi +13 -1
  98. data/rbi/openai/models/beta/agent_session_failed_event.rbi +13 -1
  99. data/rbi/openai/models/beta/agent_session_idle_event.rbi +13 -1
  100. data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +13 -1
  101. data/rbi/openai/models/beta/agent_session_input_param.rbi +159 -0
  102. data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +13 -1
  103. data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +13 -1
  104. data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +13 -1
  105. data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +13 -1
  106. data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +14 -1
  107. data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +14 -1
  108. data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +14 -1
  109. data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +14 -1
  110. data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +14 -1
  111. data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +14 -1
  112. data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +14 -1
  113. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +14 -1
  114. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +14 -1
  115. data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +14 -1
  116. data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +14 -1
  117. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +14 -1
  118. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +14 -1
  119. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +14 -1
  120. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +14 -1
  121. data/rbi/openai/models/beta/agents/session_create_params.rbi +138 -0
  122. data/rbi/openai/models/beta/agents/session_update_params.rbi +82 -0
  123. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
  124. data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +15 -1
  125. data/rbi/openai/models/beta/agents/sessions/turn.rbi +74 -1
  126. data/rbi/openai/models/beta/beta_response.rbi +9 -3
  127. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -3
  128. data/rbi/openai/models/beta/beta_responses_client_event.rbi +9 -3
  129. data/rbi/openai/models/beta/beta_tool.rbi +6 -3
  130. data/rbi/openai/models/beta/response_create_params.rbi +9 -3
  131. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +27 -15
  132. data/rbi/openai/models/content_provenance_check_create_params.rbi +2 -0
  133. data/rbi/openai/models/image_edit_params.rbi +143 -4
  134. data/rbi/openai/models/image_generate_params.rbi +4 -4
  135. data/rbi/openai/models/images_response.rbi +9 -12
  136. data/rbi/openai/models/live/media_session_config.rbi +12 -0
  137. data/rbi/openai/models/live/session_accept_params.rbi +12 -0
  138. data/rbi/openai/models/responses/input_token_count_params.rbi +27 -15
  139. data/rbi/openai/models/responses/response.rbi +9 -3
  140. data/rbi/openai/models/responses/response_create_params.rbi +9 -3
  141. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -3
  142. data/rbi/openai/models/responses/responses_client_event.rbi +9 -3
  143. data/rbi/openai/models/responses/tool.rbi +6 -3
  144. data/rbi/openai/models/video_create_error.rbi +6 -4
  145. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +4 -0
  146. data/rbi/openai/models/webhooks/live_transport_connected_webhook_event.rbi +135 -0
  147. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  148. data/rbi/openai/resources/admin/organization/external_keys.rbi +2 -1
  149. data/rbi/openai/resources/beta/agents/sessions/events.rbi +9 -2
  150. data/rbi/openai/resources/beta/agents/sessions.rbi +21 -2
  151. data/rbi/openai/resources/beta/responses/input_tokens.rbi +9 -6
  152. data/rbi/openai/resources/beta/responses.rbi +6 -2
  153. data/rbi/openai/resources/content_provenance_checks.rbi +1 -0
  154. data/rbi/openai/resources/images.rbi +18 -4
  155. data/rbi/openai/resources/responses/input_tokens.rbi +9 -5
  156. data/rbi/openai/resources/responses.rbi +6 -2
  157. data/rbi/openai/resources/webhooks.rbi +1 -0
  158. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +18 -3
  159. data/sig/openai/models/admin/organization/external_key.rbs +28 -0
  160. data/sig/openai/models/admin/organization/external_key_create_params.rbs +108 -0
  161. data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +13 -2
  162. data/sig/openai/models/beta/agent_session.rbs +126 -1
  163. data/sig/openai/models/beta/agent_session_created_event.rbs +13 -2
  164. data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +13 -2
  165. data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +13 -2
  166. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +13 -2
  167. data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +13 -2
  168. data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +13 -2
  169. data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +13 -2
  170. data/sig/openai/models/beta/agent_session_environment_reset_event.rbs +13 -2
  171. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +13 -2
  172. data/sig/openai/models/beta/agent_session_error_event.rbs +13 -2
  173. data/sig/openai/models/beta/agent_session_failed_event.rbs +13 -2
  174. data/sig/openai/models/beta/agent_session_idle_event.rbs +13 -2
  175. data/sig/openai/models/beta/agent_session_in_progress_event.rbs +13 -2
  176. data/sig/openai/models/beta/agent_session_input_param.rbs +80 -1
  177. data/sig/openai/models/beta/agent_session_requires_action_event.rbs +13 -2
  178. data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +13 -2
  179. data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +13 -2
  180. data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +13 -2
  181. data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +13 -2
  182. data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +13 -2
  183. data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +13 -2
  184. data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +13 -2
  185. data/sig/openai/models/beta/agent_session_turn_created_event.rbs +13 -2
  186. data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +13 -2
  187. data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +13 -2
  188. data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +13 -2
  189. data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +13 -2
  190. data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +13 -2
  191. data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +13 -2
  192. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +13 -2
  193. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +13 -2
  194. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +13 -2
  195. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +13 -2
  196. data/sig/openai/models/beta/agents/session_create_params.rbs +78 -0
  197. data/sig/openai/models/beta/agents/session_update_params.rbs +46 -0
  198. data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +18 -1
  199. data/sig/openai/models/beta/agents/sessions/turn.rbs +40 -2
  200. data/sig/openai/models/beta/beta_response.rbs +6 -2
  201. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +6 -3
  202. data/sig/openai/models/beta/beta_responses_client_event.rbs +6 -2
  203. data/sig/openai/models/beta/beta_tool.rbs +6 -3
  204. data/sig/openai/models/beta/response_create_params.rbs +6 -2
  205. data/sig/openai/models/beta/responses/input_token_count_params.rbs +27 -15
  206. data/sig/openai/models/content_provenance_check_create_params.rbs +2 -0
  207. data/sig/openai/models/image_edit_params.rbs +87 -4
  208. data/sig/openai/models/image_generate_params.rbs +4 -4
  209. data/sig/openai/models/images_response.rbs +9 -12
  210. data/sig/openai/models/live/media_session_config.rbs +10 -0
  211. data/sig/openai/models/live/session_accept_params.rbs +10 -0
  212. data/sig/openai/models/responses/input_token_count_params.rbs +27 -15
  213. data/sig/openai/models/responses/response.rbs +6 -2
  214. data/sig/openai/models/responses/response_create_params.rbs +6 -2
  215. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +6 -3
  216. data/sig/openai/models/responses/responses_client_event.rbs +6 -2
  217. data/sig/openai/models/responses/tool.rbs +6 -3
  218. data/sig/openai/models/video_create_error.rbs +9 -6
  219. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +2 -0
  220. data/sig/openai/models/webhooks/live_transport_connected_webhook_event.rbs +66 -0
  221. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  222. data/sig/openai/resources/admin/organization/external_keys.rbs +9 -0
  223. data/sig/openai/resources/beta/agents/sessions/events.rbs +1 -0
  224. data/sig/openai/resources/beta/agents/sessions.rbs +5 -0
  225. data/sig/openai/resources/images.rbs +2 -0
  226. data/sig/openai/resources/webhooks.rbs +1 -0
  227. metadata +4 -1
@@ -473,7 +473,9 @@ module OpenAI
473
473
  #
474
474
  # - `auto`: If the input to this Response exceeds the model's context window size,
475
475
  # the model will truncate the response to fit the context window by dropping
476
- # items from the beginning of the conversation.
476
+ # items from the beginning of the conversation. On some models, trimming can
477
+ # begin earlier because the API subtracts the model's maximum output allowance
478
+ # from its input limit, even if you set a lower `max_output_tokens`.
477
479
  # - `disabled` (default): If the input size will exceed the context window size
478
480
  # for a model, the request will fail with a 400 error.
479
481
  sig { returns(T.nilable(OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Truncation::OrSymbol)) }
@@ -870,7 +872,9 @@ module OpenAI
870
872
  #
871
873
  # - `auto`: If the input to this Response exceeds the model's context window size,
872
874
  # the model will truncate the response to fit the context window by dropping
873
- # items from the beginning of the conversation.
875
+ # items from the beginning of the conversation. On some models, trimming can
876
+ # begin earlier because the API subtracts the model's maximum output allowance
877
+ # from its input limit, even if you set a lower `max_output_tokens`.
874
878
  # - `disabled` (default): If the input size will exceed the context window size
875
879
  # for a model, the request will fail with a 400 error.
876
880
  truncation: nil,
@@ -1952,7 +1956,9 @@ module OpenAI
1952
1956
  #
1953
1957
  # - `auto`: If the input to this Response exceeds the model's context window size,
1954
1958
  # the model will truncate the response to fit the context window by dropping
1955
- # items from the beginning of the conversation.
1959
+ # items from the beginning of the conversation. On some models, trimming can
1960
+ # begin earlier because the API subtracts the model's maximum output allowance
1961
+ # from its input limit, even if you set a lower `max_output_tokens`.
1956
1962
  # - `disabled` (default): If the input size will exceed the context window size
1957
1963
  # for a model, the request will fail with a 400 error.
1958
1964
  module Truncation
@@ -1022,7 +1022,8 @@ module OpenAI
1022
1022
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1023
1023
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1024
1024
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1025
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1025
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1026
+ # `gpt-image-2.6-sunburst`.
1026
1027
  #
1027
1028
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1028
1029
  # `gpt-image-2.5-flare` instead.
@@ -1184,7 +1185,8 @@ module OpenAI
1184
1185
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1185
1186
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1186
1187
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1187
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1188
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1189
+ # `gpt-image-2.6-sunburst`.
1188
1190
  #
1189
1191
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1190
1192
  # `gpt-image-2.5-flare` instead.
@@ -1399,7 +1401,8 @@ module OpenAI
1399
1401
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1400
1402
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1401
1403
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1402
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1404
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1405
+ # `gpt-image-2.6-sunburst`.
1403
1406
  #
1404
1407
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1405
1408
  # `gpt-image-2.5-flare` instead.
@@ -20,8 +20,9 @@ module OpenAI
20
20
  sig { returns(String) }
21
21
  attr_accessor :message
22
22
 
23
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
24
- # any.
23
+ # Headers returned with the original error. These can include Retry-After,
24
+ # Retry-After-Ms, and, on opted-in deployments,
25
+ # x-openai-inference-capacity-reason.
25
26
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
26
27
  attr_reader :headers
27
28
 
@@ -68,8 +69,9 @@ module OpenAI
68
69
  # A human-readable description of the error that was returned.
69
70
  message:,
70
71
 
71
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
72
- # any.
72
+ # Headers returned with the original error. These can include Retry-After,
73
+ # Retry-After-Ms, and, on opted-in deployments,
74
+ # x-openai-inference-capacity-reason.
73
75
  headers: nil,
74
76
 
75
77
  misalignment: nil,
@@ -192,6 +192,10 @@ module OpenAI
192
192
  :computer_use_approval_request,
193
193
  OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
194
194
  )
195
+ MCP_APPROVAL_REQUEST = T.let(
196
+ :mcp_approval_request,
197
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
198
+ )
195
199
  FUNCTION_CALL = T.let(
196
200
  :function_call,
197
201
  OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class LiveTransportConnectedWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::LiveTransportConnectedWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The webhook event ID.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # Unix time in seconds when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ sig { returns(OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data) }
26
+ attr_reader :data
27
+
28
+ sig { params(data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data::OrHash).void }
29
+ attr_writer :data
30
+
31
+ sig { returns(Symbol) }
32
+ attr_accessor :object
33
+
34
+ sig { returns(Symbol) }
35
+ attr_accessor :type
36
+
37
+ # Sent when a direct Live WebRTC session is created or an Instant Connect session
38
+ # activates. Use its session ID to attach a sideband observer.
39
+ sig do
40
+ params(
41
+
42
+ id: String,
43
+
44
+ created_at: Integer,
45
+
46
+ data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data::OrHash,
47
+
48
+ object: Symbol,
49
+
50
+ type: Symbol
51
+ )
52
+ .returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+
56
+ # The webhook event ID.
57
+ id:,
58
+
59
+ # Unix time in seconds when the event was created.
60
+ created_at:,
61
+
62
+ data:,
63
+
64
+ object: :event,
65
+
66
+ type: :"live.transport.connected"
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ id: String,
74
+ created_at: Integer,
75
+ data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data,
76
+ object: Symbol,
77
+ type: Symbol
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+
84
+ class Data < OpenAI::Internal::Type::BaseModel
85
+ OrHash = T.type_alias do
86
+ T.any(
87
+ OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data,
88
+ OpenAI::Internal::AnyHash
89
+ )
90
+ end
91
+
92
+ # The Live session ID to use with the sideband attach endpoint.
93
+ sig { returns(String) }
94
+ attr_accessor :session_id
95
+
96
+ # The session transport.
97
+ sig { returns(Symbol) }
98
+ attr_accessor :type
99
+
100
+ sig do
101
+ params(
102
+
103
+ session_id: String,
104
+
105
+ type: Symbol
106
+ )
107
+ .returns(T.attached_class)
108
+ end
109
+ def self.new(
110
+
111
+ # The Live session ID to use with the sideband attach endpoint.
112
+ session_id:,
113
+
114
+ # The session transport.
115
+
116
+ type: :webrtc
117
+ )
118
+ end
119
+
120
+ sig do
121
+ override.returns(
122
+ {session_id: String, type: Symbol}
123
+ )
124
+ end
125
+ def to_hash
126
+ end
127
+
128
+ end
129
+
130
+ end
131
+
132
+ end
133
+
134
+ end
135
+ end
@@ -31,6 +31,7 @@ module OpenAI
31
31
  OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
32
32
  OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
33
33
  OpenAI::Webhooks::LiveCallIncomingWebhookEvent,
34
+ OpenAI::Webhooks::LiveTransportConnectedWebhookEvent,
34
35
  OpenAI::Webhooks::LiveTransportIncomingWebhookEvent,
35
36
  OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
36
37
  OpenAI::Webhooks::ResponseCancelledWebhookEvent,
@@ -15,7 +15,8 @@ module OpenAI
15
15
  body: T.any(
16
16
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Aws::OrHash,
17
17
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Gcp::OrHash,
18
- OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure::OrHash
18
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure::OrHash,
19
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::OrHash
19
20
  ),
20
21
  request_options: OpenAI::RequestOptions::OrHash
21
22
  )
@@ -23,6 +23,7 @@ module OpenAI
23
23
  session_id: String,
24
24
  events: T::Array[
25
25
  T.any(
26
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::OrHash,
26
27
  OpenAI::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult::OrHash,
27
28
  OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMessage::OrHash,
28
29
  OpenAI::Beta::AgentSessionInputParam::AgentSessionInputCancel::OrHash,
@@ -49,13 +50,19 @@ module OpenAI
49
50
  # Streams live events for an agent session. See
50
51
  # [session events](https://developers.openai.com/api/docs/guides/agents-api/sessions/events).
51
52
  sig {
52
- params(session_id: String, request_options: OpenAI::RequestOptions::OrHash).returns(
53
- OpenAI::Internal::Stream[OpenAI::Beta::AgentSessionEvent::Variants]
53
+ params(
54
+ session_id: String,
55
+ include_obfuscation: T::Boolean,
56
+ request_options: OpenAI::RequestOptions::OrHash
54
57
  )
58
+ .returns(OpenAI::Internal::Stream[OpenAI::Beta::AgentSessionEvent::Variants])
55
59
  }
56
60
  def stream_streaming(
57
61
  # The ID of the session.
58
62
  session_id,
63
+ # Whether to include obfuscation padding in events on this connection. Defaults to
64
+ # `true`.
65
+ include_obfuscation: nil,
59
66
  request_options: {}
60
67
  )
61
68
  end
@@ -44,8 +44,10 @@ module OpenAI
44
44
  agent_id: String,
45
45
  input: T.nilable(OpenAI::Beta::Agents::SessionCreateParams::Input::Variants),
46
46
  metadata: T.nilable(T::Hash[Symbol, String]),
47
+ prompt_cache_options: T.nilable(OpenAI::Beta::Agents::SessionCreateParams::PromptCacheOptions::OrHash),
47
48
  review: OpenAI::Beta::Agents::SessionCreateParams::Review::OrSymbol,
48
49
  spend_control: T.nilable(OpenAI::Beta::Agents::SessionCreateParams::SpendControl::OrHash),
50
+ stream_options: OpenAI::Beta::Agents::SessionCreateParams::StreamOptions::OrHash,
49
51
  vault_ids: T.nilable(T::Array[String]),
50
52
  stream: T.noreturn,
51
53
  request_options: OpenAI::RequestOptions::OrHash
@@ -69,11 +71,16 @@ module OpenAI
69
71
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
70
72
  # characters. Omission or null defaults to an empty map.
71
73
  metadata: nil,
74
+ # Default prompt cache lifetime for turns in this session. Omit to use the model
75
+ # default.
76
+ prompt_cache_options: nil,
72
77
  # Action review mode. Omit to use none.
73
78
  review: nil,
74
79
  # Optional spending limit in USD cents. Omission or null creates an unlimited
75
80
  # session.
76
81
  spend_control: nil,
82
+ # Options for the event stream. Only allowed when `stream` is `true`.
83
+ stream_options: nil,
77
84
  # The IDs of vaults made available to the session.
78
85
  vault_ids: nil,
79
86
  # There is no need to provide `stream:`. Instead, use `#create_streaming` or
@@ -102,8 +109,10 @@ module OpenAI
102
109
  output_type: T.nilable(T.class_of(OpenAI::Helpers::StructuredOutput::BaseModel)),
103
110
  input: T.nilable(OpenAI::Beta::Agents::SessionCreateParams::Input::Variants),
104
111
  metadata: T.nilable(T::Hash[Symbol, String]),
112
+ prompt_cache_options: T.nilable(OpenAI::Beta::Agents::SessionCreateParams::PromptCacheOptions::OrHash),
105
113
  review: OpenAI::Beta::Agents::SessionCreateParams::Review::OrSymbol,
106
114
  spend_control: T.nilable(OpenAI::Beta::Agents::SessionCreateParams::SpendControl::OrHash),
115
+ stream_options: OpenAI::Beta::Agents::SessionCreateParams::StreamOptions::OrHash,
107
116
  vault_ids: T.nilable(T::Array[String]),
108
117
  stream: T.noreturn,
109
118
  request_options: OpenAI::RequestOptions::OrHash
@@ -129,11 +138,16 @@ module OpenAI
129
138
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
130
139
  # characters. Omission or null defaults to an empty map.
131
140
  metadata: nil,
141
+ # Default prompt cache lifetime for turns in this session. Omit to use the model
142
+ # default.
143
+ prompt_cache_options: nil,
132
144
  # Action review mode. Omit to use none.
133
145
  review: nil,
134
146
  # Optional spending limit in USD cents. Omission or null creates an unlimited
135
147
  # session.
136
148
  spend_control: nil,
149
+ # Options for the event stream. Only allowed when `stream` is `true`.
150
+ stream_options: nil,
137
151
  # The IDs of vaults made available to the session.
138
152
  vault_ids: nil,
139
153
  # There is no need to provide `stream:`. Instead, use `#create_streaming` or
@@ -157,14 +171,16 @@ module OpenAI
157
171
  )
158
172
  end
159
173
 
160
- # Updates session tools, metadata, model, reasoning effort, or service tier. Model
161
- # settings apply to subsequent turns. Omitted fields are unchanged. See
174
+ # Updates session tools, metadata, model, reasoning effort, service tier, or the
175
+ # default prompt cache lifetime. Model settings apply to subsequent turns. Omitted
176
+ # fields are unchanged. See
162
177
  # [managing sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage).
163
178
  sig {
164
179
  params(
165
180
  session_id: String,
166
181
  agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent::OrHash,
167
182
  metadata: T.nilable(T::Hash[Symbol, String]),
183
+ prompt_cache_options: T.nilable(OpenAI::Beta::Agents::SessionUpdateParams::PromptCacheOptions::OrHash),
168
184
  review: OpenAI::Beta::Agents::SessionUpdateParams::Review::OrSymbol,
169
185
  spend_control: T.nilable(OpenAI::Beta::Agents::SessionUpdateParams::SpendControl::OrHash),
170
186
  request_options: OpenAI::RequestOptions::OrHash
@@ -180,6 +196,9 @@ module OpenAI
180
196
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
181
197
  # characters.
182
198
  metadata: nil,
199
+ # Default prompt cache lifetime for future turns. Send null to clear the session
200
+ # default.
201
+ prompt_cache_options: nil,
183
202
  # Default action review for new root turns. Existing turns and their subagents
184
203
  # keep their review mode.
185
204
  review: nil,
@@ -111,12 +111,15 @@ module OpenAI
111
111
  # Body param: An array of tools the model may call while generating a response.
112
112
  # You can specify which tool to use by setting the `tool_choice` parameter.
113
113
  tools: nil,
114
- # Body param: The truncation strategy to use for the model response. - `auto`: If
115
- # the input to this Response exceeds the model's context window size, the model
116
- # will truncate the response to fit the context window by dropping items from the
117
- # beginning of the conversation. - `disabled` (default): If the input size will
118
- # exceed the context window size for a model, the request will fail with a 400
119
- # error.
114
+ # Body param: The truncation strategy to use for the model response.
115
+ #
116
+ # - `auto`: If the input to this Response exceeds the model's context window size,
117
+ # the model will truncate the response to fit the context window by dropping
118
+ # items from the beginning of the conversation. On some models, trimming can
119
+ # begin earlier because the API subtracts the model's maximum output allowance
120
+ # from its input limit before counting tokens.
121
+ # - `disabled` (default): If the input size will exceed the context window size
122
+ # for a model, the request will fail with a 400 error.
120
123
  truncation: nil,
121
124
  # Header param: Optional beta features to enable for this request.
122
125
  betas: nil,
@@ -341,7 +341,9 @@ module OpenAI
341
341
  #
342
342
  # - `auto`: If the input to this Response exceeds the model's context window size,
343
343
  # the model will truncate the response to fit the context window by dropping
344
- # items from the beginning of the conversation.
344
+ # items from the beginning of the conversation. On some models, trimming can
345
+ # begin earlier because the API subtracts the model's maximum output allowance
346
+ # from its input limit, even if you set a lower `max_output_tokens`.
345
347
  # - `disabled` (default): If the input size will exceed the context window size
346
348
  # for a model, the request will fail with a 400 error.
347
349
  truncation: nil,
@@ -666,7 +668,9 @@ module OpenAI
666
668
  #
667
669
  # - `auto`: If the input to this Response exceeds the model's context window size,
668
670
  # the model will truncate the response to fit the context window by dropping
669
- # items from the beginning of the conversation.
671
+ # items from the beginning of the conversation. On some models, trimming can
672
+ # begin earlier because the API subtracts the model's maximum output allowance
673
+ # from its input limit, even if you set a lower `max_output_tokens`.
670
674
  # - `disabled` (default): If the input size will exceed the context window size
671
675
  # for a model, the request will fail with a 400 error.
672
676
  truncation: nil,
@@ -21,6 +21,7 @@ module OpenAI
21
21
  }
22
22
  def create(
23
23
  # The image or audio file to check for supported OpenAI provenance signals.
24
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
24
25
  #
25
26
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
26
27
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -73,6 +73,7 @@ module OpenAI
73
73
  response_format: T.nilable(OpenAI::ImageEditParams::ResponseFormat::OrSymbol),
74
74
  safety_identifier: T.nilable(String),
75
75
  size: T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol)),
76
+ svg: T.nilable(OpenAI::ImageEditParams::Svg::OrHash),
76
77
  user: String,
77
78
  stream: T.noreturn,
78
79
  request_options: OpenAI::RequestOptions::OrHash
@@ -158,7 +159,8 @@ module OpenAI
158
159
  # defaults to 100.
159
160
  output_compression: nil,
160
161
  # The format in which the generated images are returned. This parameter is only
161
- # supported for the GPT image models. The default value is `png`.
162
+ # supported for the GPT image models. The default value is `png`. SVG output
163
+ # requires a supported image model and project access.
162
164
  output_format: nil,
163
165
  # The number of partial images to generate. This parameter is used for streaming
164
166
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -194,6 +196,11 @@ module OpenAI
194
196
  # `1024x1536` are supported by the GPT image models; `auto` is supported for
195
197
  # models that allow automatic sizing.
196
198
  size: nil,
199
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
200
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
201
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
202
+ # compression. Use multipart fields such as `svg[model]`.
203
+ svg: nil,
197
204
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
198
205
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
199
206
  # empty.
@@ -230,6 +237,7 @@ module OpenAI
230
237
  response_format: T.nilable(OpenAI::ImageEditParams::ResponseFormat::OrSymbol),
231
238
  safety_identifier: T.nilable(String),
232
239
  size: T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol)),
240
+ svg: T.nilable(OpenAI::ImageEditParams::Svg::OrHash),
233
241
  user: String,
234
242
  stream: T.noreturn,
235
243
  request_options: OpenAI::RequestOptions::OrHash
@@ -315,7 +323,8 @@ module OpenAI
315
323
  # defaults to 100.
316
324
  output_compression: nil,
317
325
  # The format in which the generated images are returned. This parameter is only
318
- # supported for the GPT image models. The default value is `png`.
326
+ # supported for the GPT image models. The default value is `png`. SVG output
327
+ # requires a supported image model and project access.
319
328
  output_format: nil,
320
329
  # The number of partial images to generate. This parameter is used for streaming
321
330
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -351,6 +360,11 @@ module OpenAI
351
360
  # `1024x1536` are supported by the GPT image models; `auto` is supported for
352
361
  # models that allow automatic sizing.
353
362
  size: nil,
363
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
364
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
365
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
366
+ # compression. Use multipart fields such as `svg[model]`.
367
+ svg: nil,
354
368
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
355
369
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
356
370
  # empty.
@@ -487,7 +501,7 @@ module OpenAI
487
501
  # enabled, supply svg.model. When model selection is disabled, omit this object.
488
502
  # The top-level model selects the image model that creates the reference image.
489
503
  # SVG generation requires n=1 and does not support streaming, partial images,
490
- # prompt_rewriter, or output_compression. SVG edits are not supported.
504
+ # prompt_rewriter, or output_compression.
491
505
  svg: nil,
492
506
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
493
507
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
@@ -625,7 +639,7 @@ module OpenAI
625
639
  # enabled, supply svg.model. When model selection is disabled, omit this object.
626
640
  # The top-level model selects the image model that creates the reference image.
627
641
  # SVG generation requires n=1 and does not support streaming, partial images,
628
- # prompt_rewriter, or output_compression. SVG edits are not supported.
642
+ # prompt_rewriter, or output_compression.
629
643
  svg: nil,
630
644
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
631
645
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
@@ -107,11 +107,15 @@ module OpenAI
107
107
  # An array of tools the model may call while generating a response. You can
108
108
  # specify which tool to use by setting the `tool_choice` parameter.
109
109
  tools: nil,
110
- # The truncation strategy to use for the model response. - `auto`: If the input to
111
- # this Response exceeds the model's context window size, the model will truncate
112
- # the response to fit the context window by dropping items from the beginning of
113
- # the conversation. - `disabled` (default): If the input size will exceed the
114
- # context window size for a model, the request will fail with a 400 error.
110
+ # The truncation strategy to use for the model response.
111
+ #
112
+ # - `auto`: If the input to this Response exceeds the model's context window size,
113
+ # the model will truncate the response to fit the context window by dropping
114
+ # items from the beginning of the conversation. On some models, trimming can
115
+ # begin earlier because the API subtracts the model's maximum output allowance
116
+ # from its input limit before counting tokens.
117
+ # - `disabled` (default): If the input size will exceed the context window size
118
+ # for a model, the request will fail with a 400 error.
115
119
  truncation: nil,
116
120
  request_options: {}
117
121
  )
@@ -329,7 +329,9 @@ module OpenAI
329
329
  #
330
330
  # - `auto`: If the input to this Response exceeds the model's context window size,
331
331
  # the model will truncate the response to fit the context window by dropping
332
- # items from the beginning of the conversation.
332
+ # items from the beginning of the conversation. On some models, trimming can
333
+ # begin earlier because the API subtracts the model's maximum output allowance
334
+ # from its input limit, even if you set a lower `max_output_tokens`.
333
335
  # - `disabled` (default): If the input size will exceed the context window size
334
336
  # for a model, the request will fail with a 400 error.
335
337
  truncation: nil,
@@ -643,7 +645,9 @@ module OpenAI
643
645
  #
644
646
  # - `auto`: If the input to this Response exceeds the model's context window size,
645
647
  # the model will truncate the response to fit the context window by dropping
646
- # items from the beginning of the conversation.
648
+ # items from the beginning of the conversation. On some models, trimming can
649
+ # begin earlier because the API subtracts the model's maximum output allowance
650
+ # from its input limit, even if you set a lower `max_output_tokens`.
647
651
  # - `disabled` (default): If the input size will exceed the context window size
648
652
  # for a model, the request will fail with a 400 error.
649
653
  truncation: nil,
@@ -160,6 +160,7 @@ module OpenAI
160
160
  OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
161
161
  OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
162
162
  OpenAI::Webhooks::LiveCallIncomingWebhookEvent,
163
+ OpenAI::Webhooks::LiveTransportConnectedWebhookEvent,
163
164
  OpenAI::Webhooks::LiveTransportIncomingWebhookEvent,
164
165
  OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
165
166
  OpenAI::Webhooks::ResponseCancelledWebhookEvent,
@@ -1449,20 +1449,35 @@ module OpenAI
1449
1449
  ?changes_requested: OpenAI::Models::Admin::Organization::AuditLogListResponse::APIKeyUpdated::ChangesRequested
1450
1450
  }
1451
1451
 
1452
- type changes_requested = { ?scopes: ::Array[String] }
1452
+ type changes_requested =
1453
+ { ?expires_in_seconds: Integer, ?scopes: ::Array[String] }
1453
1454
 
1454
1455
  class ChangesRequested < OpenAI::Internal::Type::BaseModel
1456
+ # Number of seconds from the update request until the API key expires.
1457
+ attr_reader expires_in_seconds: Integer?
1458
+
1459
+ # Number of seconds from the update request until the API key expires.
1460
+ def expires_in_seconds=: (Integer) -> Integer
1461
+
1455
1462
  # A list of scopes allowed for the API key, e.g. `["api.model.request"]`
1456
1463
  attr_reader scopes: ::Array[String]?
1457
1464
 
1458
1465
  # A list of scopes allowed for the API key, e.g. `["api.model.request"]`
1459
1466
  def scopes=: (::Array[String]) -> ::Array[String]
1460
1467
 
1468
+ # @param expires_in_seconds
1469
+ # Number of seconds from the update request until the API key expires.
1461
1470
  # @param scopes
1462
1471
  # A list of scopes allowed for the API key, e.g. `["api.model.request"]`
1463
- def initialize: (?scopes: ::Array[String]) -> void
1472
+ def initialize: (
1473
+ ?expires_in_seconds: Integer,
1474
+ ?scopes: ::Array[String]
1475
+ ) -> void
1464
1476
 
1465
- def to_hash: -> { ?scopes: ::Array[String] }
1477
+ def to_hash: -> {
1478
+ ?expires_in_seconds: Integer,
1479
+ ?scopes: ::Array[String]
1480
+ }
1466
1481
  end
1467
1482
  end
1468
1483