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,120 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::SpendAlerts#create
8
+ class OrganizationSpendAlert < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute id
10
+ # The identifier, which can be referenced in API endpoints.
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute currency
16
+ # The currency for the threshold amount.
17
+ #
18
+ # @return [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Currency]
19
+ required :currency, enum: -> { OpenAI::Admin::Organization::OrganizationSpendAlert::Currency }
20
+
21
+ # @!attribute interval
22
+ # The time interval for evaluating spend against the threshold.
23
+ #
24
+ # @return [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Interval]
25
+ required :interval, enum: -> { OpenAI::Admin::Organization::OrganizationSpendAlert::Interval }
26
+
27
+ # @!attribute notification_channel
28
+ # Email notification settings for a spend alert.
29
+ #
30
+ # @return [OpenAI::Models::Admin::Organization::OrganizationSpendAlert::NotificationChannel]
31
+ required :notification_channel,
32
+ -> { OpenAI::Admin::Organization::OrganizationSpendAlert::NotificationChannel }
33
+
34
+ # @!attribute object
35
+ # The object type, which is always `organization.spend_alert`.
36
+ #
37
+ # @return [Symbol, :"organization.spend_alert"]
38
+ required :object, const: :"organization.spend_alert"
39
+
40
+ # @!attribute threshold_amount
41
+ # The alert threshold amount, in cents.
42
+ #
43
+ # @return [Integer]
44
+ required :threshold_amount, Integer
45
+
46
+ # @!method initialize(id:, currency:, interval:, notification_channel:, threshold_amount:, object: :"organization.spend_alert")
47
+ # Represents a spend alert configured at the organization level.
48
+ #
49
+ # @param id [String] The identifier, which can be referenced in API endpoints.
50
+ #
51
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Currency] The currency for the threshold amount.
52
+ #
53
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Interval] The time interval for evaluating spend against the threshold.
54
+ #
55
+ # @param notification_channel [OpenAI::Models::Admin::Organization::OrganizationSpendAlert::NotificationChannel] Email notification settings for a spend alert.
56
+ #
57
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
58
+ #
59
+ # @param object [Symbol, :"organization.spend_alert"] The object type, which is always `organization.spend_alert`.
60
+
61
+ # The currency for the threshold amount.
62
+ #
63
+ # @see OpenAI::Models::Admin::Organization::OrganizationSpendAlert#currency
64
+ module Currency
65
+ extend OpenAI::Internal::Type::Enum
66
+
67
+ USD = :USD
68
+
69
+ # @!method self.values
70
+ # @return [Array<Symbol>]
71
+ end
72
+
73
+ # The time interval for evaluating spend against the threshold.
74
+ #
75
+ # @see OpenAI::Models::Admin::Organization::OrganizationSpendAlert#interval
76
+ module Interval
77
+ extend OpenAI::Internal::Type::Enum
78
+
79
+ MONTH = :month
80
+
81
+ # @!method self.values
82
+ # @return [Array<Symbol>]
83
+ end
84
+
85
+ # @see OpenAI::Models::Admin::Organization::OrganizationSpendAlert#notification_channel
86
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
87
+ # @!attribute recipients
88
+ # Email addresses that receive the spend alert notification.
89
+ #
90
+ # @return [Array<String>]
91
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
92
+
93
+ # @!attribute type
94
+ # The notification channel type. Currently only `email` is supported.
95
+ #
96
+ # @return [Symbol, :email]
97
+ required :type, const: :email
98
+
99
+ # @!attribute subject_prefix
100
+ # Optional subject prefix for alert emails.
101
+ #
102
+ # @return [String, nil]
103
+ optional :subject_prefix, String, nil?: true
104
+
105
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
106
+ # Email notification settings for a spend alert.
107
+ #
108
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
109
+ #
110
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
111
+ #
112
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
113
+ end
114
+ end
115
+ end
116
+
117
+ OrganizationSpendAlert = Organization::OrganizationSpendAlert
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::SpendAlerts#delete
8
+ class OrganizationSpendAlertDeleted < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute id
10
+ # The deleted spend alert ID.
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute deleted
16
+ # Whether the spend alert was deleted.
17
+ #
18
+ # @return [Boolean]
19
+ required :deleted, OpenAI::Internal::Type::Boolean
20
+
21
+ # @!attribute object
22
+ # Always `organization.spend_alert.deleted`.
23
+ #
24
+ # @return [Symbol, :"organization.spend_alert.deleted"]
25
+ required :object, const: :"organization.spend_alert.deleted"
26
+
27
+ # @!method initialize(id:, deleted:, object: :"organization.spend_alert.deleted")
28
+ # Confirmation payload returned after deleting an organization spend alert.
29
+ #
30
+ # @param id [String] The deleted spend alert ID.
31
+ #
32
+ # @param deleted [Boolean] Whether the spend alert was deleted.
33
+ #
34
+ # @param object [Symbol, :"organization.spend_alert.deleted"] Always `organization.spend_alert.deleted`.
35
+ end
36
+ end
37
+
38
+ OrganizationSpendAlertDeleted = Organization::OrganizationSpendAlertDeleted
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,26 @@
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::DataRetention#retrieve
9
+ class DataRetentionRetrieveParams < 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
+ # @!method initialize(project_id:, request_options: {})
19
+ # @param project_id [String]
20
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,51 @@
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::DataRetention#update
9
+ class DataRetentionUpdateParams < 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 retention_type
19
+ # The desired project data retention type.
20
+ #
21
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType]
22
+ required :retention_type,
23
+ enum: -> { OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType }
24
+
25
+ # @!method initialize(project_id:, retention_type:, request_options: {})
26
+ # @param project_id [String]
27
+ #
28
+ # @param retention_type [Symbol, OpenAI::Models::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType] The desired project data retention type.
29
+ #
30
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
31
+
32
+ # The desired project data retention type.
33
+ module RetentionType
34
+ extend OpenAI::Internal::Type::Enum
35
+
36
+ ORGANIZATION_DEFAULT = :organization_default
37
+ NONE = :none
38
+ ZERO_DATA_RETENTION = :zero_data_retention
39
+ MODIFIED_ABUSE_MONITORING = :modified_abuse_monitoring
40
+ ENHANCED_ZERO_DATA_RETENTION = :enhanced_zero_data_retention
41
+ ENHANCED_MODIFIED_ABUSE_MONITORING = :enhanced_modified_abuse_monitoring
42
+
43
+ # @!method self.values
44
+ # @return [Array<Symbol>]
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,53 @@
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::Groups#retrieve
9
+ class GroupRetrieveParams < 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 group_id
19
+ #
20
+ # @return [String]
21
+ required :group_id, String
22
+
23
+ # @!attribute group_type
24
+ # The type of group to retrieve.
25
+ #
26
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::GroupRetrieveParams::GroupType, nil]
27
+ optional :group_type, enum: -> { OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType }
28
+
29
+ # @!method initialize(project_id:, group_id:, group_type: nil, request_options: {})
30
+ # @param project_id [String]
31
+ #
32
+ # @param group_id [String]
33
+ #
34
+ # @param group_type [Symbol, OpenAI::Models::Admin::Organization::Projects::GroupRetrieveParams::GroupType] The type of group to retrieve.
35
+ #
36
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
37
+
38
+ # The type of group to retrieve.
39
+ module GroupType
40
+ extend OpenAI::Internal::Type::Enum
41
+
42
+ GROUP = :group
43
+ TENANT_GROUP = :tenant_group
44
+
45
+ # @!method self.values
46
+ # @return [Array<Symbol>]
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -14,6 +14,14 @@ module OpenAI
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
+ # @!attribute assignment_sources
18
+ # Principals from which the role assignment is inherited, when available.
19
+ #
20
+ # @return [Array<OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource>, nil]
21
+ required :assignment_sources,
22
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource] },
23
+ nil?: true
24
+
17
25
  # @!attribute created_at
