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,220 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendAlertCreateParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ # The currency for the threshold amount.
24
+ sig do
25
+ returns(
26
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency::OrSymbol
27
+ )
28
+ end
29
+ attr_accessor :currency
30
+
31
+ # The time interval for evaluating spend against the threshold.
32
+ sig do
33
+ returns(
34
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval::OrSymbol
35
+ )
36
+ end
37
+ attr_accessor :interval
38
+
39
+ # Email notification settings for a spend alert.
40
+ sig do
41
+ returns(
42
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel
43
+ )
44
+ end
45
+ attr_reader :notification_channel
46
+
47
+ sig do
48
+ params(
49
+ notification_channel:
50
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel::OrHash
51
+ ).void
52
+ end
53
+ attr_writer :notification_channel
54
+
55
+ # The alert threshold amount, in cents.
56
+ sig { returns(Integer) }
57
+ attr_accessor :threshold_amount
58
+
59
+ sig do
60
+ params(
61
+ project_id: String,
62
+ currency:
63
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency::OrSymbol,
64
+ interval:
65
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval::OrSymbol,
66
+ notification_channel:
67
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel::OrHash,
68
+ threshold_amount: Integer,
69
+ request_options: OpenAI::RequestOptions::OrHash
70
+ ).returns(T.attached_class)
71
+ end
72
+ def self.new(
73
+ project_id:,
74
+ # The currency for the threshold amount.
75
+ currency:,
76
+ # The time interval for evaluating spend against the threshold.
77
+ interval:,
78
+ # Email notification settings for a spend alert.
79
+ notification_channel:,
80
+ # The alert threshold amount, in cents.
81
+ threshold_amount:,
82
+ request_options: {}
83
+ )
84
+ end
85
+
86
+ sig do
87
+ override.returns(
88
+ {
89
+ project_id: String,
90
+ currency:
91
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency::OrSymbol,
92
+ interval:
93
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval::OrSymbol,
94
+ notification_channel:
95
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel,
96
+ threshold_amount: Integer,
97
+ request_options: OpenAI::RequestOptions
98
+ }
99
+ )
100
+ end
101
+ def to_hash
102
+ end
103
+
104
+ # The currency for the threshold amount.
105
+ module Currency
106
+ extend OpenAI::Internal::Type::Enum
107
+
108
+ TaggedSymbol =
109
+ T.type_alias do
110
+ T.all(
111
+ Symbol,
112
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency
113
+ )
114
+ end
115
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
116
+
117
+ USD =
118
+ T.let(
119
+ :USD,
120
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency::TaggedSymbol
121
+ )
122
+
123
+ sig do
124
+ override.returns(
125
+ T::Array[
126
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency::TaggedSymbol
127
+ ]
128
+ )
129
+ end
130
+ def self.values
131
+ end
132
+ end
133
+
134
+ # The time interval for evaluating spend against the threshold.
135
+ module Interval
136
+ extend OpenAI::Internal::Type::Enum
137
+
138
+ TaggedSymbol =
139
+ T.type_alias do
140
+ T.all(
141
+ Symbol,
142
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval
143
+ )
144
+ end
145
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
146
+
147
+ MONTH =
148
+ T.let(
149
+ :month,
150
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval::TaggedSymbol
151
+ )
152
+
153
+ sig do
154
+ override.returns(
155
+ T::Array[
156
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval::TaggedSymbol
157
+ ]
158
+ )
159
+ end
160
+ def self.values
161
+ end
162
+ end
163
+
164
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
165
+ OrHash =
166
+ T.type_alias do
167
+ T.any(
168
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel,
169
+ OpenAI::Internal::AnyHash
170
+ )
171
+ end
172
+
173
+ # Email addresses that receive the spend alert notification.
174
+ sig { returns(T::Array[String]) }
175
+ attr_accessor :recipients
176
+
177
+ # The notification channel type. Currently only `email` is supported.
178
+ sig { returns(Symbol) }
179
+ attr_accessor :type
180
+
181
+ # Optional subject prefix for alert emails.
182
+ sig { returns(T.nilable(String)) }
183
+ attr_accessor :subject_prefix
184
+
185
+ # Email notification settings for a spend alert.
186
+ sig do
187
+ params(
188
+ recipients: T::Array[String],
189
+ subject_prefix: T.nilable(String),
190
+ type: Symbol
191
+ ).returns(T.attached_class)
192
+ end
193
+ def self.new(
194
+ # Email addresses that receive the spend alert notification.
195
+ recipients:,
196
+ # Optional subject prefix for alert emails.
197
+ subject_prefix: nil,
198
+ # The notification channel type. Currently only `email` is supported.
199
+ type: :email
200
+ )
201
+ end
202
+
203
+ sig do
204
+ override.returns(
205
+ {
206
+ recipients: T::Array[String],
207
+ type: Symbol,
208
+ subject_prefix: T.nilable(String)
209
+ }
210
+ )
211
+ end
212
+ def to_hash
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendAlertDeleteParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendAlertDeleteParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :alert_id
25
+
26
+ sig do
27
+ params(
28
+ project_id: String,
29
+ alert_id: String,
30
+ request_options: OpenAI::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(project_id:, alert_id:, request_options: {})
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ {
39
+ project_id: String,
40
+ alert_id: String,
41
+ request_options: OpenAI::RequestOptions
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,146 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendAlertListParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ # Cursor for pagination. Provide the ID of the last spend alert from the previous
24
+ # response to fetch the next page.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :after
27
+
28
+ sig { params(after: String).void }
29
+ attr_writer :after
30
+
31
+ # Cursor for pagination. Provide the ID of the first spend alert from the previous
32
+ # response to fetch the previous page.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :before
35
+
36
+ sig { params(before: String).void }
37
+ attr_writer :before
38
+
39
+ # A limit on the number of spend alerts to return. Defaults to 20.
40
+ sig { returns(T.nilable(Integer)) }
41
+ attr_reader :limit
42
+
43
+ sig { params(limit: Integer).void }
44
+ attr_writer :limit
45
+
46
+ # Sort order for the returned spend alerts.
47
+ sig do
48
+ returns(
49
+ T.nilable(
50
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::OrSymbol
51
+ )
52
+ )
53
+ end
54
+ attr_reader :order
55
+
56
+ sig do
57
+ params(
58
+ order:
59
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::OrSymbol
60
+ ).void
61
+ end
62
+ attr_writer :order
63
+
64
+ sig do
65
+ params(
66
+ project_id: String,
67
+ after: String,
68
+ before: String,
69
+ limit: Integer,
70
+ order:
71
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::OrSymbol,
72
+ request_options: OpenAI::RequestOptions::OrHash
73
+ ).returns(T.attached_class)
74
+ end
75
+ def self.new(
76
+ project_id:,
77
+ # Cursor for pagination. Provide the ID of the last spend alert from the previous
78
+ # response to fetch the next page.
79
+ after: nil,
80
+ # Cursor for pagination. Provide the ID of the first spend alert from the previous
81
+ # response to fetch the previous page.
82
+ before: nil,
83
+ # A limit on the number of spend alerts to return. Defaults to 20.
84
+ limit: nil,
85
+ # Sort order for the returned spend alerts.
86
+ order: nil,
87
+ request_options: {}
88
+ )
89
+ end
90
+
91
+ sig do
92
+ override.returns(
93
+ {
94
+ project_id: String,
95
+ after: String,
96
+ before: String,
97
+ limit: Integer,
98
+ order:
99
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::OrSymbol,
100
+ request_options: OpenAI::RequestOptions
101
+ }
102
+ )
103
+ end
104
+ def to_hash
105
+ end
106
+
107
+ # Sort order for the returned spend alerts.
108
+ module Order
109
+ extend OpenAI::Internal::Type::Enum
110
+
111
+ TaggedSymbol =
112
+ T.type_alias do
113
+ T.all(
114
+ Symbol,
115
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order
116
+ )
117
+ end
118
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
119
+
120
+ ASC =
121
+ T.let(
122
+ :asc,
123
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::TaggedSymbol
124
+ )
125
+ DESC =
126
+ T.let(
127
+ :desc,
128
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::TaggedSymbol
129
+ )
130
+
131
+ sig do
132
+ override.returns(
133
+ T::Array[
134
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::TaggedSymbol
135
+ ]
136
+ )
137
+ end
138
+ def self.values
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,226 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendAlertUpdateParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :alert_id
25
+
26
+ # The currency for the threshold amount.
27
+ sig do
28
+ returns(
29
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency::OrSymbol
30
+ )
31
+ end
32
+ attr_accessor :currency
33
+
34
+ # The time interval for evaluating spend against the threshold.
35
+ sig do
36
+ returns(
37
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval::OrSymbol
38
+ )
39
+ end
40
+ attr_accessor :interval
41
+
42
+ # Email notification settings for a spend alert.
43
+ sig do
44
+ returns(
45
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel
46
+ )
47
+ end
48
+ attr_reader :notification_channel
49
+
50
+ sig do
51
+ params(
52
+ notification_channel:
53
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel::OrHash
54
+ ).void
55
+ end
56
+ attr_writer :notification_channel
57
+
58
+ # The alert threshold amount, in cents.
59
+ sig { returns(Integer) }
60
+ attr_accessor :threshold_amount
61
+
62
+ sig do
63
+ params(
64
+ project_id: String,
65
+ alert_id: String,
66
+ currency:
67
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency::OrSymbol,
68
+ interval:
69
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval::OrSymbol,
70
+ notification_channel:
71
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel::OrHash,
72
+ threshold_amount: Integer,
73
+ request_options: OpenAI::RequestOptions::OrHash
74
+ ).returns(T.attached_class)
75
+ end
76
+ def self.new(
77
+ project_id:,
78
+ alert_id:,
79
+ # The currency for the threshold amount.
80
+ currency:,
81
+ # The time interval for evaluating spend against the threshold.
82
+ interval:,
83
+ # Email notification settings for a spend alert.
84
+ notification_channel:,
85
+ # The alert threshold amount, in cents.
86
+ threshold_amount:,
87
+ request_options: {}
88
+ )
89
+ end
90
+
91
+ sig do
92
+ override.returns(
93
+ {
94
+ project_id: String,
95
+ alert_id: String,
96
+ currency:
97
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency::OrSymbol,
98
+ interval:
99
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval::OrSymbol,
100
+ notification_channel:
101
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel,
102
+ threshold_amount: Integer,
103
+ request_options: OpenAI::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ # The currency for the threshold amount.
111
+ module Currency
112
+ extend OpenAI::Internal::Type::Enum
113
+
114
+ TaggedSymbol =
115
+ T.type_alias do
116
+ T.all(
117
+ Symbol,
118
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency
119
+ )
120
+ end
121
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
122
+
123
+ USD =
124
+ T.let(
125
+ :USD,
126
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency::TaggedSymbol
127
+ )
128
+
129
+ sig do
130
+ override.returns(
131
+ T::Array[
132
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency::TaggedSymbol
133
+ ]
134
+ )
135
+ end
136
+ def self.values
137
+ end
138
+ end
139
+
140
+ # The time interval for evaluating spend against the threshold.
141
+ module Interval
142
+ extend OpenAI::Internal::Type::Enum
143
+
144
+ TaggedSymbol =
145
+ T.type_alias do
146
+ T.all(
147
+ Symbol,
148
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval
149
+ )
150
+ end
151
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
152
+
153
+ MONTH =
154
+ T.let(
155
+ :month,
156
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval::TaggedSymbol
157
+ )
158
+
159
+ sig do
160
+ override.returns(
161
+ T::Array[
162
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval::TaggedSymbol
163
+ ]
164
+ )
165
+ end
166
+ def self.values
167
+ end
168
+ end
169
+
170
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
171
+ OrHash =
172
+ T.type_alias do
173
+ T.any(
174
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel,
175
+ OpenAI::Internal::AnyHash
176
+ )
177
+ end
178
+
179
+ # Email addresses that receive the spend alert notification.
180
+ sig { returns(T::Array[String]) }
181
+ attr_accessor :recipients
182
+
183
+ # The notification channel type. Currently only `email` is supported.
184
+ sig { returns(Symbol) }
185
+ attr_accessor :type
186
+
187
+ # Optional subject prefix for alert emails.
188
+ sig { returns(T.nilable(String)) }
189
+ attr_accessor :subject_prefix
190
+
191
+ # Email notification settings for a spend alert.
192
+ sig do
193
+ params(
194
+ recipients: T::Array[String],
195
+ subject_prefix: T.nilable(String),
196
+ type: Symbol
197
+ ).returns(T.attached_class)
198
+ end
199
+ def self.new(
200
+ # Email addresses that receive the spend alert notification.
201
+ recipients:,
202
+ # Optional subject prefix for alert emails.
203
+ subject_prefix: nil,
204
+ # The notification channel type. Currently only `email` is supported.
205
+ type: :email
206
+ )
207
+ end
208
+
209
+ sig do
210
+ override.returns(
211
+ {
212
+ recipients: T::Array[String],
213
+ type: Symbol,
214
+ subject_prefix: T.nilable(String)
215
+ }
216
+ )
217
+ end
218
+ def to_hash
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end