openai 0.63.0 → 0.64.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/internal/transport/base_client.rb +2 -0
  5. data/lib/openai/models/admin/organization/data_retention_retrieve_params.rb +18 -0
  6. data/lib/openai/models/admin/organization/data_retention_update_params.rb +40 -0
  7. data/lib/openai/models/admin/organization/group.rb +16 -3
  8. data/lib/openai/models/admin/organization/group_retrieve_params.rb +24 -0
  9. data/lib/openai/models/admin/organization/groups/role_list_response.rb +27 -1
  10. data/lib/openai/models/admin/organization/groups/role_retrieve_params.rb +32 -0
  11. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +134 -0
  12. data/lib/openai/models/admin/organization/groups/user_retrieve_params.rb +32 -0
  13. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +79 -0
  14. data/lib/openai/models/admin/organization/invite_create_params.rb +2 -1
  15. data/lib/openai/models/admin/organization/organization_data_retention.rb +48 -0
  16. data/lib/openai/models/admin/organization/organization_spend_alert.rb +120 -0
  17. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +41 -0
  18. data/lib/openai/models/admin/organization/projects/data_retention_retrieve_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +51 -0
  20. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +53 -0
  21. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +27 -1
  22. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_params.rb +40 -0
  23. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +136 -0
  24. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rb +26 -0
  25. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +150 -0
  26. data/lib/openai/models/admin/organization/projects/model_permission_delete_params.rb +26 -0
  27. data/lib/openai/models/admin/organization/projects/model_permission_retrieve_params.rb +26 -0
  28. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +54 -0
  29. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +52 -0
  30. data/lib/openai/models/admin/organization/projects/project_group.rb +16 -3
  31. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +133 -0
  32. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +56 -0
  33. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +35 -0
  34. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +122 -0
  35. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +43 -0
  36. data/lib/openai/models/admin/organization/projects/role_retrieve_params.rb +32 -0
  37. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +61 -0
  38. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +109 -0
  39. data/lib/openai/models/admin/organization/projects/spend_alert_delete_params.rb +32 -0
  40. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +76 -0
  41. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +116 -0
  42. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +27 -1
  43. data/lib/openai/models/admin/organization/projects/users/role_retrieve_params.rb +40 -0
  44. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +136 -0
  45. data/lib/openai/models/admin/organization/role_retrieve_params.rb +24 -0
  46. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +100 -0
  47. data/lib/openai/models/admin/organization/spend_alert_delete_params.rb +24 -0
  48. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +66 -0
  49. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +107 -0
  50. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +148 -3
  51. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +148 -3
  52. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +148 -3
  53. data/lib/openai/models/admin/organization/usage_completions_response.rb +148 -3
  54. data/lib/openai/models/admin/organization/usage_costs_response.rb +148 -3
  55. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +148 -3
  56. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +136 -0
  57. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +889 -0
  58. data/lib/openai/models/admin/organization/usage_images_response.rb +148 -3
  59. data/lib/openai/models/admin/organization/usage_moderations_response.rb +148 -3
  60. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +148 -3
  61. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +157 -0
  62. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +889 -0
  63. data/lib/openai/models/admin/organization/users/role_list_response.rb +27 -1
  64. data/lib/openai/models/admin/organization/users/role_retrieve_params.rb +32 -0
  65. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +134 -0
  66. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  67. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  68. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  69. data/lib/openai/models/responses/response.rb +3 -3
  70. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  71. data/lib/openai/models/responses/response_create_params.rb +3 -3
  72. data/lib/openai/models/responses/response_input_item.rb +17 -1
  73. data/lib/openai/models/responses/responses_client_event.rb +3 -3
  74. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  75. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  76. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  77. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  78. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  79. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  80. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  81. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  82. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  83. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  84. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  85. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  86. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  87. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  88. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  89. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  90. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  91. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  92. data/lib/openai/resources/admin/organization.rb +8 -0
  93. data/lib/openai/resources/conversations/items.rb +1 -1
  94. data/lib/openai/resources/conversations.rb +1 -1
  95. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  96. data/lib/openai/resources/responses.rb +3 -3
  97. data/lib/openai/version.rb +1 -1
  98. data/lib/openai.rb +51 -0
  99. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  100. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  101. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  102. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  103. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  104. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  105. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  106. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  107. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  108. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  109. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  110. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  111. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  112. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  113. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  114. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  115. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  116. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  117. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  118. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  119. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  120. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  121. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  122. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  123. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  124. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  125. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  126. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  127. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  128. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  129. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  130. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  131. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  132. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  133. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  134. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  135. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  136. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  137. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  138. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  139. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  140. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  141. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  142. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  143. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  144. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  145. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  146. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  147. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  148. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  149. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  150. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  151. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  152. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  153. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  154. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  155. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  156. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  157. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  158. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  159. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  160. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  161. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  162. data/rbi/openai/models/responses/response_input_item.rbi +27 -0
  163. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  164. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  165. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  166. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  167. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  168. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  169. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  170. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  171. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  172. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  173. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  174. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  175. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  176. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  177. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  178. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  179. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  180. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  181. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  182. data/rbi/openai/resources/admin/organization.rbi +6 -0
  183. data/rbi/openai/resources/conversations/items.rbi +1 -0
  184. data/rbi/openai/resources/conversations.rbi +1 -0
  185. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  186. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  187. data/sig/openai/models/admin/organization/group.rbs +15 -4
  188. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  189. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  190. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  191. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  192. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  193. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  194. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  195. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  196. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  197. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  198. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  199. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  200. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  201. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  202. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  203. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  204. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  205. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  206. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  207. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  208. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  209. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  210. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  211. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  212. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  213. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  214. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  215. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  216. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  217. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  218. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  219. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  220. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  221. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  222. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  223. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  224. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  225. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  226. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  227. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  228. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  229. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  230. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  231. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  232. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  233. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  234. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  235. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  236. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  237. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  238. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  239. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  240. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  241. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  242. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  243. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  244. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  245. data/sig/openai/models/responses/response_input_item.rbs +11 -0
  246. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  247. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  248. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  249. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  250. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  251. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  252. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  253. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  254. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  255. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  256. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  257. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  258. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  259. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  260. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  261. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  262. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  263. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  264. data/sig/openai/resources/admin/organization.rbs +4 -0
  265. metadata +155 -2
