openai 0.63.0 → 0.65.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 (305) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -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/audit_log_list_params.rb +6 -0
  6. data/lib/openai/models/admin/organization/audit_log_list_response.rb +231 -1
  7. data/lib/openai/models/admin/organization/data_retention_retrieve_params.rb +18 -0
  8. data/lib/openai/models/admin/organization/data_retention_update_params.rb +40 -0
  9. data/lib/openai/models/admin/organization/group.rb +16 -3
  10. data/lib/openai/models/admin/organization/group_retrieve_params.rb +24 -0
  11. data/lib/openai/models/admin/organization/groups/role_list_response.rb +27 -1
  12. data/lib/openai/models/admin/organization/groups/role_retrieve_params.rb +32 -0
  13. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +134 -0
  14. data/lib/openai/models/admin/organization/groups/user_retrieve_params.rb +32 -0
  15. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +79 -0
  16. data/lib/openai/models/admin/organization/invite_create_params.rb +2 -1
  17. data/lib/openai/models/admin/organization/organization_data_retention.rb +48 -0
  18. data/lib/openai/models/admin/organization/organization_spend_alert.rb +120 -0
  19. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +41 -0
  20. data/lib/openai/models/admin/organization/projects/data_retention_retrieve_params.rb +26 -0
  21. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +51 -0
  22. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +53 -0
  23. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +27 -1
  24. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_params.rb +40 -0
  25. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +136 -0
  26. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rb +26 -0
  27. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +150 -0
  28. data/lib/openai/models/admin/organization/projects/model_permission_delete_params.rb +26 -0
  29. data/lib/openai/models/admin/organization/projects/model_permission_retrieve_params.rb +26 -0
  30. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +54 -0
  31. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +52 -0
  32. data/lib/openai/models/admin/organization/projects/project_group.rb +16 -3
  33. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +133 -0
  34. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +56 -0
  35. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +35 -0
  36. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +122 -0
  37. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +43 -0
  38. data/lib/openai/models/admin/organization/projects/role_retrieve_params.rb +32 -0
  39. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +61 -0
  40. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +109 -0
  41. data/lib/openai/models/admin/organization/projects/spend_alert_delete_params.rb +32 -0
  42. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +76 -0
  43. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +116 -0
  44. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +27 -1
  45. data/lib/openai/models/admin/organization/projects/users/role_retrieve_params.rb +40 -0
  46. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +136 -0
  47. data/lib/openai/models/admin/organization/role_retrieve_params.rb +24 -0
  48. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +100 -0
  49. data/lib/openai/models/admin/organization/spend_alert_delete_params.rb +24 -0
  50. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +66 -0
  51. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +107 -0
  52. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +148 -3
  53. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +148 -3
  54. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +148 -3
  55. data/lib/openai/models/admin/organization/usage_completions_response.rb +148 -3
  56. data/lib/openai/models/admin/organization/usage_costs_response.rb +148 -3
  57. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +148 -3
  58. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +136 -0
  59. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +889 -0
  60. data/lib/openai/models/admin/organization/usage_images_response.rb +148 -3
  61. data/lib/openai/models/admin/organization/usage_moderations_response.rb +148 -3
  62. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +148 -3
  63. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +157 -0
  64. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +889 -0
  65. data/lib/openai/models/admin/organization/users/role_list_response.rb +27 -1
  66. data/lib/openai/models/admin/organization/users/role_retrieve_params.rb +32 -0
  67. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +134 -0
  68. data/lib/openai/models/chat/completion_create_params.rb +16 -0
  69. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  70. data/lib/openai/models/conversations/conversation_item.rb +57 -1
  71. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  72. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  73. data/lib/openai/models/responses/compacted_response.rb +2 -2
  74. data/lib/openai/models/responses/input_token_count_params.rb +41 -4
  75. data/lib/openai/models/responses/response.rb +21 -5
  76. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  77. data/lib/openai/models/responses/response_create_params.rb +19 -3
  78. data/lib/openai/models/responses/response_function_web_search.rb +11 -9
  79. data/lib/openai/models/responses/response_input_item.rb +54 -1
  80. data/lib/openai/models/responses/response_item.rb +57 -1
  81. data/lib/openai/models/responses/response_item_list.rb +2 -2
  82. data/lib/openai/models/responses/response_output_item.rb +57 -1
  83. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  84. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  85. data/lib/openai/models/responses/responses_client_event.rb +19 -3
  86. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  87. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  88. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  89. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  90. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  91. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  92. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  93. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  94. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  95. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  96. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  97. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  98. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  99. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  100. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  101. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  102. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  103. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  104. data/lib/openai/resources/admin/organization.rb +8 -0
  105. data/lib/openai/resources/conversations/items.rb +3 -3
  106. data/lib/openai/resources/conversations.rb +1 -1
  107. data/lib/openai/resources/responses/input_items.rb +1 -1
  108. data/lib/openai/resources/responses/input_tokens.rb +4 -2
  109. data/lib/openai/resources/responses.rb +3 -3
  110. data/lib/openai/version.rb +1 -1
  111. data/lib/openai.rb +51 -0
  112. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +30 -0
  113. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +489 -3
  114. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  115. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  116. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  117. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  118. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  119. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  120. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  121. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  122. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  123. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  124. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  125. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  126. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  127. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  128. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  129. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  130. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  131. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  132. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  133. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  134. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  135. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  136. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  137. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  138. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  139. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  140. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  141. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  142. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  143. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  144. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  145. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  146. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  147. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  148. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  149. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  150. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  151. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  152. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  153. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  154. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  155. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  156. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  157. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  158. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  159. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  160. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  161. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  162. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  163. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  164. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  165. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  166. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  167. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  168. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  169. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  170. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  171. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  172. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  173. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  174. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  175. data/rbi/openai/models/chat/completion_create_params.rbi +24 -0
  176. data/rbi/openai/models/conversations/conversation_create_params.rbi +6 -0
  177. data/rbi/openai/models/conversations/conversation_item.rbi +150 -0
  178. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  179. data/rbi/openai/models/conversations/item_create_params.rbi +6 -0
  180. data/rbi/openai/models/responses/compacted_response.rbi +1 -0
  181. data/rbi/openai/models/responses/input_token_count_params.rbi +85 -0
  182. data/rbi/openai/models/responses/response.rbi +25 -0
  183. data/rbi/openai/models/responses/response_create_params.rbi +24 -0
  184. data/rbi/openai/models/responses/response_function_web_search.rbi +11 -8
  185. data/rbi/openai/models/responses/response_input_item.rbi +147 -0
  186. data/rbi/openai/models/responses/response_item.rbi +150 -0
  187. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  188. data/rbi/openai/models/responses/response_output_item.rbi +150 -0
  189. data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
  190. data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
  191. data/rbi/openai/models/responses/responses_client_event.rbi +24 -0
  192. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  193. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  194. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  195. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  196. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  197. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  198. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  199. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  200. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  201. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  202. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  203. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  204. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  205. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  206. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  207. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  208. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  209. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  210. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  211. data/rbi/openai/resources/admin/organization.rbi +6 -0
  212. data/rbi/openai/resources/chat/completions.rbi +16 -0
  213. data/rbi/openai/resources/conversations/items.rbi +2 -0
  214. data/rbi/openai/resources/conversations.rbi +2 -0
  215. data/rbi/openai/resources/responses/input_tokens.rbi +9 -0
  216. data/rbi/openai/resources/responses.rbi +16 -0
  217. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +12 -0
  218. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +216 -3
  219. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  220. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  221. data/sig/openai/models/admin/organization/group.rbs +15 -4
  222. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  223. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  224. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  225. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  226. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  227. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  228. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  229. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  230. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  231. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  232. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  233. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  234. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  235. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  236. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  237. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  238. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  239. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  240. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  241. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  242. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  243. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  244. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  245. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  246. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  247. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  248. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  249. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  250. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  251. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  252. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  253. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  254. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  255. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  256. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  257. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  258. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  259. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  260. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  261. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  262. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  263. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  264. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  265. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  266. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  267. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  268. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  269. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  270. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  271. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  272. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  273. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  274. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  275. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  276. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  277. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  278. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  279. data/sig/openai/models/conversations/conversation_item.rbs +58 -0
  280. data/sig/openai/models/responses/input_token_count_params.rbs +20 -0
  281. data/sig/openai/models/responses/response_function_web_search.rbs +7 -5
  282. data/sig/openai/models/responses/response_input_item.rbs +44 -0
  283. data/sig/openai/models/responses/response_item.rbs +58 -0
  284. data/sig/openai/models/responses/response_output_item.rbs +58 -0
  285. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  286. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  287. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  288. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  289. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  290. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  291. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  292. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  293. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  294. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  295. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  296. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  297. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  298. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  299. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  300. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  301. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  302. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  303. data/sig/openai/resources/admin/organization.rbs +4 -0
  304. data/sig/openai/resources/responses/input_tokens.rbs +1 -0
  305. metadata +155 -2
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::HostedToolPermissions#retrieve
9
+ class ProjectHostedToolPermissions < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute code_interpreter
11
+ # Permission state for a single hosted tool on a project.
12
+ #
13
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::CodeInterpreter]
14
+ required :code_interpreter,
15
+ -> { OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions::CodeInterpreter }
16
+
17
+ # @!attribute file_search
18
+ # Permission state for a single hosted tool on a project.
19
+ #
20
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::FileSearch]
21
+ required :file_search,
22
+ -> { OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions::FileSearch }
23
+
24
+ # @!attribute image_generation
25
+ # Permission state for a single hosted tool on a project.
26
+ #
27
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::ImageGeneration]
28
+ required :image_generation,
29
+ -> { OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions::ImageGeneration }
30
+
31
+ # @!attribute mcp
32
+ # Permission state for a single hosted tool on a project.
33
+ #
34
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::Mcp]
35
+ required :mcp, -> { OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions::Mcp }
36
+
37
+ # @!attribute web_search
38
+ # Permission state for a single hosted tool on a project.
39
+ #
40
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::WebSearch]
41
+ required :web_search,
42
+ -> { OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions::WebSearch }
43
+
44
+ # @!method initialize(code_interpreter:, file_search:, image_generation:, mcp:, web_search:)
45
+ # Represents hosted tool permissions for a project.
46
+ #
47
+ # @param code_interpreter [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::CodeInterpreter] Permission state for a single hosted tool on a project.
48
+ #
49
+ # @param file_search [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::FileSearch] Permission state for a single hosted tool on a project.
50
+ #
51
+ # @param image_generation [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::ImageGeneration] Permission state for a single hosted tool on a project.
52
+ #
53
+ # @param mcp [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::Mcp] Permission state for a single hosted tool on a project.
54
+ #
55
+ # @param web_search [OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions::WebSearch] Permission state for a single hosted tool on a project.
56
+
57
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions#code_interpreter
58
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
59
+ # @!attribute enabled
60
+ # Whether the hosted tool is enabled for the project.
61
+ #
62
+ # @return [Boolean]
63
+ required :enabled, OpenAI::Internal::Type::Boolean
64
+
65
+ # @!method initialize(enabled:)
66
+ # Permission state for a single hosted tool on a project.
67
+ #
68
+ # @param enabled [Boolean] Whether the hosted tool is enabled for the project.
69
+ end
70
+
71
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions#file_search
72
+ class FileSearch < OpenAI::Internal::Type::BaseModel
73
+ # @!attribute enabled
74
+ # Whether the hosted tool is enabled for the project.
75
+ #
76
+ # @return [Boolean]
77
+ required :enabled, OpenAI::Internal::Type::Boolean
78
+
79
+ # @!method initialize(enabled:)
80
+ # Permission state for a single hosted tool on a project.
81
+ #
82
+ # @param enabled [Boolean] Whether the hosted tool is enabled for the project.
83
+ end
84
+
85
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions#image_generation
86
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
87
+ # @!attribute enabled
88
+ # Whether the hosted tool is enabled for the project.
89
+ #
90
+ # @return [Boolean]
91
+ required :enabled, OpenAI::Internal::Type::Boolean
92
+
93
+ # @!method initialize(enabled:)
94
+ # Permission state for a single hosted tool on a project.
95
+ #
96
+ # @param enabled [Boolean] Whether the hosted tool is enabled for the project.
97
+ end
98
+
99
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions#mcp
100
+ class Mcp < OpenAI::Internal::Type::BaseModel
101
+ # @!attribute enabled
102
+ # Whether the hosted tool is enabled for the project.
103
+ #
104
+ # @return [Boolean]
105
+ required :enabled, OpenAI::Internal::Type::Boolean
106
+
107
+ # @!method initialize(enabled:)
108
+ # Permission state for a single hosted tool on a project.
109
+ #
110
+ # @param enabled [Boolean] Whether the hosted tool is enabled for the project.
111
+ end
112
+
113
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectHostedToolPermissions#web_search
114
+ class WebSearch < OpenAI::Internal::Type::BaseModel
115
+ # @!attribute enabled
116
+ # Whether the hosted tool is enabled for the project.
117
+ #
118
+ # @return [Boolean]
119
+ required :enabled, OpenAI::Internal::Type::Boolean
120
+
121
+ # @!method initialize(enabled:)
122
+ # Permission state for a single hosted tool on a project.
123
+ #
124
+ # @param enabled [Boolean] Whether the hosted tool is enabled for the project.
125
+ end
126
+ end
127
+ end
128
+
129
+ ProjectHostedToolPermissions = Projects::ProjectHostedToolPermissions
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::ModelPermissions#retrieve
9
+ class ProjectModelPermissions < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute mode
11
+ # Whether the project uses an allowlist or a denylist.
12
+ #
13
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectModelPermissions::Mode]
14
+ required :mode, enum: -> { OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode }
15
+
16
+ # @!attribute model_ids
17
+ # The model IDs included in the model permissions policy.
18
+ #
19
+ # @return [Array<String>]
20
+ required :model_ids, OpenAI::Internal::Type::ArrayOf[String]
21
+
22
+ # @!attribute object
23
+ # The object type, which is always `project.model_permissions`.
24
+ #
25
+ # @return [Symbol, :"project.model_permissions"]
26
+ required :object, const: :"project.model_permissions"
27
+
28
+ # @!method initialize(mode:, model_ids:, object: :"project.model_permissions")
29
+ # Represents the model allowlist or denylist policy for a project.
30
+ #
31
+ # @param mode [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectModelPermissions::Mode] Whether the project uses an allowlist or a denylist.
32
+ #
33
+ # @param model_ids [Array<String>] The model IDs included in the model permissions policy.
34
+ #
35
+ # @param object [Symbol, :"project.model_permissions"] The object type, which is always `project.model_permissions`.
36
+
37
+ # Whether the project uses an allowlist or a denylist.
38
+ #
39
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectModelPermissions#mode
40
+ module Mode
41
+ extend OpenAI::Internal::Type::Enum
42
+
43
+ ALLOW_LIST = :allow_list
44
+ DENY_LIST = :deny_list
45
+
46
+ # @!method self.values
47
+ # @return [Array<Symbol>]
48
+ end
49
+ end
50
+ end
51
+
52
+ ProjectModelPermissions = Projects::ProjectModelPermissions
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::ModelPermissions#delete
9
+ class ProjectModelPermissionsDeleted < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute deleted
11
+ # Whether the project model permissions were deleted.
12
+ #
13
+ # @return [Boolean]
14
+ required :deleted, OpenAI::Internal::Type::Boolean
15
+
16
+ # @!attribute object
17
+ # The object type, which is always `project.model_permissions.deleted`.
18
+ #
19
+ # @return [Symbol, :"project.model_permissions.deleted"]
20
+ required :object, const: :"project.model_permissions.deleted"
21
+
22
+ # @!method initialize(deleted:, object: :"project.model_permissions.deleted")
23
+ # Confirmation payload returned after deleting project model permissions.
24
+ #
25
+ # @param deleted [Boolean] Whether the project model permissions were deleted.
26
+ #
27
+ # @param object [Symbol, :"project.model_permissions.deleted"] The object type, which is always `project.model_permissions.deleted`.
28
+ end
29
+ end
30
+
31
+ ProjectModelPermissionsDeleted = Projects::ProjectModelPermissionsDeleted
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#create
9
+ class ProjectSpendAlert < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # The identifier, which can be referenced in API endpoints.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute currency
17
+ # The currency for the threshold amount.
18
+ #
19
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Currency]
20
+ required :currency, enum: -> { OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency }
21
+
22
+ # @!attribute interval
23
+ # The time interval for evaluating spend against the threshold.
24
+ #
25
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Interval]
26
+ required :interval, enum: -> { OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval }
27
+
28
+ # @!attribute notification_channel
29
+ # Email notification settings for a spend alert.
30
+ #
31
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel]
32
+ required :notification_channel,
33
+ -> { OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel }
34
+
35
+ # @!attribute object
36
+ # The object type, which is always `project.spend_alert`.
37
+ #
38
+ # @return [Symbol, :"project.spend_alert"]
39
+ required :object, const: :"project.spend_alert"
40
+
41
+ # @!attribute threshold_amount
42
+ # The alert threshold amount, in cents.
43
+ #
44
+ # @return [Integer]
45
+ required :threshold_amount, Integer
46
+
47
+ # @!method initialize(id:, currency:, interval:, notification_channel:, threshold_amount:, object: :"project.spend_alert")
48
+ # Represents a spend alert configured at the project level.
49
+ #
50
+ # @param id [String] The identifier, which can be referenced in API endpoints.
51
+ #
52
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Currency] The currency for the threshold amount.
53
+ #
54
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Interval] The time interval for evaluating spend against the threshold.
55
+ #
56
+ # @param notification_channel [OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel] Email notification settings for a spend alert.
57
+ #
58
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
59
+ #
60
+ # @param object [Symbol, :"project.spend_alert"] The object type, which is always `project.spend_alert`.
61
+
62
+ # The currency for the threshold amount.
63
+ #
64
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert#currency
65
+ module Currency
66
+ extend OpenAI::Internal::Type::Enum
67
+
68
+ USD = :USD
69
+
70
+ # @!method self.values
71
+ # @return [Array<Symbol>]
72
+ end
73
+
74
+ # The time interval for evaluating spend against the threshold.
75
+ #
76
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert#interval
77
+ module Interval
78
+ extend OpenAI::Internal::Type::Enum
79
+
80
+ MONTH = :month
81
+
82
+ # @!method self.values
83
+ # @return [Array<Symbol>]
84
+ end
85
+
86
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert#notification_channel
87
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
88
+ # @!attribute recipients
89
+ # Email addresses that receive the spend alert notification.
90
+ #
91
+ # @return [Array<String>]
92
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
93
+
94
+ # @!attribute type
95
+ # The notification channel type. Currently only `email` is supported.
96
+ #
97
+ # @return [Symbol, :email]
98
+ required :type, const: :email
99
+
100
+ # @!attribute subject_prefix
101
+ # Optional subject prefix for alert emails.
102
+ #
103
+ # @return [String, nil]
104
+ optional :subject_prefix, String, nil?: true
105
+
106
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
107
+ # Email notification settings for a spend alert.
108
+ #
109
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
110
+ #
111
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
112
+ #
113
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
114
+ end
115
+ end
116
+ end
117
+
118
+ ProjectSpendAlert = Projects::ProjectSpendAlert
119
+ end
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#delete
9
+ class ProjectSpendAlertDeleted < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # The deleted spend alert ID.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute deleted
17
+ # Whether the spend alert was deleted.
18
+ #
19
+ # @return [Boolean]
20
+ required :deleted, OpenAI::Internal::Type::Boolean
21
+
22
+ # @!attribute object
23
+ # Always `project.spend_alert.deleted`.
24
+ #
25
+ # @return [Symbol, :"project.spend_alert.deleted"]
26
+ required :object, const: :"project.spend_alert.deleted"
27
+
28
+ # @!method initialize(id:, deleted:, object: :"project.spend_alert.deleted")
29
+ # Confirmation payload returned after deleting a project spend alert.
30
+ #
31
+ # @param id [String] The deleted spend alert ID.
32
+ #
33
+ # @param deleted [Boolean] Whether the spend alert was deleted.
34
+ #
35
+ # @param object [Symbol, :"project.spend_alert.deleted"] Always `project.spend_alert.deleted`.
36
+ end
37
+ end
38
+
39
+ ProjectSpendAlertDeleted = Projects::ProjectSpendAlertDeleted
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::Roles#retrieve
9
+ class RoleRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute role_id
19
+ #
20
+ # @return [String]
21
+ required :role_id, String
22
+
23
+ # @!method initialize(project_id:, role_id:, request_options: {})
24
+ # @param project_id [String]
25
+ # @param role_id [String]
26
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::ServiceAccounts#update
9
+ class ServiceAccountUpdateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute service_account_id
19
+ #
20
+ # @return [String]
21
+ required :service_account_id, String
22
+
23
+ # @!attribute name
24
+ # The updated service account name.
25
+ #
26
+ # @return [String, nil]
27
+ optional :name, String
28
+
29
+ # @!attribute role
30
+ # The updated service account role.
31
+ #
32
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ServiceAccountUpdateParams::Role, nil]
33
+ optional :role, enum: -> { OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role }
34
+
35
+ # @!method initialize(project_id:, service_account_id:, name: nil, role: nil, request_options: {})
36
+ # @param project_id [String]
37
+ #
38
+ # @param service_account_id [String]
39
+ #
40
+ # @param name [String] The updated service account name.
41
+ #
42
+ # @param role [Symbol, OpenAI::Models::Admin::Organization::Projects::ServiceAccountUpdateParams::Role] The updated service account role.
43
+ #
44
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
45
+
46
+ # The updated service account role.
47
+ module Role
48
+ extend OpenAI::Internal::Type::Enum
49
+
50
+ MEMBER = :member
51
+ OWNER = :owner
52
+
53
+ # @!method self.values
54
+ # @return [Array<Symbol>]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#create
9
+ class SpendAlertCreateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute currency
19
+ # The currency for the threshold amount.
20
+ #
21
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Currency]
22
+ required :currency, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency }
23
+
24
+ # @!attribute interval
25
+ # The time interval for evaluating spend against the threshold.
26
+ #
27
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Interval]
28
+ required :interval, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval }
29
+
30
+ # @!attribute notification_channel
31
+ # Email notification settings for a spend alert.
32
+ #
33
+ # @return [OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel]
34
+ required :notification_channel,
35
+ -> { OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel }
36
+
37
+ # @!attribute threshold_amount
38
+ # The alert threshold amount, in cents.
39
+ #
40
+ # @return [Integer]
41
+ required :threshold_amount, Integer
42
+
43
+ # @!method initialize(project_id:, currency:, interval:, notification_channel:, threshold_amount:, request_options: {})
44
+ # @param project_id [String]
45
+ #
46
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Currency] The currency for the threshold amount.
47
+ #
48
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Interval] The time interval for evaluating spend against the threshold.
49
+ #
50
+ # @param notification_channel [OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel] Email notification settings for a spend alert.
51
+ #
52
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
53
+ #
54
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
55
+
56
+ # The currency for the threshold amount.
57
+ module Currency
58
+ extend OpenAI::Internal::Type::Enum
59
+
60
+ USD = :USD
61
+
62
+ # @!method self.values
63
+ # @return [Array<Symbol>]
64
+ end
65
+
66
+ # The time interval for evaluating spend against the threshold.
67
+ module Interval
68
+ extend OpenAI::Internal::Type::Enum
69
+
70
+ MONTH = :month
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+
76
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
77
+ # @!attribute recipients
78
+ # Email addresses that receive the spend alert notification.
79
+ #
80
+ # @return [Array<String>]
81
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
82
+
83
+ # @!attribute type
84
+ # The notification channel type. Currently only `email` is supported.
85
+ #
86
+ # @return [Symbol, :email]
87
+ required :type, const: :email
88
+
89
+ # @!attribute subject_prefix
90
+ # Optional subject prefix for alert emails.
91
+ #
92
+ # @return [String, nil]
93
+ optional :subject_prefix, String, nil?: true
94
+
95
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
96
+ # Email notification settings for a spend alert.
97
+ #
98
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
99
+ #
100
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
101
+ #
102
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#delete
9
+ class SpendAlertDeleteParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute alert_id
19
+ #
20
+ # @return [String]
21
+ required :alert_id, String
22
+
23
+ # @!method initialize(project_id:, alert_id:, request_options: {})
24
+ # @param project_id [String]
25
+ # @param alert_id [String]
26
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end