18
26
  # When the role was created.
19
27
  #
@@ -76,12 +84,14 @@ module OpenAI
76
84
  # @return [Integer, nil]
77
85
  required :updated_at, Integer, nil?: true
78
86
 
79
- # @!method initialize(id:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
87
+ # @!method initialize(id:, assignment_sources:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
80
88
  # Detailed information about a role assignment entry returned when listing
81
89
  # assignments.
82
90
  #
83
91
  # @param id [String] Identifier for the role.
84
92
  #
93
+ # @param assignment_sources [Array<OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource>, nil] Principals from which the role assignment is inherited, when available.
94
+ #
85
95
  # @param created_at [Integer, nil] When the role was created.
86
96
  #
87
97
  # @param created_by [String, nil] Identifier of the actor who created the role.
@@ -101,6 +111,22 @@ module OpenAI
101
111
  # @param resource_type [String] Resource type the role applies to.
102
112
  #
103
113
  # @param updated_at [Integer, nil] When the role was last updated.
114
+
115
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
116
+ # @!attribute principal_id
117
+ #
118
+ # @return [String]
119
+ required :principal_id, String
120
+
121
+ # @!attribute principal_type
122
+ #
123
+ # @return [String]
124
+ required :principal_type, String
125
+
126
+ # @!method initialize(principal_id:, principal_type:)
127
+ # @param principal_id [String]
128
+ # @param principal_type [String]
129
+ end
104
130
  end
105
131
  end
