openai 0.98.0 → 0.100.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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +17 -1
  5. data/lib/openai/client.rb +9 -0
  6. data/lib/openai/helpers/agents/session_stream.rb +11 -36
  7. data/lib/openai/helpers/agents/tools.rb +34 -4
  8. data/lib/openai/helpers/beta/agents/creation_stream.rb +26 -0
  9. data/lib/openai/helpers/beta/agents/function_tool.rb +11 -4
  10. data/lib/openai/helpers/beta/agents/tool_dispatcher.rb +74 -0
  11. data/lib/openai/helpers/beta/agents/tool_error.rb +28 -0
  12. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +140 -5
  13. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +140 -5
  14. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +140 -5
  15. data/lib/openai/models/admin/organization/usage_completions_params.rb +9 -4
  16. data/lib/openai/models/admin/organization/usage_completions_response.rb +140 -5
  17. data/lib/openai/models/admin/organization/usage_costs_params.rb +16 -4
  18. data/lib/openai/models/admin/organization/usage_costs_response.rb +140 -5
  19. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +140 -5
  20. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +140 -5
  21. data/lib/openai/models/admin/organization/usage_images_response.rb +140 -5
  22. data/lib/openai/models/admin/organization/usage_moderations_response.rb +140 -5
  23. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +140 -5
  24. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +9 -4
  25. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +140 -5
  26. data/lib/openai/models/all_models.rb +42 -0
  27. data/lib/openai/models/audio/speech_create_params.rb +6 -0
  28. data/lib/openai/models/audio/voice.rb +75 -0
  29. data/lib/openai/models/audio/voice_create_params.rb +217 -0
  30. data/lib/openai/models/beta/agent_create_params.rb +0 -3
  31. data/lib/openai/models/beta/agent_update_params.rb +0 -3
  32. data/lib/openai/models/beta/agents/environments/template_create_params.rb +6 -6
  33. data/lib/openai/models/beta/agents/environments/template_update_params.rb +3 -6
  34. data/lib/openai/models/beta/agents/session_create_params.rb +0 -3
  35. data/lib/openai/models/beta/agents/session_update_params.rb +0 -3
  36. data/lib/openai/models/beta/agents/sessions/turns/item_list_params.rb +79 -0
  37. data/lib/openai/models/beta/beta_response.rb +220 -0
  38. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +2 -2
  39. data/lib/openai/models/beta/beta_response_error.rb +12 -1
  40. data/lib/openai/models/beta/beta_responses_client_event.rb +220 -0
  41. data/lib/openai/models/beta/beta_responses_server_event.rb +12 -1
  42. data/lib/openai/models/beta/beta_tool.rb +15 -18
  43. data/lib/openai/models/beta/environment_param.rb +6 -6
  44. data/lib/openai/models/beta/response_compact_params.rb +220 -0
  45. data/lib/openai/models/beta/response_create_params.rb +220 -0
  46. data/lib/openai/models/beta/session_turn_error.rb +9 -0
  47. data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -3
  48. data/lib/openai/models/chat/chat_completion_chunk.rb +85 -18
  49. data/lib/openai/models/chat_model.rb +178 -0
  50. data/lib/openai/models/error_object.rb +12 -1
  51. data/lib/openai/models/eval_create_params.rb +1 -1
  52. data/lib/openai/models/eval_create_response.rb +1 -1
  53. data/lib/openai/models/eval_list_response.rb +1 -1
  54. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  55. data/lib/openai/models/eval_update_response.rb +1 -1
  56. data/lib/openai/models/fine_tuning/job_list_params.rb +14 -4
  57. data/lib/openai/models/graders/score_model_grader.rb +2 -2
  58. data/lib/openai/models/image.rb +14 -14
  59. data/lib/openai/models/image_create_variation_params.rb +7 -7
  60. data/lib/openai/models/image_edit_params.rb +88 -96
  61. data/lib/openai/models/image_generate_params.rb +51 -62
  62. data/lib/openai/models/image_model.rb +5 -3
  63. data/lib/openai/models/realtime/realtime_audio_config_output.rb +9 -6
  64. data/lib/openai/models/realtime/realtime_client_event.rb +9 -0
  65. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +9 -6
  66. data/lib/openai/models/realtime/session_update_event.rb +16 -0
  67. data/lib/openai/models/responses/response_compact_params.rb +220 -0
  68. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +2 -2
  69. data/lib/openai/models/responses/response_error.rb +12 -1
  70. data/lib/openai/models/responses/responses_server_event.rb +12 -1
  71. data/lib/openai/models/responses/tool.rb +15 -18
  72. data/lib/openai/models/responses_model.rb +42 -0
  73. data/lib/openai/models/video_create_error.rb +12 -1
  74. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +109 -0
  75. data/lib/openai/models/webhooks/agent_session_created_webhook_event.rb +106 -0
  76. data/lib/openai/models/webhooks/agent_session_failed_webhook_event.rb +86 -0
  77. data/lib/openai/models/webhooks/agent_session_idle_webhook_event.rb +86 -0
  78. data/lib/openai/models/webhooks/agent_session_in_progress_webhook_event.rb +86 -0
  79. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +18 -2
  80. data/lib/openai/models/webhooks/webhook_create_params.rb +5 -0
  81. data/lib/openai/models/webhooks/webhook_test_params.rb +5 -0
  82. data/lib/openai/models/webhooks/webhook_update_params.rb +5 -0
  83. data/lib/openai/providers/bedrock.rb +20 -1
  84. data/lib/openai/resources/admin/organization/usage.rb +15 -6
  85. data/lib/openai/resources/audio/speech.rb +2 -0
  86. data/lib/openai/resources/audio/voices.rb +53 -0
  87. data/lib/openai/resources/audio.rb +5 -0
  88. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -4
  89. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +68 -0
  90. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -0
  91. data/lib/openai/resources/beta/agents/sessions.rb +22 -2
  92. data/lib/openai/resources/fine_tuning/jobs.rb +7 -2
  93. data/lib/openai/resources/images.rb +79 -109
  94. data/lib/openai/resources/webhooks.rb +1 -1
  95. data/lib/openai/version.rb +1 -1
  96. data/lib/openai.rb +10 -0
  97. data/rbi/openai/helpers/agents.rbi +2 -0
  98. data/rbi/openai/helpers/beta/agents/function_tool.rbi +8 -3
  99. data/rbi/openai/helpers/beta/agents/tool_error.rbi +19 -0
  100. data/rbi/openai/helpers/beta/agents.rbi +12 -0
  101. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +213 -3
  102. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +213 -3
  103. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +213 -3
  104. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +9 -4
  105. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +213 -3
  106. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +16 -4
  107. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +213 -3
  108. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +213 -3
  109. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +213 -3
  110. data/rbi/openai/models/admin/organization/usage_images_response.rbi +213 -3
  111. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +213 -3
  112. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +213 -3
  113. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +12 -4
  114. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +213 -3
  115. data/rbi/openai/models/audio/speech_create_params.rbi +6 -0
  116. data/rbi/openai/models/audio/voice.rbi +111 -0
  117. data/rbi/openai/models/audio/voice_create_params.rbi +321 -0
  118. data/rbi/openai/models/beta/agent_create_params.rbi +0 -3
  119. data/rbi/openai/models/beta/agent_update_params.rbi +0 -3
  120. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +6 -6
  121. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +3 -6
  122. data/rbi/openai/models/beta/agents/session_create_params.rbi +0 -3
  123. data/rbi/openai/models/beta/agents/session_update_params.rbi +0 -3
  124. data/rbi/openai/models/beta/agents/sessions/turns/item_list_params.rbi +139 -0
  125. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +2 -2
  126. data/rbi/openai/models/beta/beta_response_error.rbi +12 -0
  127. data/rbi/openai/models/beta/beta_responses_server_event.rbi +12 -0
  128. data/rbi/openai/models/beta/beta_tool.rbi +15 -18
  129. data/rbi/openai/models/beta/environment_param.rbi +6 -6
  130. data/rbi/openai/models/beta/session_turn_error.rbi +18 -0
  131. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +6 -3
  132. data/rbi/openai/models/chat/chat_completion_chunk.rbi +123 -17
  133. data/rbi/openai/models/error_object.rbi +12 -0
  134. data/rbi/openai/models/eval_create_params.rbi +1 -1
  135. data/rbi/openai/models/eval_create_response.rbi +1 -1
  136. data/rbi/openai/models/eval_list_response.rbi +1 -1
  137. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  138. data/rbi/openai/models/eval_update_response.rbi +1 -1
  139. data/rbi/openai/models/fine_tuning/job_list_params.rbi +14 -4
  140. data/rbi/openai/models/graders/score_model_grader.rbi +2 -2
  141. data/rbi/openai/models/image.rbi +14 -14
  142. data/rbi/openai/models/image_create_variation_params.rbi +6 -6
  143. data/rbi/openai/models/image_edit_params.rbi +73 -91
  144. data/rbi/openai/models/image_generate_params.rbi +30 -61
  145. data/rbi/openai/models/image_model.rbi +3 -3
  146. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +9 -6
  147. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +9 -6
  148. data/rbi/openai/models/realtime/session_update_event.rbi +16 -0
  149. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +2 -2
  150. data/rbi/openai/models/responses/response_error.rbi +12 -0
  151. data/rbi/openai/models/responses/responses_server_event.rbi +12 -0
  152. data/rbi/openai/models/responses/tool.rbi +15 -18
  153. data/rbi/openai/models/video_create_error.rbi +12 -0
  154. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +222 -0
  155. data/rbi/openai/models/webhooks/agent_session_created_webhook_event.rbi +202 -0
  156. data/rbi/openai/models/webhooks/agent_session_failed_webhook_event.rbi +151 -0
  157. data/rbi/openai/models/webhooks/agent_session_idle_webhook_event.rbi +151 -0
  158. data/rbi/openai/models/webhooks/agent_session_in_progress_webhook_event.rbi +151 -0
  159. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +7 -1
  160. data/rbi/openai/models/webhooks/webhook_create_params.rbi +20 -0
  161. data/rbi/openai/models/webhooks/webhook_test_params.rbi +20 -0
  162. data/rbi/openai/models/webhooks/webhook_update_params.rbi +20 -0
  163. data/rbi/openai/resources/admin/organization/usage.rbi +15 -6
  164. data/rbi/openai/resources/audio/speech.rbi +2 -0
  165. data/rbi/openai/resources/audio/voices.rbi +49 -0
  166. data/rbi/openai/resources/audio.rbi +4 -0
  167. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -4
  168. data/rbi/openai/resources/beta/agents/sessions/turns/items.rbi +62 -0
  169. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +3 -0
  170. data/rbi/openai/resources/beta/agents/sessions.rbi +2 -0
  171. data/rbi/openai/resources/fine_tuning/jobs.rbi +7 -2
  172. data/rbi/openai/resources/images.rbi +77 -109
  173. data/rbi/openai/resources/webhooks.rbi +5 -0
  174. data/sig/openai/helpers/agents.rbs +3 -0
  175. data/sig/openai/helpers/beta/agents/function_tool.rbs +5 -2
  176. data/sig/openai/helpers/beta/agents/tool_error.rbs +17 -0
  177. data/sig/openai/helpers/beta/agents.rbs +5 -0
  178. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +107 -5
  179. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +107 -5
  180. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +107 -5
  181. data/sig/openai/models/admin/organization/usage_completions_params.rbs +14 -6
  182. data/sig/openai/models/admin/organization/usage_completions_response.rbs +107 -5
  183. data/sig/openai/models/admin/organization/usage_costs_params.rbs +25 -7
  184. data/sig/openai/models/admin/organization/usage_costs_response.rbs +107 -5
  185. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +107 -5
  186. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +107 -5
  187. data/sig/openai/models/admin/organization/usage_images_response.rbs +107 -5
  188. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +107 -5
  189. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +107 -5
  190. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +19 -7
  191. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +107 -5
  192. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  193. data/sig/openai/models/audio/voice.rbs +70 -0
  194. data/sig/openai/models/audio/voice_create_params.rbs +203 -0
  195. data/sig/openai/models/beta/agent_create_params.rbs +1 -5
  196. data/sig/openai/models/beta/agent_update_params.rbs +1 -5
  197. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +4 -4
  198. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +2 -4
  199. data/sig/openai/models/beta/agents/session_create_params.rbs +1 -5
  200. data/sig/openai/models/beta/agents/session_update_params.rbs +1 -5
  201. data/sig/openai/models/beta/agents/sessions/turns/item_list_params.rbs +91 -0
  202. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +2 -2
  203. data/sig/openai/models/beta/beta_response_error.rbs +10 -0
  204. data/sig/openai/models/beta/beta_responses_server_event.rbs +10 -0
  205. data/sig/openai/models/beta/beta_tool.rbs +11 -15
  206. data/sig/openai/models/beta/environment_param.rbs +4 -4
  207. data/sig/openai/models/beta/session_turn_error.rbs +12 -0
  208. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -2
  209. data/sig/openai/models/chat/chat_completion_chunk.rbs +96 -12
  210. data/sig/openai/models/error_object.rbs +10 -0
  211. data/sig/openai/models/eval_create_params.rbs +1 -1
  212. data/sig/openai/models/eval_create_response.rbs +1 -1
  213. data/sig/openai/models/eval_list_response.rbs +1 -1
  214. data/sig/openai/models/eval_retrieve_response.rbs +1 -1
  215. data/sig/openai/models/eval_update_response.rbs +1 -1
  216. data/sig/openai/models/fine_tuning/job_list_params.rbs +14 -4
  217. data/sig/openai/models/graders/score_model_grader.rbs +3 -3
  218. data/sig/openai/models/image.rbs +21 -21
  219. data/sig/openai/models/image_create_variation_params.rbs +4 -4
  220. data/sig/openai/models/image_edit_params.rbs +54 -66
  221. data/sig/openai/models/image_generate_params.rbs +23 -45
  222. data/sig/openai/models/image_model.rbs +6 -6
  223. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +9 -6
  224. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +9 -6
  225. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +2 -2
  226. data/sig/openai/models/responses/response_error.rbs +10 -0
  227. data/sig/openai/models/responses/responses_server_event.rbs +10 -0
  228. data/sig/openai/models/responses/tool.rbs +11 -15
  229. data/sig/openai/models/video_create_error.rbs +10 -0
  230. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +114 -0
  231. data/sig/openai/models/webhooks/agent_session_created_webhook_event.rbs +115 -0
  232. data/sig/openai/models/webhooks/agent_session_failed_webhook_event.rbs +89 -0
  233. data/sig/openai/models/webhooks/agent_session_idle_webhook_event.rbs +89 -0
  234. data/sig/openai/models/webhooks/agent_session_in_progress_webhook_event.rbs +89 -0
  235. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +6 -1
  236. data/sig/openai/models/webhooks/webhook_create_params.rbs +10 -0
  237. data/sig/openai/models/webhooks/webhook_test_params.rbs +10 -0
  238. data/sig/openai/models/webhooks/webhook_update_params.rbs +10 -0
  239. data/sig/openai/resources/audio/voices.rbs +14 -0
  240. data/sig/openai/resources/audio.rbs +2 -0
  241. data/sig/openai/resources/beta/agents/sessions/turns/items.rbs +24 -0
  242. data/sig/openai/resources/beta/agents/sessions/turns.rbs +2 -0
  243. data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
  244. data/sig/openai/resources/webhooks.rbs +6 -1
  245. metadata +35 -1
