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,225 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ OrganizationSpendAlert = Organization::OrganizationSpendAlert
7
+
8
+ module Organization
9
+ class OrganizationSpendAlert < OpenAI::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Admin::Organization::OrganizationSpendAlert,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The identifier, which can be referenced in API endpoints.
19
+ sig { returns(String) }
20
+ attr_accessor :id
21
+
22
+ # The currency for the threshold amount.
23
+ sig do
24
+ returns(
25
+ OpenAI::Admin::Organization::OrganizationSpendAlert::Currency::TaggedSymbol
26
+ )
27
+ end
28
+ attr_accessor :currency
29
+
30
+ # The time interval for evaluating spend against the threshold.
31
+ sig do
32
+ returns(
33
+ OpenAI::Admin::Organization::OrganizationSpendAlert::Interval::TaggedSymbol
34
+ )
35
+ end
36
+ attr_accessor :interval
37
+
38
+ # Email notification settings for a spend alert.
39
+ sig do
40
+ returns(
41
+ OpenAI::Admin::Organization::OrganizationSpendAlert::NotificationChannel
42
+ )
43
+ end
44
+ attr_reader :notification_channel
45
+
46
+ sig do
47
+ params(
48
+ notification_channel:
49
+ OpenAI::Admin::Organization::OrganizationSpendAlert::NotificationChannel::OrHash
50
+ ).void
51
+ end
52
+ attr_writer :notification_channel
53
+
54
+ # The object type, which is always `organization.spend_alert`.
55
+ sig { returns(Symbol) }
56
+ attr_accessor :object
57
+
58
+ # The alert threshold amount, in cents.
59
+ sig { returns(Integer) }
60
+ attr_accessor :threshold_amount
61
+
62
+ # Represents a spend alert configured at the organization level.
63
+ sig do
64
+ params(
65
+ id: String,
66
+ currency:
67
+ OpenAI::Admin::Organization::OrganizationSpendAlert::Currency::OrSymbol,
68
+ interval:
69
+ OpenAI::Admin::Organization::OrganizationSpendAlert::Interval::OrSymbol,
70
+ notification_channel:
71
+ OpenAI::Admin::Organization::OrganizationSpendAlert::NotificationChannel::OrHash,
72
+ threshold_amount: Integer,
73
+ object: Symbol
74
+ ).returns(T.attached_class)
75
+ end
76
+ def self.new(
77
+ # The identifier, which can be referenced in API endpoints.
78
+ 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
+ # The object type, which is always `organization.spend_alert`.
88
+ object: :"organization.spend_alert"
89
+ )
90
+ end
91
+
92
+ sig do
93
+ override.returns(
94
+ {
95
+ id: String,
96
+ currency:
97
+ OpenAI::Admin::Organization::OrganizationSpendAlert::Currency::TaggedSymbol,
98
+ interval:
99
+ OpenAI::Admin::Organization::OrganizationSpendAlert::Interval::TaggedSymbol,
100
+ notification_channel:
101
+ OpenAI::Admin::Organization::OrganizationSpendAlert::NotificationChannel,
102
+ object: Symbol,
103
+ threshold_amount: Integer
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::OrganizationSpendAlert::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::OrganizationSpendAlert::Currency::TaggedSymbol
127
+ )
128
+
129
+ sig do
130
+ override.returns(
131
+ T::Array[
132
+ OpenAI::Admin::Organization::OrganizationSpendAlert::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::OrganizationSpendAlert::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::OrganizationSpendAlert::Interval::TaggedSymbol
157
+ )
158
+
159
+ sig do
160
+ override.returns(
161
+ T::Array[
162
+ OpenAI::Admin::Organization::OrganizationSpendAlert::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::OrganizationSpendAlert::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
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ OrganizationSpendAlertDeleted =
7
+ Organization::OrganizationSpendAlertDeleted
8
+
9
+ module Organization
10
+ class OrganizationSpendAlertDeleted < OpenAI::Internal::Type::BaseModel
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::OrganizationSpendAlertDeleted,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The deleted spend alert ID.
20
+ sig { returns(String) }
21
+ attr_accessor :id
22
+
23
+ # Whether the spend alert was deleted.
24
+ sig { returns(T::Boolean) }
25
+ attr_accessor :deleted
26
+
27
+ # Always `organization.spend_alert.deleted`.
28
+ sig { returns(Symbol) }
29
+ attr_accessor :object
30
+
31
+ # Confirmation payload returned after deleting an organization spend alert.
32
+ sig do
33
+ params(id: String, deleted: T::Boolean, object: Symbol).returns(
34
+ T.attached_class
35
+ )
36
+ end
37
+ def self.new(
38
+ # The deleted spend alert ID.
39
+ id:,
40
+ # Whether the spend alert was deleted.
41
+ deleted:,
42
+ # Always `organization.spend_alert.deleted`.
43
+ object: :"organization.spend_alert.deleted"
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ { id: String, deleted: T::Boolean, object: Symbol }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,44 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class DataRetentionRetrieveParams < 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::DataRetentionRetrieveParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig do
24
+ params(
25
+ project_id: String,
26
+ request_options: OpenAI::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(project_id:, request_options: {})
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ { project_id: String, request_options: OpenAI::RequestOptions }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,119 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class DataRetentionUpdateParams < 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::DataRetentionUpdateParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ # The desired project data retention type.
24
+ sig do
25
+ returns(
26
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::OrSymbol
27
+ )
28
+ end
29
+ attr_accessor :retention_type
30
+
31
+ sig do
32
+ params(
33
+ project_id: String,
34
+ retention_type:
35
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::OrSymbol,
36
+ request_options: OpenAI::RequestOptions::OrHash
37
+ ).returns(T.attached_class)
38
+ end
39
+ def self.new(
40
+ project_id:,
41
+ # The desired project data retention type.
42
+ retention_type:,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ project_id: String,
51
+ retention_type:
52
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::OrSymbol,
53
+ request_options: OpenAI::RequestOptions
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+
60
+ # The desired project data retention type.
61
+ module RetentionType
62
+ extend OpenAI::Internal::Type::Enum
63
+
64
+ TaggedSymbol =
65
+ T.type_alias do
66
+ T.all(
67
+ Symbol,
68
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType
69
+ )
70
+ end
71
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
72
+
73
+ ORGANIZATION_DEFAULT =
74
+ T.let(
75
+ :organization_default,
76
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
77
+ )
78
+ NONE =
79
+ T.let(
80
+ :none,
81
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
82
+ )
83
+ ZERO_DATA_RETENTION =
84
+ T.let(
85
+ :zero_data_retention,
86
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
87
+ )
88
+ MODIFIED_ABUSE_MONITORING =
89
+ T.let(
90
+ :modified_abuse_monitoring,
91
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
92
+ )
93
+ ENHANCED_ZERO_DATA_RETENTION =
94
+ T.let(
95
+ :enhanced_zero_data_retention,
96
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
97
+ )
98
+ ENHANCED_MODIFIED_ABUSE_MONITORING =
99
+ T.let(
100
+ :enhanced_modified_abuse_monitoring,
101
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
102
+ )
103
+
104
+ sig do
105
+ override.returns(
106
+ T::Array[
107
+ OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType::TaggedSymbol
108
+ ]
109
+ )
110
+ end
111
+ def self.values
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,115 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class GroupRetrieveParams < 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::GroupRetrieveParams,
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 :group_id
25
+
26
+ # The type of group to retrieve.
27
+ sig do
28
+ returns(
29
+ T.nilable(
30
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::OrSymbol
31
+ )
32
+ )
33
+ end
34
+ attr_reader :group_type
35
+
36
+ sig do
37
+ params(
38
+ group_type:
39
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::OrSymbol
40
+ ).void
41
+ end
42
+ attr_writer :group_type
43
+
44
+ sig do
45
+ params(
46
+ project_id: String,
47
+ group_id: String,
48
+ group_type:
49
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::OrSymbol,
50
+ request_options: OpenAI::RequestOptions::OrHash
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ project_id:,
55
+ group_id:,
56
+ # The type of group to retrieve.
57
+ group_type: nil,
58
+ request_options: {}
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ project_id: String,
66
+ group_id: String,
67
+ group_type:
68
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::OrSymbol,
69
+ request_options: OpenAI::RequestOptions
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ # The type of group to retrieve.
77
+ module GroupType
78
+ extend OpenAI::Internal::Type::Enum
79
+
80
+ TaggedSymbol =
81
+ T.type_alias do
82
+ T.all(
83
+ Symbol,
84
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType
85
+ )
86
+ end
87
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
88
+
89
+ GROUP =
90
+ T.let(
91
+ :group,
92
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::TaggedSymbol
93
+ )
94
+ TENANT_GROUP =
95
+ T.let(
96
+ :tenant_group,
97
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::TaggedSymbol
98
+ )
99
+
100
+ sig do
101
+ override.returns(
102
+ T::Array[
103
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::TaggedSymbol
104
+ ]
105
+ )
106
+ end
107
+ def self.values
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -19,6 +19,18 @@ module OpenAI
19
19
  sig { returns(String) }
20
20
  attr_accessor :id
21
21
 
22
+ # Principals from which the role assignment is inherited, when available.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ T::Array[
27
+ OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource
28
+ ]
29
+ )
30
+ )
31
+ end
32
+ attr_accessor :assignment_sources
33
+
22
34
  # When the role was created.
23
35
  sig { returns(T.nilable(Integer)) }
24
36
  attr_accessor :created_at
@@ -64,6 +76,12 @@ module OpenAI
64
76
  sig do
65
77
  params(
66
78
  id: String,
79
+ assignment_sources:
80
+ T.nilable(
81
+ T::Array[
82
+ OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource::OrHash
83
+ ]
84
+ ),
67
85
  created_at: T.nilable(Integer),
68
86
  created_by: T.nilable(String),
69
87
  created_by_user_obj: T.nilable(T::Hash[Symbol, T.anything]),
@@ -79,6 +97,8 @@ module OpenAI
79
97
  def self.new(
80
98
  # Identifier for the role.
81
99
  id:,
100
+ # Principals from which the role assignment is inherited, when available.
101
+ assignment_sources:,
82
102
  # When the role was created.
83
103
  created_at:,
84
104
  # Identifier of the actor who created the role.
@@ -106,6 +126,12 @@ module OpenAI
106
126
  override.returns(
107
127
  {
108
128
  id: String,
129
+ assignment_sources:
130
+ T.nilable(
131
+ T::Array[
132
+ OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource
133
+ ]
134
+ ),
109
135
  created_at: T.nilable(Integer),
110
136
  created_by: T.nilable(String),
111
137
  created_by_user_obj: T.nilable(T::Hash[Symbol, T.anything]),
@@ -121,6 +147,38 @@ module OpenAI
121
147
  end
122
148
  def to_hash
123
149
  end
150
+
151
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
152
+ OrHash =
153
+ T.type_alias do
154
+ T.any(
155
+ OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource,
156
+ OpenAI::Internal::AnyHash
157
+ )
158
+ end
159
+
160
+ sig { returns(String) }
161
+ attr_accessor :principal_id
162
+
163
+ sig { returns(String) }
164
+ attr_accessor :principal_type
165
+
166
+ sig do
167
+ params(principal_id: String, principal_type: String).returns(
168
+ T.attached_class
169
+ )
170
+ end
171
+ def self.new(principal_id:, principal_type:)
172
+ end
173
+
174
+ sig do
175
+ override.returns(
176
+ { principal_id: String, principal_type: String }
177
+ )
178
+ end
179
+ def to_hash
180
+ end
181
+ end
124
182
  end
125
183
  end
126
184
  end