106
132
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ module Groups
9
+ # @see OpenAI::Resources::Admin::Organization::Projects::Groups::Roles#retrieve
10
+ class RoleRetrieveParams < OpenAI::Internal::Type::BaseModel
11
+ extend OpenAI::Internal::Type::RequestParameters::Converter
12
+ include OpenAI::Internal::Type::RequestParameters
13
+
14
+ # @!attribute project_id
15
+ #
16
+ # @return [String]
17
+ required :project_id, String
18
+
19
+ # @!attribute group_id
20
+ #
21
+ # @return [String]
22
+ required :group_id, String
23
+
24
+ # @!attribute role_id
25
+ #
26
+ # @return [String]
27
+ required :role_id, String
28
+
29
+ # @!method initialize(project_id:, group_id:, role_id:, request_options: {})
30
+ # @param project_id [String]
31
+ # @param group_id [String]
32
+ # @param role_id [String]
33
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ module Groups
9
+ # @see OpenAI::Resources::Admin::Organization::Projects::Groups::Roles#retrieve
10
+ class RoleRetrieveResponse < OpenAI::Internal::Type::BaseModel
11
+ # @!attribute id
12
+ # Identifier for the role.
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
17
+ # @!attribute assignment_sources
18
+ # Principals from which the role assignment is inherited, when available.
19
+ #
20
+ # @return [Array<OpenAI::Models::Admin::Organization::Projects::Groups::RoleRetrieveResponse::AssignmentSource>, nil]
21
+ required :assignment_sources,
22
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Models::Admin::Organization::Projects::Groups::RoleRetrieveResponse::AssignmentSource] },
23
+ nil?: true
24
+
25
+ # @!attribute created_at
26
+ # When the role was created.
27
+ #
28
+ # @return [Integer, nil]
29
+ required :created_at, Integer, nil?: true
30
+
31
+ # @!attribute created_by
32
+ # Identifier of the actor who created the role.
33
+ #
34
+ # @return [String, nil]
35
+ required :created_by, String, nil?: true
36
+
37
+ # @!attribute created_by_user_obj
38
+ # User details for the actor that created the role, when available.
39
+ #
40
+ # @return [Hash{Symbol=>Object}, nil]
41
+ required :created_by_user_obj,
42
+ OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown],
43
+ nil?: true
44
+
45
+ # @!attribute description
46
+ # Description of the role.
47
+ #
48
+ # @return [String, nil]
49
+ required :description, String, nil?: true
50
+
51
+ # @!attribute metadata
52
+ # Arbitrary metadata stored on the role.
53
+ #
54
+ # @return [Hash{Symbol=>Object}, nil]
55
+ required :metadata, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown], nil?: true
56
+
57
+ # @!attribute name
58
+ # Name of the role.
59
+ #
60
+ # @return [String]
61
+ required :name, String
62
+
63
+ # @!attribute permissions
64
+ # Permissions associated with the role.
65
+ #
66
+ # @return [Array<String>]
67
+ required :permissions, OpenAI::Internal::Type::ArrayOf[String]
68
+
69
+ # @!attribute predefined_role
70
+ # Whether the role is predefined by OpenAI.
71
+ #
72
+ # @return [Boolean]
73
+ required :predefined_role, OpenAI::Internal::Type::Boolean
74
+
75
+ # @!attribute resource_type
76
+ # Resource type the role applies to.
77
+ #
78
+ # @return [String]
79
+ required :resource_type, String
80
+
81
+ # @!attribute updated_at
82
+ # When the role was last updated.
83
+ #
84
+ # @return [Integer, nil]
85
+ required :updated_at, Integer, nil?: true
86
+
87
+ # @!method initialize(id:, assignment_sources:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
88
+ # Detailed information about a role assignment entry returned when listing
89
+ # assignments.
90
+ #
91
+ # @param id [String] Identifier for the role.
92
+ #
93
+ # @param assignment_sources [Array<OpenAI::Models::Admin::Organization::Projects::Groups::RoleRetrieveResponse::AssignmentSource>, nil] Principals from which the role assignment is inherited, when available.
94
+ #
95
+ # @param created_at [Integer, nil] When the role was created.
96
+ #
97
+ # @param created_by [String, nil] Identifier of the actor who created the role.
98
+ #
99
+ # @param created_by_user_obj [Hash{Symbol=>Object}, nil] User details for the actor that created the role, when available.
100
+ #
101
+ # @param description [String, nil] Description of the role.
102
+ #
103
+ # @param metadata [Hash{Symbol=>Object}, nil] Arbitrary metadata stored on the role.
104
+ #
105
+ # @param name [String] Name of the role.
106
+ #
107
+ # @param permissions [Array<String>] Permissions associated with the role.
108
+ #
109
+ # @param predefined_role [Boolean] Whether the role is predefined by OpenAI.
110
+ #
111
+ # @param resource_type [String] Resource type the role applies to.
112
+ #
113
+ # @param updated_at [Integer, nil] When the role was last updated.
114
+
115
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
116
+ # @!attribute principal_id
117
+ #
118
+ # @return [String]
119
+ required :principal_id, String
120
+
121
+ # @!attribute principal_type
122
+ #
123
+ # @return [String]
124
+ required :principal_type, String
125
+
126
+ # @!method initialize(principal_id:, principal_type:)
127
+ # @param principal_id [String]
128
+ # @param principal_type [String]
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,26 @@
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 HostedToolPermissionRetrieveParams < 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
+ # @!method initialize(project_id:, request_options: {})
19
+ # @param project_id [String]
20
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end