@@ -198,6 +198,21 @@ module OpenAI
198
198
  # @return [String, nil]
199
199
  optional :api_key_id, String, nil?: true
200
200
 
201
+ # @!attribute api_source
202
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
203
+ # activity and `unlabeled` includes all records without published source
204
+ # attribution, including historical and unknown origins. Unlabeled does not imply
205
+ # direct API usage. Without source grouping, this field is null.
206
+ #
207
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
208
+ optional(
209
+ :api_source,
210
+ enum: -> {
211
+ OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource
212
+ },
213
+ nil?: true
214
+ )
215
+
201
216
  # @!attribute batch
202
217
  # When `group_by=batch`, this field tells whether the grouped usage result is
203
218
  # batch or not.
@@ -211,8 +226,16 @@ module OpenAI
211
226
  # @return [Integer, nil]
212
227
  optional :input_audio_tokens, Integer
213
228
 
229
+ # @!attribute input_cache_write_12h_tokens
230
+ # The aggregated number of input tokens written to the cache with a 12-hour
231
+ # retention period.
232
+ #
233
+ # @return [Integer, nil]
234
+ optional :input_cache_write_12h_tokens, Integer
235
+
214
236
  # @!attribute input_cache_write_tokens
215
- # The aggregated number of input tokens written to the cache.
237
+ # The aggregated number of input tokens written to the cache with a 30-minute
238
+ # retention period.
216
239
  #