@@ -0,0 +1,1225 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class UsageWebSearchCallsResponse < OpenAI::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse,
12
+ OpenAI::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ T::Array[
19
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data
20
+ ]
21
+ )
22
+ end
23
+ attr_accessor :data
24
+
25
+ sig { returns(T::Boolean) }
26
+ attr_accessor :has_more
27
+
28
+ sig { returns(T.nilable(String)) }
29
+ attr_accessor :next_page
30
+
31
+ sig { returns(Symbol) }
32
+ attr_accessor :object
33
+
34
+ sig do
35
+ params(
36
+ data:
37
+ T::Array[
38
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::OrHash
39
+ ],
40
+ has_more: T::Boolean,
41
+ next_page: T.nilable(String),
42
+ object: Symbol
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(data:, has_more:, next_page:, object: :page)
46
+ end
47
+
48
+ sig do
49
+ override.returns(
50
+ {
51
+ data:
52
+ T::Array[
53
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data
54
+ ],
55
+ has_more: T::Boolean,
56
+ next_page: T.nilable(String),
57
+ object: Symbol
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+
64
+ class Data < OpenAI::Internal::Type::BaseModel
65
+ OrHash =
66
+ T.type_alias do
67
+ T.any(
68
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data,
69
+ OpenAI::Internal::AnyHash
70
+ )
71
+ end
72
+
73
+ sig { returns(Integer) }
74
+ attr_accessor :end_time
75
+
76
+ sig { returns(Symbol) }
77
+ attr_accessor :object
78
+
79
+ sig do
80
+ returns(
81
+ T::Array[
82
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::Variants
83
+ ]
84
+ )
85
+ end
86
+ attr_accessor :results
87
+
88
+ sig { returns(Integer) }
89
+ attr_accessor :start_time
90
+
91
+ sig do
92
+ params(
93
+ end_time: Integer,
94
+ results:
95
+ T::Array[
96
+ T.any(
97
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageCompletionsResult::OrHash,
98
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageEmbeddingsResult::OrHash,
99
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageModerationsResult::OrHash,
100
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageImagesResult::OrHash,
101
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageAudioSpeechesResult::OrHash,
102
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult::OrHash,
103
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageVectorStoresResult::OrHash,
104
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult::OrHash,
105
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageFileSearchesResult::OrHash,
106
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageWebSearchesResult::OrHash,
107
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult::OrHash
108
+ )
109
+ ],
110
+ start_time: Integer,
111
+ object: Symbol
112
+ ).returns(T.attached_class)
113
+ end
114
+ def self.new(end_time:, results:, start_time:, object: :bucket)
115
+ end
116
+
117
+ sig do
118
+ override.returns(
119
+ {
120
+ end_time: Integer,
121
+ object: Symbol,
122
+ results:
123
+ T::Array[
124
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::Variants
125
+ ],
126
+ start_time: Integer
127
+ }
128
+ )
129
+ end
130
+ def to_hash
131
+ end
132
+
133
+ # The aggregated completions usage details of the specific time bucket.
134
+ module Result
135
+ extend OpenAI::Internal::Type::Union
136
+
137
+ Variants =
138
+ T.type_alias do
139
+ T.any(
140
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageCompletionsResult,
141
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageEmbeddingsResult,
142
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageModerationsResult,
143
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageImagesResult,
144
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageAudioSpeechesResult,
145
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult,
146
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageVectorStoresResult,
147
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult,
148
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageFileSearchesResult,
149
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageWebSearchesResult,
150
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult
151
+ )
152
+ end
153
+
154
+ class OrganizationUsageCompletionsResult < OpenAI::Internal::Type::BaseModel
155
+ OrHash =
156
+ T.type_alias do
157
+ T.any(
158
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageCompletionsResult,
159
+ OpenAI::Internal::AnyHash
160
+ )
161
+ end
162
+
163
+ # The aggregated number of text input tokens used, including cached tokens. For
164
+ # customers subscribe to scale tier, this includes scale tier tokens.
165
+ sig { returns(Integer) }
166
+ attr_accessor :input_tokens
167
+
168
+ # The count of requests made to the model.
169
+ sig { returns(Integer) }
170
+ attr_accessor :num_model_requests
171
+
172
+ sig { returns(Symbol) }
173
+ attr_accessor :object
174
+
175
+ # The aggregated number of text output tokens used. For customers subscribe to
176
+ # scale tier, this includes scale tier tokens.
177
+ sig { returns(Integer) }
178
+ attr_accessor :output_tokens
179
+
180
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
181
+ # usage result.
182
+ sig { returns(T.nilable(String)) }
183
+ attr_accessor :api_key_id
184
+
185
+ # When `group_by=batch`, this field tells whether the grouped usage result is
186
+ # batch or not.
187
+ sig { returns(T.nilable(T::Boolean)) }
188
+ attr_accessor :batch
189
+
190
+ # The aggregated number of audio input tokens used, including cached tokens.
191
+ sig { returns(T.nilable(Integer)) }
192
+ attr_reader :input_audio_tokens
193
+
194
+ sig { params(input_audio_tokens: Integer).void }
195
+ attr_writer :input_audio_tokens
196
+
197
+ # The aggregated number of text input tokens that has been cached from previous
198
+ # requests. For customers subscribe to scale tier, this includes scale tier
199
+ # tokens.
200
+ sig { returns(T.nilable(Integer)) }
201
+ attr_reader :input_cached_tokens
202
+
203
+ sig { params(input_cached_tokens: Integer).void }
204
+ attr_writer :input_cached_tokens
205
+
206
+ # When `group_by=model`, this field provides the model name of the grouped usage
207
+ # result.
208
+ sig { returns(T.nilable(String)) }
209
+ attr_accessor :model
210
+
211
+ # The aggregated number of audio output tokens used.
212
+ sig { returns(T.nilable(Integer)) }
213
+ attr_reader :output_audio_tokens
214
+
215
+ sig { params(output_audio_tokens: Integer).void }
216
+ attr_writer :output_audio_tokens
217
+
218
+ # When `group_by=project_id`, this field provides the project ID of the grouped
219
+ # usage result.
220
+ sig { returns(T.nilable(String)) }
221
+ attr_accessor :project_id
222
+
223
+ # When `group_by=service_tier`, this field provides the service tier of the
224
+ # grouped usage result.
225
+ sig { returns(T.nilable(String)) }
226
+ attr_accessor :service_tier
227
+
228
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
229
+ # result.
230
+ sig { returns(T.nilable(String)) }
231
+ attr_accessor :user_id
232
+
233
+ # The aggregated completions usage details of the specific time bucket.
234
+ sig do
235
+ params(
236
+ input_tokens: Integer,
237
+ num_model_requests: Integer,
238
+ output_tokens: Integer,
239
+ api_key_id: T.nilable(String),
240
+ batch: T.nilable(T::Boolean),
241
+ input_audio_tokens: Integer,
242
+ input_cached_tokens: Integer,
243
+ model: T.nilable(String),
244
+ output_audio_tokens: Integer,
245
+ project_id: T.nilable(String),
246
+ service_tier: T.nilable(String),
247
+ user_id: T.nilable(String),
248
+ object: Symbol
249
+ ).returns(T.attached_class)
250
+ end
251
+ def self.new(
252
+ # The aggregated number of text input tokens used, including cached tokens. For
253
+ # customers subscribe to scale tier, this includes scale tier tokens.
254
+ input_tokens:,
255
+ # The count of requests made to the model.
256
+ num_model_requests:,
257
+ # The aggregated number of text output tokens used. For customers subscribe to
258
+ # scale tier, this includes scale tier tokens.
259
+ output_tokens:,
260
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
261
+ # usage result.
262
+ api_key_id: nil,
263
+ # When `group_by=batch`, this field tells whether the grouped usage result is
264
+ # batch or not.
265
+ batch: nil,
266
+ # The aggregated number of audio input tokens used, including cached tokens.
267
+ input_audio_tokens: nil,
268
+ # The aggregated number of text input tokens that has been cached from previous
269
+ # requests. For customers subscribe to scale tier, this includes scale tier
270
+ # tokens.
271
+ input_cached_tokens: nil,
272
+ # When `group_by=model`, this field provides the model name of the grouped usage
273
+ # result.
274
+ model: nil,
275
+ # The aggregated number of audio output tokens used.
276
+ output_audio_tokens: nil,
277
+ # When `group_by=project_id`, this field provides the project ID of the grouped
278
+ # usage result.
279
+ project_id: nil,
280
+ # When `group_by=service_tier`, this field provides the service tier of the
281
+ # grouped usage result.
282
+ service_tier: nil,
283
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
284
+ # result.
285
+ user_id: nil,
286
+ object: :"organization.usage.completions.result"
287
+ )
288
+ end
289
+
290
+ sig do
291
+ override.returns(
292
+ {
293
+ input_tokens: Integer,
294
+ num_model_requests: Integer,
295
+ object: Symbol,
296
+ output_tokens: Integer,
297
+ api_key_id: T.nilable(String),
298
+ batch: T.nilable(T::Boolean),
299
+ input_audio_tokens: Integer,
300
+ input_cached_tokens: Integer,
301
+ model: T.nilable(String),
302
+ output_audio_tokens: Integer,
303
+ project_id: T.nilable(String),
304
+ service_tier: T.nilable(String),
305
+ user_id: T.nilable(String)
306
+ }
307
+ )
308
+ end
309
+ def to_hash
310
+ end
311
+ end
312
+
313
+ class OrganizationUsageEmbeddingsResult < OpenAI::Internal::Type::BaseModel
314
+ OrHash =
315
+ T.type_alias do
316
+ T.any(
317
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageEmbeddingsResult,
318
+ OpenAI::Internal::AnyHash
319
+ )
320
+ end
321
+
322
+ # The aggregated number of input tokens used.
323
+ sig { returns(Integer) }
324
+ attr_accessor :input_tokens
325
+
326
+ # The count of requests made to the model.
327
+ sig { returns(Integer) }
328
+ attr_accessor :num_model_requests
329
+
330
+ sig { returns(Symbol) }
331
+ attr_accessor :object
332
+
333
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
334
+ # usage result.
335
+ sig { returns(T.nilable(String)) }
336
+ attr_accessor :api_key_id
337
+
338
+ # When `group_by=model`, this field provides the model name of the grouped usage
339
+ # result.
340
+ sig { returns(T.nilable(String)) }
341
+ attr_accessor :model
342
+
343
+ # When `group_by=project_id`, this field provides the project ID of the grouped
344
+ # usage result.
345
+ sig { returns(T.nilable(String)) }
346
+ attr_accessor :project_id
347
+
348
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
349
+ # result.
350
+ sig { returns(T.nilable(String)) }
351
+ attr_accessor :user_id
352
+
353
+ # The aggregated embeddings usage details of the specific time bucket.
354
+ sig do
355
+ params(
356
+ input_tokens: Integer,
357
+ num_model_requests: Integer,
358
+ api_key_id: T.nilable(String),
359
+ model: T.nilable(String),
360
+ project_id: T.nilable(String),
361
+ user_id: T.nilable(String),
362
+ object: Symbol
363
+ ).returns(T.attached_class)
364
+ end
365
+ def self.new(
366
+ # The aggregated number of input tokens used.
367
+ input_tokens:,
368
+ # The count of requests made to the model.
369
+ num_model_requests:,
370
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
371
+ # usage result.
372
+ api_key_id: nil,
373
+ # When `group_by=model`, this field provides the model name of the grouped usage
374
+ # result.
375
+ model: nil,
376
+ # When `group_by=project_id`, this field provides the project ID of the grouped
377
+ # usage result.
378
+ project_id: nil,
379
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
380
+ # result.
381
+ user_id: nil,
382
+ object: :"organization.usage.embeddings.result"
383
+ )
384
+ end
385
+
386
+ sig do
387
+ override.returns(
388
+ {
389
+ input_tokens: Integer,
390
+ num_model_requests: Integer,
391
+ object: Symbol,
392
+ api_key_id: T.nilable(String),
393
+ model: T.nilable(String),
394
+ project_id: T.nilable(String),
395
+ user_id: T.nilable(String)
396
+ }
397
+ )
398
+ end
399
+ def to_hash
400
+ end
401
+ end
402
+
403
+ class OrganizationUsageModerationsResult < OpenAI::Internal::Type::BaseModel
404
+ OrHash =
405
+ T.type_alias do
406
+ T.any(
407
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageModerationsResult,
408
+ OpenAI::Internal::AnyHash
409
+ )
410
+ end
411
+
412
+ # The aggregated number of input tokens used.
413
+ sig { returns(Integer) }
414
+ attr_accessor :input_tokens
415
+
416
+ # The count of requests made to the model.
417
+ sig { returns(Integer) }
418
+ attr_accessor :num_model_requests
419
+
420
+ sig { returns(Symbol) }
421
+ attr_accessor :object
422
+
423
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
424
+ # usage result.
425
+ sig { returns(T.nilable(String)) }
426
+ attr_accessor :api_key_id
427
+
428
+ # When `group_by=model`, this field provides the model name of the grouped usage
429
+ # result.
430
+ sig { returns(T.nilable(String)) }
431
+ attr_accessor :model
432
+
433
+ # When `group_by=project_id`, this field provides the project ID of the grouped
434
+ # usage result.
435
+ sig { returns(T.nilable(String)) }
436
+ attr_accessor :project_id
437
+
438
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
439
+ # result.
440
+ sig { returns(T.nilable(String)) }
441
+ attr_accessor :user_id
442
+
443
+ # The aggregated moderations usage details of the specific time bucket.
444
+ sig do
445
+ params(
446
+ input_tokens: Integer,
447
+ num_model_requests: Integer,
448
+ api_key_id: T.nilable(String),
449
+ model: T.nilable(String),
450
+ project_id: T.nilable(String),
451
+ user_id: T.nilable(String),
452
+ object: Symbol
453
+ ).returns(T.attached_class)
454
+ end
455
+ def self.new(
456
+ # The aggregated number of input tokens used.
457
+ input_tokens:,
458
+ # The count of requests made to the model.
459
+ num_model_requests:,
460
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
461
+ # usage result.
462
+ api_key_id: nil,
463
+ # When `group_by=model`, this field provides the model name of the grouped usage
464
+ # result.
465
+ model: nil,
466
+ # When `group_by=project_id`, this field provides the project ID of the grouped
467
+ # usage result.
468
+ project_id: nil,
469
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
470
+ # result.
471
+ user_id: nil,
472
+ object: :"organization.usage.moderations.result"
473
+ )
474
+ end
475
+
476
+ sig do
477
+ override.returns(
478
+ {
479
+ input_tokens: Integer,
480
+ num_model_requests: Integer,
481
+ object: Symbol,
482
+ api_key_id: T.nilable(String),
483
+ model: T.nilable(String),
484
+ project_id: T.nilable(String),
485
+ user_id: T.nilable(String)
486
+ }
487
+ )
488
+ end
489
+ def to_hash
490
+ end
491
+ end
492
+
493
+ class OrganizationUsageImagesResult < OpenAI::Internal::Type::BaseModel
494
+ OrHash =
495
+ T.type_alias do
496
+ T.any(
497
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageImagesResult,
498
+ OpenAI::Internal::AnyHash
499
+ )
500
+ end
501
+
502
+ # The number of images processed.
503
+ sig { returns(Integer) }
504
+ attr_accessor :images
505
+
506
+ # The count of requests made to the model.
507
+ sig { returns(Integer) }
508
+ attr_accessor :num_model_requests
509
+
510
+ sig { returns(Symbol) }
511
+ attr_accessor :object
512
+
513
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
514
+ # usage result.
515
+ sig { returns(T.nilable(String)) }
516
+ attr_accessor :api_key_id
517
+
518
+ # When `group_by=model`, this field provides the model name of the grouped usage
519
+ # result.
520
+ sig { returns(T.nilable(String)) }
521
+ attr_accessor :model
522
+
523
+ # When `group_by=project_id`, this field provides the project ID of the grouped
524
+ # usage result.
525
+ sig { returns(T.nilable(String)) }
526
+ attr_accessor :project_id
527
+
528
+ # When `group_by=size`, this field provides the image size of the grouped usage
529
+ # result.
530
+ sig { returns(T.nilable(String)) }
531
+ attr_accessor :size
532
+
533
+ # When `group_by=source`, this field provides the source of the grouped usage
534
+ # result, possible values are `image.generation`, `image.edit`, `image.variation`.
535
+ sig { returns(T.nilable(String)) }
536
+ attr_accessor :source
537
+
538
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
539
+ # result.
540
+ sig { returns(T.nilable(String)) }
541
+ attr_accessor :user_id
542
+
543
+ # The aggregated images usage details of the specific time bucket.
544
+ sig do
545
+ params(
546
+ images: Integer,
547
+ num_model_requests: Integer,
548
+ api_key_id: T.nilable(String),
549
+ model: T.nilable(String),
550
+ project_id: T.nilable(String),
551
+ size: T.nilable(String),
552
+ source: T.nilable(String),
553
+ user_id: T.nilable(String),
554
+ object: Symbol
555
+ ).returns(T.attached_class)
556
+ end
557
+ def self.new(
558
+ # The number of images processed.
559
+ images:,
560
+ # The count of requests made to the model.
561
+ num_model_requests:,
562
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
563
+ # usage result.
564
+ api_key_id: nil,
565
+ # When `group_by=model`, this field provides the model name of the grouped usage
566
+ # result.
567
+ model: nil,
568
+ # When `group_by=project_id`, this field provides the project ID of the grouped
569
+ # usage result.
570
+ project_id: nil,
571
+ # When `group_by=size`, this field provides the image size of the grouped usage
572
+ # result.
573
+ size: nil,
574
+ # When `group_by=source`, this field provides the source of the grouped usage
575
+ # result, possible values are `image.generation`, `image.edit`, `image.variation`.
576
+ source: nil,
577
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
578
+ # result.
579
+ user_id: nil,
580
+ object: :"organization.usage.images.result"
581
+ )
582
+ end
583
+
584
+ sig do
585
+ override.returns(
586
+ {
587
+ images: Integer,
588
+ num_model_requests: Integer,
589
+ object: Symbol,
590
+ api_key_id: T.nilable(String),
591
+ model: T.nilable(String),
592
+ project_id: T.nilable(String),
593
+ size: T.nilable(String),
594
+ source: T.nilable(String),
595
+ user_id: T.nilable(String)
596
+ }
597
+ )
598
+ end
599
+ def to_hash
600
+ end
601
+ end
602
+
603
+ class OrganizationUsageAudioSpeechesResult < OpenAI::Internal::Type::BaseModel
604
+ OrHash =
605
+ T.type_alias do
606
+ T.any(
607
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageAudioSpeechesResult,
608
+ OpenAI::Internal::AnyHash
609
+ )
610
+ end
611
+
612
+ # The number of characters processed.
613
+ sig { returns(Integer) }
614
+ attr_accessor :characters
615
+
616
+ # The count of requests made to the model.
617
+ sig { returns(Integer) }
618
+ attr_accessor :num_model_requests
619
+
620
+ sig { returns(Symbol) }
621
+ attr_accessor :object
622
+
623
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
624
+ # usage result.
625
+ sig { returns(T.nilable(String)) }
626
+ attr_accessor :api_key_id
627
+
628
+ # When `group_by=model`, this field provides the model name of the grouped usage
629
+ # result.
630
+ sig { returns(T.nilable(String)) }
631
+ attr_accessor :model
632
+
633
+ # When `group_by=project_id`, this field provides the project ID of the grouped
634
+ # usage result.
635
+ sig { returns(T.nilable(String)) }
636
+ attr_accessor :project_id
637
+
638
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
639
+ # result.
640
+ sig { returns(T.nilable(String)) }
641
+ attr_accessor :user_id
642
+
643
+ # The aggregated audio speeches usage details of the specific time bucket.
644
+ sig do
645
+ params(
646
+ characters: Integer,
647
+ num_model_requests: Integer,
648
+ api_key_id: T.nilable(String),
649
+ model: T.nilable(String),
650
+ project_id: T.nilable(String),
651
+ user_id: T.nilable(String),
652
+ object: Symbol
653
+ ).returns(T.attached_class)
654
+ end
655
+ def self.new(
656
+ # The number of characters processed.
657
+ characters:,
658
+ # The count of requests made to the model.
659
+ num_model_requests:,
660
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
661
+ # usage result.
662
+ api_key_id: nil,
663
+ # When `group_by=model`, this field provides the model name of the grouped usage
664
+ # result.
665
+ model: nil,
666
+ # When `group_by=project_id`, this field provides the project ID of the grouped
667
+ # usage result.
668
+ project_id: nil,
669
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
670
+ # result.
671
+ user_id: nil,
672
+ object: :"organization.usage.audio_speeches.result"
673
+ )
674
+ end
675
+
676
+ sig do
677
+ override.returns(
678
+ {
679
+ characters: Integer,
680
+ num_model_requests: Integer,
681
+ object: Symbol,
682
+ api_key_id: T.nilable(String),
683
+ model: T.nilable(String),
684
+ project_id: T.nilable(String),
685
+ user_id: T.nilable(String)
686
+ }
687
+ )
688
+ end
689
+ def to_hash
690
+ end
691
+ end
692
+
693
+ class OrganizationUsageAudioTranscriptionsResult < OpenAI::Internal::Type::BaseModel
694
+ OrHash =
695
+ T.type_alias do
696
+ T.any(
697
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult,
698
+ OpenAI::Internal::AnyHash
699
+ )
700
+ end
701
+
702
+ # The count of requests made to the model.
703
+ sig { returns(Integer) }
704
+ attr_accessor :num_model_requests
705
+
706
+ sig { returns(Symbol) }
707
+ attr_accessor :object
708
+
709
+ # The number of seconds processed.
710
+ sig { returns(Integer) }
711
+ attr_accessor :seconds
712
+
713
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
714
+ # usage result.
715
+ sig { returns(T.nilable(String)) }
716
+ attr_accessor :api_key_id
717
+
718
+ # When `group_by=model`, this field provides the model name of the grouped usage
719
+ # result.
720
+ sig { returns(T.nilable(String)) }
721
+ attr_accessor :model
722
+
723
+ # When `group_by=project_id`, this field provides the project ID of the grouped
724
+ # usage result.
725
+ sig { returns(T.nilable(String)) }
726
+ attr_accessor :project_id
727
+
728
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
729
+ # result.
730
+ sig { returns(T.nilable(String)) }
731
+ attr_accessor :user_id
732
+
733
+ # The aggregated audio transcriptions usage details of the specific time bucket.
734
+ sig do
735
+ params(
736
+ num_model_requests: Integer,
737
+ seconds: Integer,
738
+ api_key_id: T.nilable(String),
739
+ model: T.nilable(String),
740
+ project_id: T.nilable(String),
741
+ user_id: T.nilable(String),
742
+ object: Symbol
743
+ ).returns(T.attached_class)
744
+ end
745
+ def self.new(
746
+ # The count of requests made to the model.
747
+ num_model_requests:,
748
+ # The number of seconds processed.
749
+ seconds:,
750
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
751
+ # usage result.
752
+ api_key_id: nil,
753
+ # When `group_by=model`, this field provides the model name of the grouped usage
754
+ # result.
755
+ model: nil,
756
+ # When `group_by=project_id`, this field provides the project ID of the grouped
757
+ # usage result.
758
+ project_id: nil,
759
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
760
+ # result.
761
+ user_id: nil,
762
+ object: :"organization.usage.audio_transcriptions.result"
763
+ )
764
+ end
765
+
766
+ sig do
767
+ override.returns(
768
+ {
769
+ num_model_requests: Integer,
770
+ object: Symbol,
771
+ seconds: Integer,
772
+ api_key_id: T.nilable(String),
773
+ model: T.nilable(String),
774
+ project_id: T.nilable(String),
775
+ user_id: T.nilable(String)
776
+ }
777
+ )
778
+ end
779
+ def to_hash
780
+ end
781
+ end
782
+
783
+ class OrganizationUsageVectorStoresResult < OpenAI::Internal::Type::BaseModel
784
+ OrHash =
785
+ T.type_alias do
786
+ T.any(
787
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageVectorStoresResult,
788
+ OpenAI::Internal::AnyHash
789
+ )
790
+ end
791
+
792
+ sig { returns(Symbol) }
793
+ attr_accessor :object
794
+
795
+ # The vector stores usage in bytes.
796
+ sig { returns(Integer) }
797
+ attr_accessor :usage_bytes
798
+
799
+ # When `group_by=project_id`, this field provides the project ID of the grouped
800
+ # usage result.
801
+ sig { returns(T.nilable(String)) }
802
+ attr_accessor :project_id
803
+
804
+ # The aggregated vector stores usage details of the specific time bucket.
805
+ sig do
806
+ params(
807
+ usage_bytes: Integer,
808
+ project_id: T.nilable(String),
809
+ object: Symbol
810
+ ).returns(T.attached_class)
811
+ end
812
+ def self.new(
813
+ # The vector stores usage in bytes.
814
+ usage_bytes:,
815
+ # When `group_by=project_id`, this field provides the project ID of the grouped
816
+ # usage result.
817
+ project_id: nil,
818
+ object: :"organization.usage.vector_stores.result"
819
+ )
820
+ end
821
+
822
+ sig do
823
+ override.returns(
824
+ {
825
+ object: Symbol,
826
+ usage_bytes: Integer,
827
+ project_id: T.nilable(String)
828
+ }
829
+ )
830
+ end
831
+ def to_hash
832
+ end
833
+ end
834
+
835
+ class OrganizationUsageCodeInterpreterSessionsResult < OpenAI::Internal::Type::BaseModel
836
+ OrHash =
837
+ T.type_alias do
838
+ T.any(
839
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult,
840
+ OpenAI::Internal::AnyHash
841
+ )
842
+ end
843
+
844
+ # The number of code interpreter sessions.
845
+ sig { returns(Integer) }
846
+ attr_accessor :num_sessions
847
+
848
+ sig { returns(Symbol) }
849
+ attr_accessor :object
850
+
851
+ # When `group_by=project_id`, this field provides the project ID of the grouped
852
+ # usage result.
853
+ sig { returns(T.nilable(String)) }
854
+ attr_accessor :project_id
855
+
856
+ # The aggregated code interpreter sessions usage details of the specific time
857
+ # bucket.
858
+ sig do
859
+ params(
860
+ num_sessions: Integer,
861
+ project_id: T.nilable(String),
862
+ object: Symbol
863
+ ).returns(T.attached_class)
864
+ end
865
+ def self.new(
866
+ # The number of code interpreter sessions.
867
+ num_sessions:,
868
+ # When `group_by=project_id`, this field provides the project ID of the grouped
869
+ # usage result.
870
+ project_id: nil,
871
+ object: :"organization.usage.code_interpreter_sessions.result"
872
+ )
873
+ end
874
+
875
+ sig do
876
+ override.returns(
877
+ {
878
+ num_sessions: Integer,
879
+ object: Symbol,
880
+ project_id: T.nilable(String)
881
+ }
882
+ )
883
+ end
884
+ def to_hash
885
+ end
886
+ end
887
+
888
+ class OrganizationUsageFileSearchesResult < OpenAI::Internal::Type::BaseModel
889
+ OrHash =
890
+ T.type_alias do
891
+ T.any(
892
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageFileSearchesResult,
893
+ OpenAI::Internal::AnyHash
894
+ )
895
+ end
896
+
897
+ # The count of file search calls.
898
+ sig { returns(Integer) }
899
+ attr_accessor :num_requests
900
+
901
+ sig { returns(Symbol) }
902
+ attr_accessor :object
903
+
904
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
905
+ # usage result.
906
+ sig { returns(T.nilable(String)) }
907
+ attr_accessor :api_key_id
908
+
909
+ # When `group_by=project_id`, this field provides the project ID of the grouped
910
+ # usage result.
911
+ sig { returns(T.nilable(String)) }
912
+ attr_accessor :project_id
913
+
914
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
915
+ # result.
916
+ sig { returns(T.nilable(String)) }
917
+ attr_accessor :user_id
918
+
919
+ # When `group_by=vector_store_id`, this field provides the vector store ID of the
920
+ # grouped usage result.
921
+ sig { returns(T.nilable(String)) }
922
+ attr_accessor :vector_store_id
923
+
924
+ # The aggregated file search calls usage details of the specific time bucket.
925
+ sig do
926
+ params(
927
+ num_requests: Integer,
928
+ api_key_id: T.nilable(String),
929
+ project_id: T.nilable(String),
930
+ user_id: T.nilable(String),
931
+ vector_store_id: T.nilable(String),
932
+ object: Symbol
933
+ ).returns(T.attached_class)
934
+ end
935
+ def self.new(
936
+ # The count of file search calls.
937
+ num_requests:,
938
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
939
+ # usage result.
940
+ api_key_id: nil,
941
+ # When `group_by=project_id`, this field provides the project ID of the grouped
942
+ # usage result.
943
+ project_id: nil,
944
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
945
+ # result.
946
+ user_id: nil,
947
+ # When `group_by=vector_store_id`, this field provides the vector store ID of the
948
+ # grouped usage result.
949
+ vector_store_id: nil,
950
+ object: :"organization.usage.file_searches.result"
951
+ )
952
+ end
953
+
954
+ sig do
955
+ override.returns(
956
+ {
957
+ num_requests: Integer,
958
+ object: Symbol,
959
+ api_key_id: T.nilable(String),
960
+ project_id: T.nilable(String),
961
+ user_id: T.nilable(String),
962
+ vector_store_id: T.nilable(String)
963
+ }
964
+ )
965
+ end
966
+ def to_hash
967
+ end
968
+ end
969
+
970
+ class OrganizationUsageWebSearchesResult < OpenAI::Internal::Type::BaseModel
971
+ OrHash =
972
+ T.type_alias do
973
+ T.any(
974
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationUsageWebSearchesResult,
975
+ OpenAI::Internal::AnyHash
976
+ )
977
+ end
978
+
979
+ # The count of model requests.
980
+ sig { returns(Integer) }
981
+ attr_accessor :num_model_requests
982
+
983
+ # The count of web search calls.
984
+ sig { returns(Integer) }
985
+ attr_accessor :num_requests
986
+
987
+ sig { returns(Symbol) }
988
+ attr_accessor :object
989
+
990
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
991
+ # usage result.
992
+ sig { returns(T.nilable(String)) }
993
+ attr_accessor :api_key_id
994
+
995
+ # When `group_by=context_level`, this field provides the search context size of
996
+ # the grouped usage result.
997
+ sig { returns(T.nilable(String)) }
998
+ attr_accessor :context_level
999
+
1000
+ # When `group_by=model`, this field provides the model name of the grouped usage
1001
+ # result.
1002
+ sig { returns(T.nilable(String)) }
1003
+ attr_accessor :model
1004
+
1005
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1006
+ # usage result.
1007
+ sig { returns(T.nilable(String)) }
1008
+ attr_accessor :project_id
1009
+
1010
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
1011
+ # result.
1012
+ sig { returns(T.nilable(String)) }
1013
+ attr_accessor :user_id
1014
+
1015
+ # The aggregated web search calls usage details of the specific time bucket.
1016
+ sig do
1017
+ params(
1018
+ num_model_requests: Integer,
1019
+ num_requests: Integer,
1020
+ api_key_id: T.nilable(String),
1021
+ context_level: T.nilable(String),
1022
+ model: T.nilable(String),
1023
+ project_id: T.nilable(String),
1024
+ user_id: T.nilable(String),
1025
+ object: Symbol
1026
+ ).returns(T.attached_class)
1027
+ end
1028
+ def self.new(
1029
+ # The count of model requests.
1030
+ num_model_requests:,
1031
+ # The count of web search calls.
1032
+ num_requests:,
1033
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
1034
+ # usage result.
1035
+ api_key_id: nil,
1036
+ # When `group_by=context_level`, this field provides the search context size of
1037
+ # the grouped usage result.
1038
+ context_level: nil,
1039
+ # When `group_by=model`, this field provides the model name of the grouped usage
1040
+ # result.
1041
+ model: nil,
1042
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1043
+ # usage result.
1044
+ project_id: nil,
1045
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
1046
+ # result.
1047
+ user_id: nil,
1048
+ object: :"organization.usage.web_searches.result"
1049
+ )
1050
+ end
1051
+
1052
+ sig do
1053
+ override.returns(
1054
+ {
1055
+ num_model_requests: Integer,
1056
+ num_requests: Integer,
1057
+ object: Symbol,
1058
+ api_key_id: T.nilable(String),
1059
+ context_level: T.nilable(String),
1060
+ model: T.nilable(String),
1061
+ project_id: T.nilable(String),
1062
+ user_id: T.nilable(String)
1063
+ }
1064
+ )
1065
+ end
1066
+ def to_hash
1067
+ end
1068
+ end
1069
+
1070
+ class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
1071
+ OrHash =
1072
+ T.type_alias do
1073
+ T.any(
1074
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult,
1075
+ OpenAI::Internal::AnyHash
1076
+ )
1077
+ end
1078
+
1079
+ sig { returns(Symbol) }
1080
+ attr_accessor :object
1081
+
1082
+ # The monetary value in its associated currency.
1083
+ sig do
1084
+ returns(
1085
+ T.nilable(
1086
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult::Amount
1087
+ )
1088
+ )
1089
+ end
1090
+ attr_reader :amount
1091
+
1092
+ sig do
1093
+ params(
1094
+ amount:
1095
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult::Amount::OrHash
1096
+ ).void
1097
+ end
1098
+ attr_writer :amount
1099
+
1100
+ # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1101
+ # costs result.
1102
+ sig { returns(T.nilable(String)) }
1103
+ attr_accessor :api_key_id
1104
+
1105
+ # When `group_by=line_item`, this field provides the line item of the grouped
1106
+ # costs result.
1107
+ sig { returns(T.nilable(String)) }
1108
+ attr_accessor :line_item
1109
+
1110
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1111
+ # costs result.
1112
+ sig { returns(T.nilable(String)) }
1113
+ attr_accessor :project_id
1114
+
1115
+ # When `group_by=line_item`, this field provides the quantity of the grouped costs
1116
+ # result.
1117
+ sig { returns(T.nilable(Float)) }
1118
+ attr_accessor :quantity
1119
+
1120
+ # The aggregated costs details of the specific time bucket.
1121
+ sig do
1122
+ params(
1123
+ amount:
1124
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult::Amount::OrHash,
1125
+ api_key_id: T.nilable(String),
1126
+ line_item: T.nilable(String),
1127
+ project_id: T.nilable(String),
1128
+ quantity: T.nilable(Float),
1129
+ object: Symbol
1130
+ ).returns(T.attached_class)
1131
+ end
1132
+ def self.new(
1133
+ # The monetary value in its associated currency.
1134
+ amount: nil,
1135
+ # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1136
+ # costs result.
1137
+ api_key_id: nil,
1138
+ # When `group_by=line_item`, this field provides the line item of the grouped
1139
+ # costs result.
1140
+ line_item: nil,
1141
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1142
+ # costs result.
1143
+ project_id: nil,
1144
+ # When `group_by=line_item`, this field provides the quantity of the grouped costs
1145
+ # result.
1146
+ quantity: nil,
1147
+ object: :"organization.costs.result"
1148
+ )
1149
+ end
1150
+
1151
+ sig do
1152
+ override.returns(
1153
+ {
1154
+ object: Symbol,
1155
+ amount:
1156
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult::Amount,
1157
+ api_key_id: T.nilable(String),
1158
+ line_item: T.nilable(String),
1159
+ project_id: T.nilable(String),
1160
+ quantity: T.nilable(Float)
1161
+ }
1162
+ )
1163
+ end
1164
+ def to_hash
1165
+ end
1166
+
1167
+ class Amount < OpenAI::Internal::Type::BaseModel
1168
+ OrHash =
1169
+ T.type_alias do
1170
+ T.any(
1171
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::OrganizationCostsResult::Amount,
1172
+ OpenAI::Internal::AnyHash
1173
+ )
1174
+ end
1175
+
1176
+ # Lowercase ISO-4217 currency e.g. "usd"
1177
+ sig { returns(T.nilable(String)) }
1178
+ attr_reader :currency
1179
+
1180
+ sig { params(currency: String).void }
1181
+ attr_writer :currency
1182
+
1183
+ # The numeric value of the cost.
1184
+ sig { returns(T.nilable(Float)) }
1185
+ attr_reader :value
1186
+
1187
+ sig { params(value: Float).void }
1188
+ attr_writer :value
1189
+
1190
+ # The monetary value in its associated currency.
1191
+ sig do
1192
+ params(currency: String, value: Float).returns(
1193
+ T.attached_class
1194
+ )
1195
+ end
1196
+ def self.new(
1197
+ # Lowercase ISO-4217 currency e.g. "usd"
1198
+ currency: nil,
1199
+ # The numeric value of the cost.
1200
+ value: nil
1201
+ )
1202
+ end
1203
+
1204
+ sig { override.returns({ currency: String, value: Float }) }
1205
+ def to_hash
1206
+ end
1207
+ end
1208
+ end
1209
+
1210
+ sig do
1211
+ override.returns(
1212
+ T::Array[
1213
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result::Variants
1214
+ ]
1215
+ )
1216
+ end
1217
+ def self.variants
1218
+ end
1219
+ end
1220
+ end
1221
+ end
1222
+ end
1223
+ end
1224
+ end
1225
+ end