217
240
  # @return [Integer, nil]
218
241
  optional :input_cache_write_tokens, Integer
@@ -308,7 +331,7 @@ module OpenAI
308
331
  # @return [String, nil]
309
332
  optional :user_id, String, nil?: true
310
333
 
311
- # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, batch: nil, input_audio_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
334
+ # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, api_source: nil, batch: nil, input_audio_tokens: nil, input_cache_write_12h_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
312
335
  # The aggregated completions usage details of the specific time bucket.
313
336
  #
314
337
  # @param input_tokens [Integer]
@@ -328,6 +351,12 @@ module OpenAI
328
351
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
329
352
  # usage result.
330
353
  #
354
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
355
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
356
+ # activity and `unlabeled` includes all records without published source
357
+ # attribution, including historical and unknown origins. Unlabeled does not imply
358
+ # direct API usage. Without source grouping, this field is null.
359
+ #
331
360
  # @param batch [Boolean, nil]
332
361
  # When `group_by=batch`, this field tells whether the grouped usage result is
333
362
  # batch or not.
@@ -335,8 +364,13 @@ module OpenAI
335
364
  # @param input_audio_tokens [Integer]
336
365
  # The aggregated number of uncached audio input tokens used.
337
366
  #
367
+ # @param input_cache_write_12h_tokens [Integer]
368
+ # The aggregated number of input tokens written to the cache with a 12-hour
369
+ # retention period.
370
+ #
338
371
  # @param input_cache_write_tokens [Integer]
339
- # The aggregated number of input tokens written to the cache.
372
+ # The aggregated number of input tokens written to the cache with a 30-minute
373
+ # retention period.
340
374
  #
341
375
  # @param input_cached_audio_tokens [Integer]
342
376
  # The aggregated number of cached audio input tokens used.
@@ -388,6 +422,22 @@ module OpenAI
388
422
  # result.
389
423
  #
390
424
  # @param object [Symbol, :"organization.usage.completions.result"]
425
+
426
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
427
+ # activity and `unlabeled` includes all records without published source
428
+ # attribution, including historical and unknown origins. Unlabeled does not imply
429
+ # direct API usage. Without source grouping, this field is null.
430
+ #
431
+ # @see OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageCompletionsResult#api_source
432
+ module APISource
433
+ extend OpenAI::Internal::Type::Enum
434
+
435
+ AGENTS_API = :agents_api
436
+ UNLABELED = :unlabeled
437
+
438
+ # @!method self.values
439
+ # @return [Array<Symbol>]
440
+ end
391
441
  end
392
442
 
393
443
  class OrganizationUsageEmbeddingsResult < OpenAI::Internal::Type::BaseModel
@@ -937,6 +987,21 @@ module OpenAI
937
987
  # @return [String, nil]
938
988
  optional :api_key_id, String, nil?: true
939
989
 
990
+ # @!attribute api_source
991
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
992
+ # activity and `unlabeled` includes all records without published source
993
+ # attribution, including historical and unknown origins. Unlabeled does not imply
994
+ # direct API usage. Without source grouping, this field is null.
995
+ #
996
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
997
+ optional(
998
+ :api_source,
999
+ enum: -> {
1000
+ OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource
1001
+ },
1002
+ nil?: true
1003
+ )
1004
+
940
1005
  # @!attribute context_level
941
1006
  # When `group_by=context_level`, this field provides the search context size of
942
1007
  # the grouped usage result.
@@ -965,7 +1030,7 @@ module OpenAI
965
1030
  # @return [String, nil]
966
1031
  optional :user_id, String, nil?: true
967
1032
 
968
- # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
1033
+ # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, api_source: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
969
1034
  # The aggregated web search calls usage details of the specific time bucket.
970
1035
  #
971
1036
  # @param num_model_requests [Integer]
@@ -978,6 +1043,12 @@ module OpenAI
978
1043
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
979
1044
  # usage result.
980
1045
  #
1046
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
1047
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1048
+ # activity and `unlabeled` includes all records without published source
1049
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1050
+ # direct API usage. Without source grouping, this field is null.
1051
+ #
981
1052
  # @param context_level [String, nil]
982
1053
  # When `group_by=context_level`, this field provides the search context size of
983
1054
  # the grouped usage result.
@@ -995,6 +1066,22 @@ module OpenAI
995
1066
  # result.
996
1067
  #
997
1068
  # @param object [Symbol, :"organization.usage.web_searches.result"]
1069
+
1070
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1071
+ # activity and `unlabeled` includes all records without published source
1072
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1073
+ # direct API usage. Without source grouping, this field is null.
1074
+ #
1075
+ # @see OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationUsageWebSearchesResult#api_source
1076
+ module APISource
1077
+ extend OpenAI::Internal::Type::Enum
1078
+
1079
+ AGENTS_API = :agents_api
1080
+ UNLABELED = :unlabeled
1081
+
1082
+ # @!method self.values
1083
+ # @return [Array<Symbol>]
1084
+ end
998
1085
  end
999
1086
 
1000
1087
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
@@ -1021,6 +1108,21 @@ module OpenAI
1021
1108
  # @return [String, nil]
1022
1109
  optional :api_key_id, String, nil?: true
1023
1110
 
1111
+ # @!attribute api_source
1112
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1113
+ # activity and `unlabeled` includes all records without published source
1114
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1115
+ # direct API usage. Without source grouping, this field is null.
1116
+ #
1117
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1118
+ optional(
1119
+ :api_source,
1120
+ enum: -> {
1121
+ OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationCostsResult::APISource
1122
+ },
1123
+ nil?: true
1124
+ )
1125
+
1024
1126
  # @!attribute line_item
1025
1127
  # When `group_by=line_item`, this field provides the line item of the grouped
1026
1128
  # costs result.
@@ -1055,7 +1157,14 @@ module OpenAI
1055
1157
  nil?: true
1056
1158
  )
1057
1159
 
1058
- # @!method initialize(amount: nil, api_key_id: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, object: :"organization.costs.result")
1160
+ # @!attribute user_id
1161
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1162
+ # result.
1163
+ #
1164
+ # @return [String, nil]
1165
+ optional :user_id, String, nil?: true
1166
+
1167
+ # @!method initialize(amount: nil, api_key_id: nil, api_source: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, user_id: nil, object: :"organization.costs.result")
1059
1168
  # The aggregated costs details of the specific time bucket.
1060
1169
  #
1061
1170
  # @param amount [OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationCostsResult::Amount]
@@ -1065,6 +1174,12 @@ module OpenAI
1065
1174
  # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1066
1175
  # costs result.
1067
1176
  #
1177
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1178
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1179
+ # activity and `unlabeled` includes all records without published source
1180
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1181
+ # direct API usage. Without source grouping, this field is null.
1182
+ #
1068
1183
  # @param line_item [String, nil]
1069
1184
  # When `group_by=line_item`, this field provides the line item of the grouped
1070
1185
  # costs result.
@@ -1081,6 +1196,10 @@ module OpenAI
1081
1196
  # The unit of the `quantity` value. If no single supported unit applies to the
1082
1197
  # result, this field is `null`.
1083
1198
  #
1199
+ # @param user_id [String, nil]
1200
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1201
+ # result.
1202
+ #
1084
1203
  # @param object [Symbol, :"organization.costs.result"]
1085
1204
 
1086
1205
  # @see OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationCostsResult#amount
@@ -1106,6 +1225,22 @@ module OpenAI
1106
1225
  # @param value [Float]
1107
1226
  # The numeric value of the cost.
1108
1227
  end
1228
+
1229
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1230
+ # activity and `unlabeled` includes all records without published source
1231
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1232
+ # direct API usage. Without source grouping, this field is null.
1233
+ #
1234
+ # @see OpenAI::Models::Admin::Organization::UsageModerationsResponse::Data::Result::OrganizationCostsResult#api_source
1235
+ module APISource
1236
+ extend OpenAI::Internal::Type::Enum
1237
+
1238
+ AGENTS_API = :agents_api
1239
+ UNLABELED = :unlabeled
1240
+
1241
+ # @!method self.values
1242
+ # @return [Array<Symbol>]
1243
+ end
1109
1244
  end
1110
1245
 
1111
1246
  # @!method self.variants
@@ -200,6 +200,21 @@ module OpenAI
200
200
  # @return [String, nil]
201
201
  optional :api_key_id, String, nil?: true
202
202
 
203
+ # @!attribute api_source
204
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
205
+ # activity and `unlabeled` includes all records without published source
206
+ # attribution, including historical and unknown origins. Unlabeled does not imply
207
+ # direct API usage. Without source grouping, this field is null.
208
+ #
209
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
210
+ optional(
211
+ :api_source,
212
+ enum: -> {
213
+ OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageCompletionsResult::APISource
214
+ },
215
+ nil?: true
216
+ )
217
+
203
218
  # @!attribute batch
204
219
  # When `group_by=batch`, this field tells whether the grouped usage result is
205
220
  # batch or not.
@@ -213,8 +228,16 @@ module OpenAI
213
228
  # @return [Integer, nil]
214
229
  optional :input_audio_tokens, Integer
215
230
 
231
+ # @!attribute input_cache_write_12h_tokens
232
+ # The aggregated number of input tokens written to the cache with a 12-hour
233
+ # retention period.
234
+ #
235
+ # @return [Integer, nil]
236
+ optional :input_cache_write_12h_tokens, Integer
237
+
216
238
  # @!attribute input_cache_write_tokens
217
- # The aggregated number of input tokens written to the cache.
239
+ # The aggregated number of input tokens written to the cache with a 30-minute
240
+ # retention period.
218
241
  #
219
242
  # @return [Integer, nil]
220
243
  optional :input_cache_write_tokens, Integer
@@ -310,7 +333,7 @@ module OpenAI
310
333
  # @return [String, nil]
311
334
  optional :user_id, String, nil?: true
312
335
 
313
- # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, batch: nil, input_audio_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
336
+ # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, api_source: nil, batch: nil, input_audio_tokens: nil, input_cache_write_12h_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
314
337
  # The aggregated completions usage details of the specific time bucket.
315
338
  #
316
339
  # @param input_tokens [Integer]
@@ -330,6 +353,12 @@ module OpenAI
330
353
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
331
354
  # usage result.
332
355
  #
356
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
357
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
358
+ # activity and `unlabeled` includes all records without published source
359
+ # attribution, including historical and unknown origins. Unlabeled does not imply
360
+ # direct API usage. Without source grouping, this field is null.
361
+ #
333
362
  # @param batch [Boolean, nil]
334
363
  # When `group_by=batch`, this field tells whether the grouped usage result is
335
364
  # batch or not.
@@ -337,8 +366,13 @@ module OpenAI
337
366
  # @param input_audio_tokens [Integer]
338
367
  # The aggregated number of uncached audio input tokens used.
339
368
  #
369
+ # @param input_cache_write_12h_tokens [Integer]
370
+ # The aggregated number of input tokens written to the cache with a 12-hour
371
+ # retention period.
372
+ #
340
373
  # @param input_cache_write_tokens [Integer]
341
- # The aggregated number of input tokens written to the cache.
374
+ # The aggregated number of input tokens written to the cache with a 30-minute
375
+ # retention period.
342
376
  #
343
377
  # @param input_cached_audio_tokens [Integer]
344
378
  # The aggregated number of cached audio input tokens used.
@@ -390,6 +424,22 @@ module OpenAI
390
424
  # result.
391
425
  #
392
426
  # @param object [Symbol, :"organization.usage.completions.result"]
427
+
428
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
429
+ # activity and `unlabeled` includes all records without published source
430
+ # attribution, including historical and unknown origins. Unlabeled does not imply
431
+ # direct API usage. Without source grouping, this field is null.
432
+ #
433
+ # @see OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageCompletionsResult#api_source
434
+ module APISource
435
+ extend OpenAI::Internal::Type::Enum
436
+
437
+ AGENTS_API = :agents_api
438
+ UNLABELED = :unlabeled
439
+
440
+ # @!method self.values
441
+ # @return [Array<Symbol>]
442
+ end
393
443
  end
394
444
 
395
445
  class OrganizationUsageEmbeddingsResult < OpenAI::Internal::Type::BaseModel
@@ -939,6 +989,21 @@ module OpenAI
939
989
  # @return [String, nil]
940
990
  optional :api_key_id, String, nil?: true
941
991
 
992
+ # @!attribute api_source
993
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
994
+ # activity and `unlabeled` includes all records without published source
995
+ # attribution, including historical and unknown origins. Unlabeled does not imply
996
+ # direct API usage. Without source grouping, this field is null.
997
+ #
998
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
999
+ optional(
1000
+ :api_source,
1001
+ enum: -> {
1002
+ OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource
1003
+ },
1004
+ nil?: true
1005
+ )
1006
+
942
1007
  # @!attribute context_level
943
1008
  # When `group_by=context_level`, this field provides the search context size of
944
1009
  # the grouped usage result.
@@ -967,7 +1032,7 @@ module OpenAI
967
1032
  # @return [String, nil]
968
1033
  optional :user_id, String, nil?: true
969
1034
 
970
- # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
1035
+ # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, api_source: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
971
1036
  # The aggregated web search calls usage details of the specific time bucket.
972
1037
  #
973
1038
  # @param num_model_requests [Integer]
@@ -980,6 +1045,12 @@ module OpenAI
980
1045
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
981
1046
  # usage result.
982
1047
  #
1048
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
1049
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1050
+ # activity and `unlabeled` includes all records without published source
1051
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1052
+ # direct API usage. Without source grouping, this field is null.
1053
+ #
983
1054
  # @param context_level [String, nil]
984
1055
  # When `group_by=context_level`, this field provides the search context size of
985
1056
  # the grouped usage result.
@@ -997,6 +1068,22 @@ module OpenAI
997
1068
  # result.
998
1069
  #
999
1070
  # @param object [Symbol, :"organization.usage.web_searches.result"]
1071
+
1072
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1073
+ # activity and `unlabeled` includes all records without published source
1074
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1075
+ # direct API usage. Without source grouping, this field is null.
1076
+ #
1077
+ # @see OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationUsageWebSearchesResult#api_source
1078
+ module APISource
1079
+ extend OpenAI::Internal::Type::Enum
1080
+
1081
+ AGENTS_API = :agents_api
1082
+ UNLABELED = :unlabeled
1083
+
1084
+ # @!method self.values
1085
+ # @return [Array<Symbol>]
1086
+ end
1000
1087
  end
1001
1088
 
1002
1089
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
@@ -1023,6 +1110,21 @@ module OpenAI
1023
1110
  # @return [String, nil]
1024
1111
  optional :api_key_id, String, nil?: true
1025
1112
 
1113
+ # @!attribute api_source
1114
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1115
+ # activity and `unlabeled` includes all records without published source
1116
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1117
+ # direct API usage. Without source grouping, this field is null.
1118
+ #
1119
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1120
+ optional(
1121
+ :api_source,
1122
+ enum: -> {
1123
+ OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationCostsResult::APISource
1124
+ },
1125
+ nil?: true
1126
+ )
1127
+
1026
1128
  # @!attribute line_item
1027
1129
  # When `group_by=line_item`, this field provides the line item of the grouped
1028
1130
  # costs result.
@@ -1057,7 +1159,14 @@ module OpenAI
1057
1159
  nil?: true
1058
1160
  )
1059
1161
 
1060
- # @!method initialize(amount: nil, api_key_id: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, object: :"organization.costs.result")
1162
+ # @!attribute user_id
1163
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1164
+ # result.
1165
+ #
1166
+ # @return [String, nil]
1167
+ optional :user_id, String, nil?: true
1168
+
1169
+ # @!method initialize(amount: nil, api_key_id: nil, api_source: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, user_id: nil, object: :"organization.costs.result")
1061
1170
  # The aggregated costs details of the specific time bucket.
1062
1171
  #
1063
1172
  # @param amount [OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationCostsResult::Amount]
@@ -1067,6 +1176,12 @@ module OpenAI
1067
1176
  # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1068
1177
  # costs result.
1069
1178
  #
1179
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1180
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1181
+ # activity and `unlabeled` includes all records without published source
1182
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1183
+ # direct API usage. Without source grouping, this field is null.
1184
+ #
1070
1185
  # @param line_item [String, nil]
1071
1186
  # When `group_by=line_item`, this field provides the line item of the grouped
1072
1187
  # costs result.
@@ -1083,6 +1198,10 @@ module OpenAI
1083
1198
  # The unit of the `quantity` value. If no single supported unit applies to the
1084
1199
  # result, this field is `null`.
1085
1200
  #
1201
+ # @param user_id [String, nil]
1202
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1203
+ # result.
1204
+ #
1086
1205
  # @param object [Symbol, :"organization.costs.result"]
1087
1206
 
1088
1207
  # @see OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationCostsResult#amount
@@ -1108,6 +1227,22 @@ module OpenAI
1108
1227
  # @param value [Float]
1109
1228
  # The numeric value of the cost.
1110
1229
  end
1230
+
1231
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1232
+ # activity and `unlabeled` includes all records without published source
1233
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1234
+ # direct API usage. Without source grouping, this field is null.
1235
+ #
1236
+ # @see OpenAI::Models::Admin::Organization::UsageVectorStoresResponse::Data::Result::OrganizationCostsResult#api_source
1237
+ module APISource
1238
+ extend OpenAI::Internal::Type::Enum
1239
+
1240
+ AGENTS_API = :agents_api
1241
+ UNLABELED = :unlabeled
1242
+
1243
+ # @!method self.values
1244
+ # @return [Array<Symbol>]
1245
+ end
1111
1246
  end
1112
1247
 
1113
1248
  # @!method self.variants
@@ -49,8 +49,10 @@ module OpenAI
49
49
 
50
50
  # @!attribute group_by
51
51
  # Group the usage data by the specified fields. Support fields include
52
- # `project_id`, `user_id`, `api_key_id`, `model`, `context_level` or any
53
- # combination of them.
52
+ # `project_id`, `user_id`, `api_key_id`, `model`, `context_level`, `api_source` or
53
+ # any combination of them. When grouped by `api_source`, results use `agents_api`
54
+ # for attributed Agents API activity and `unlabeled` for all other activity.
55
+ # Without source grouping, `api_source` is null.
54
56
  #
55
57
  # @return [Array<Symbol, OpenAI::Models::Admin::Organization::UsageWebSearchCallsParams::GroupBy>, nil]
56
58
  optional(
@@ -114,8 +116,10 @@ module OpenAI
114
116
  #
115
117
  # @param group_by [Array<Symbol, OpenAI::Models::Admin::Organization::UsageWebSearchCallsParams::GroupBy>]
116
118
  # Group the usage data by the specified fields. Support fields include
117
- # `project_id`, `user_id`, `api_key_id`, `model`, `context_level` or any
118
- # combination of them.
119
+ # `project_id`, `user_id`, `api_key_id`, `model`, `context_level`, `api_source` or
120
+ # any combination of them. When grouped by `api_source`, results use `agents_api`
121
+ # for attributed Agents API activity and `unlabeled` for all other activity.
122
+ # Without source grouping, `api_source` is null.
119
123
  #
120
124
  # @param limit [Integer]
121
125
  # Specifies the number of buckets to return.
@@ -171,6 +175,7 @@ module OpenAI
171
175
  API_KEY_ID = :api_key_id
172
176
  MODEL = :model
173
177
  CONTEXT_LEVEL = :context_level
178
+ API_SOURCE = :api_source
174
179
 
175
180
  # @!method self.values
176
181
  # @return [Array<Symbol>]