openai 0.62.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 (272) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/README.md +2 -5
  4. data/lib/openai/auth/workload_identity.rb +2 -2
  5. data/lib/openai/auth/workload_identity_auth.rb +4 -3
  6. data/lib/openai/internal/transport/base_client.rb +2 -0
  7. data/lib/openai/models/admin/organization/data_retention_retrieve_params.rb +18 -0
  8. data/lib/openai/models/admin/organization/data_retention_update_params.rb +40 -0
  9. data/lib/openai/models/admin/organization/group.rb +16 -3
  10. data/lib/openai/models/admin/organization/group_retrieve_params.rb +24 -0
  11. data/lib/openai/models/admin/organization/groups/role_list_response.rb +27 -1
  12. data/lib/openai/models/admin/organization/groups/role_retrieve_params.rb +32 -0
  13. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +134 -0
  14. data/lib/openai/models/admin/organization/groups/user_retrieve_params.rb +32 -0
  15. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +79 -0
  16. data/lib/openai/models/admin/organization/invite_create_params.rb +2 -1
  17. data/lib/openai/models/admin/organization/organization_data_retention.rb +48 -0
  18. data/lib/openai/models/admin/organization/organization_spend_alert.rb +120 -0
  19. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +41 -0
  20. data/lib/openai/models/admin/organization/projects/data_retention_retrieve_params.rb +26 -0
  21. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +51 -0
  22. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +53 -0
  23. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +27 -1
  24. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_params.rb +40 -0
  25. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +136 -0
  26. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rb +26 -0
  27. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +150 -0
  28. data/lib/openai/models/admin/organization/projects/model_permission_delete_params.rb +26 -0
  29. data/lib/openai/models/admin/organization/projects/model_permission_retrieve_params.rb +26 -0
  30. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +54 -0
  31. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +52 -0
  32. data/lib/openai/models/admin/organization/projects/project_group.rb +16 -3
  33. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +133 -0
  34. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +56 -0
  35. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +35 -0
  36. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +122 -0
  37. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +43 -0
  38. data/lib/openai/models/admin/organization/projects/role_retrieve_params.rb +32 -0
  39. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +61 -0
  40. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +109 -0
  41. data/lib/openai/models/admin/organization/projects/spend_alert_delete_params.rb +32 -0
  42. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +76 -0
  43. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +116 -0
  44. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +27 -1
  45. data/lib/openai/models/admin/organization/projects/users/role_retrieve_params.rb +40 -0
  46. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +136 -0
  47. data/lib/openai/models/admin/organization/role_retrieve_params.rb +24 -0
  48. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +100 -0
  49. data/lib/openai/models/admin/organization/spend_alert_delete_params.rb +24 -0
  50. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +66 -0
  51. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +107 -0
  52. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +148 -3
  53. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +148 -3
  54. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +148 -3
  55. data/lib/openai/models/admin/organization/usage_completions_response.rb +148 -3
  56. data/lib/openai/models/admin/organization/usage_costs_response.rb +148 -3
  57. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +148 -3
  58. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +136 -0
  59. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +889 -0
  60. data/lib/openai/models/admin/organization/usage_images_response.rb +148 -3
  61. data/lib/openai/models/admin/organization/usage_moderations_response.rb +148 -3
  62. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +148 -3
  63. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +157 -0
  64. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +889 -0
  65. data/lib/openai/models/admin/organization/users/role_list_response.rb +27 -1
  66. data/lib/openai/models/admin/organization/users/role_retrieve_params.rb +32 -0
  67. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +134 -0
  68. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  69. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  70. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  71. data/lib/openai/models/responses/response.rb +3 -3
  72. data/lib/openai/models/responses/response_compact_params.rb +25 -4
  73. data/lib/openai/models/responses/response_create_params.rb +3 -3
  74. data/lib/openai/models/responses/response_input_item.rb +17 -1
  75. data/lib/openai/models/responses/responses_client_event.rb +3 -3
  76. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  77. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  78. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  79. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  80. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  81. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  82. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  83. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  84. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  85. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  86. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  87. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  88. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  89. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  90. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  91. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  92. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  93. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  94. data/lib/openai/resources/admin/organization.rb +8 -0
  95. data/lib/openai/resources/conversations/items.rb +1 -1
  96. data/lib/openai/resources/conversations.rb +1 -1
  97. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  98. data/lib/openai/resources/responses.rb +6 -4
  99. data/lib/openai/version.rb +1 -1
  100. data/lib/openai.rb +51 -0
  101. data/rbi/openai/auth.rbi +3 -3
  102. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  103. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  104. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  105. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  106. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  107. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  108. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  109. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  110. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  111. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  112. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  113. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  114. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  115. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  116. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  117. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  118. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  119. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  120. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  121. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  122. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  123. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  124. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  125. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  126. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  127. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  128. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  129. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  130. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  131. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  132. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  133. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  134. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  135. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  136. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  137. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  138. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  139. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  140. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  141. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  142. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  143. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  144. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  145. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  146. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  147. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  148. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  149. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  150. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  151. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  152. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  153. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  154. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  155. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  156. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  157. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  158. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  159. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  160. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  161. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  162. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  163. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  164. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  165. data/rbi/openai/models/responses/response_compact_params.rbi +65 -0
  166. data/rbi/openai/models/responses/response_input_item.rbi +27 -0
  167. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  168. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  169. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  170. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  171. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  172. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  173. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  174. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  175. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  176. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  177. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  178. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  179. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  180. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  181. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  182. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  183. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  184. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  185. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  186. data/rbi/openai/resources/admin/organization.rbi +6 -0
  187. data/rbi/openai/resources/conversations/items.rbi +1 -0
  188. data/rbi/openai/resources/conversations.rbi +1 -0
  189. data/rbi/openai/resources/responses.rbi +6 -0
  190. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  191. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  192. data/sig/openai/models/admin/organization/group.rbs +15 -4
  193. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  194. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  195. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  196. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  197. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  198. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  199. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  200. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  201. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  202. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  203. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  204. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  205. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  206. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  207. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  208. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  209. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  210. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  211. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  212. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  213. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  214. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  215. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  216. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  217. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  218. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  219. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  220. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  221. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  222. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  223. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  224. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  225. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  226. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  227. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  228. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  229. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  230. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  231. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  232. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  233. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  234. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  235. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  236. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  237. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  238. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  239. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  240. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  241. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  242. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  243. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  244. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  245. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  246. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  247. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  248. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  249. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  250. data/sig/openai/models/responses/response_compact_params.rbs +19 -1
  251. data/sig/openai/models/responses/response_input_item.rbs +11 -0
  252. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  253. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  254. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  255. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  256. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  257. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  258. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  259. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  260. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  261. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  262. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  263. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  264. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  265. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  266. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  267. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  268. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  269. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  270. data/sig/openai/resources/admin/organization.rbs +4 -0
  271. data/sig/openai/resources/responses.rbs +1 -0
  272. metadata +155 -2
@@ -29,6 +29,28 @@ module OpenAI
29
29
  )
30
30
  end
31
31
 
32
+ # Retrieves a project role assigned to a group.
33
+ sig do
34
+ params(
35
+ role_id: String,
36
+ project_id: String,
37
+ group_id: String,
38
+ request_options: OpenAI::RequestOptions::OrHash
39
+ ).returns(
40
+ OpenAI::Models::Admin::Organization::Projects::Groups::RoleRetrieveResponse
41
+ )
42
+ end
43
+ def retrieve(
44
+ # The ID of the project role to retrieve for the group.
45
+ role_id,
46
+ # The ID of the project to inspect.
47
+ project_id:,
48
+ # The ID of the group to inspect.
49
+ group_id:,
50
+ request_options: {}
51
+ )
52
+ end
53
+
32
54
  # Lists the project roles assigned to a group within a project.
33
55
  sig do
34
56
  params(
@@ -33,6 +33,27 @@ module OpenAI
33
33
  )
34
34
  end
35
35
 
36
+ # Retrieves a project's group.
37
+ sig do
38
+ params(
39
+ group_id: String,
40
+ project_id: String,
41
+ group_type:
42
+ OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType::OrSymbol,
43
+ request_options: OpenAI::RequestOptions::OrHash
44
+ ).returns(OpenAI::Admin::Organization::Projects::ProjectGroup)
45
+ end
46
+ def retrieve(
47
+ # Path param: The ID of the group to retrieve.
48
+ group_id,
49
+ # Path param: The ID of the project to inspect.
50
+ project_id:,
51
+ # Query param: The type of group to retrieve.
52
+ group_type: nil,
53
+ request_options: {}
54
+ )
55
+ end
56
+
36
57
  # Lists the groups that have access to a project.
37
58
  sig do
38
59
  params(
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class Projects
8
+ class HostedToolPermissions
9
+ # Returns hosted tool permissions for a project.
10
+ sig do
11
+ params(
12
+ project_id: String,
13
+ request_options: OpenAI::RequestOptions::OrHash
14
+ ).returns(
15
+ OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions
16
+ )
17
+ end
18
+ def retrieve(
19
+ # The ID of the project.
20
+ project_id,
21
+ request_options: {}
22
+ )
23
+ end
24
+
25
+ # Updates hosted tool permissions for a project.
26
+ sig do
27
+ params(
28
+ project_id: String,
29
+ code_interpreter:
30
+ T.nilable(
31
+ OpenAI::Admin::Organization::Projects::HostedToolPermissionUpdateParams::CodeInterpreter::OrHash
32
+ ),
33
+ file_search:
34
+ T.nilable(
35
+ OpenAI::Admin::Organization::Projects::HostedToolPermissionUpdateParams::FileSearch::OrHash
36
+ ),
37
+ image_generation:
38
+ T.nilable(
39
+ OpenAI::Admin::Organization::Projects::HostedToolPermissionUpdateParams::ImageGeneration::OrHash
40
+ ),
41
+ mcp:
42
+ T.nilable(
43
+ OpenAI::Admin::Organization::Projects::HostedToolPermissionUpdateParams::Mcp::OrHash
44
+ ),
45
+ web_search:
46
+ T.nilable(
47
+ OpenAI::Admin::Organization::Projects::HostedToolPermissionUpdateParams::WebSearch::OrHash
48
+ ),
49
+ request_options: OpenAI::RequestOptions::OrHash
50
+ ).returns(
51
+ OpenAI::Admin::Organization::Projects::ProjectHostedToolPermissions
52
+ )
53
+ end
54
+ def update(
55
+ # The ID of the project.
56
+ project_id,
57
+ # The code interpreter permission update.
58
+ code_interpreter: nil,
59
+ # The file search permission update.
60
+ file_search: nil,
61
+ # The image generation permission update.
62
+ image_generation: nil,
63
+ # The MCP permission update.
64
+ mcp: nil,
65
+ # The web search permission update.
66
+ web_search: nil,
67
+ request_options: {}
68
+ )
69
+ end
70
+
71
+ # @api private
72
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
73
+ def self.new(client:)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,73 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class Projects
8
+ class ModelPermissions
9
+ # Returns model permissions for a project.
10
+ sig do
11
+ params(
12
+ project_id: String,
13
+ request_options: OpenAI::RequestOptions::OrHash
14
+ ).returns(
15
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions
16
+ )
17
+ end
18
+ def retrieve(
19
+ # The ID of the project.
20
+ project_id,
21
+ request_options: {}
22
+ )
23
+ end
24
+
25
+ # Updates model permissions for a project.
26
+ sig do
27
+ params(
28
+ project_id: String,
29
+ mode:
30
+ OpenAI::Admin::Organization::Projects::ModelPermissionUpdateParams::Mode::OrSymbol,
31
+ model_ids: T::Array[String],
32
+ request_options: OpenAI::RequestOptions::OrHash
33
+ ).returns(
34
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions
35
+ )
36
+ end
37
+ def update(
38
+ # The ID of the project.
39
+ project_id,
40
+ # The model permissions mode to apply.
41
+ mode:,
42
+ # The model IDs included in this permissions policy.
43
+ model_ids:,
44
+ request_options: {}
45
+ )
46
+ end
47
+
48
+ # Deletes model permissions for a project.
49
+ sig do
50
+ params(
51
+ project_id: String,
52
+ request_options: OpenAI::RequestOptions::OrHash
53
+ ).returns(
54
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissionsDeleted
55
+ )
56
+ end
57
+ def delete(
58
+ # The ID of the project.
59
+ project_id,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ # @api private
65
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
66
+ def self.new(client:)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -29,6 +29,23 @@ module OpenAI
29
29
  )
30
30
  end
31
31
 
32
+ # Retrieves a project role.
33
+ sig do
34
+ params(
35
+ role_id: String,
36
+ project_id: String,
37
+ request_options: OpenAI::RequestOptions::OrHash
38
+ ).returns(OpenAI::Admin::Organization::Role)
39
+ end
40
+ def retrieve(
41
+ # The ID of the role to retrieve.
42
+ role_id,
43
+ # The ID of the project.
44
+ project_id:,
45
+ request_options: {}
46
+ )
47
+ end
48
+
32
49
  # Updates an existing project role.
33
50
  sig do
34
51
  params(
@@ -45,6 +45,32 @@ module OpenAI
45
45
  )
46
46
  end
47
47
 
48
+ # Updates a service account in the project.
49
+ sig do
50
+ params(
51
+ service_account_id: String,
52
+ project_id: String,
53
+ name: String,
54
+ role:
55
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::OrSymbol,
56
+ request_options: OpenAI::RequestOptions::OrHash
57
+ ).returns(
58
+ OpenAI::Admin::Organization::Projects::ProjectServiceAccount
59
+ )
60
+ end
61
+ def update(
62
+ # Path param: The ID of the service account.
63
+ service_account_id,
64
+ # Path param: The ID of the project.
65
+ project_id:,
66
+ # Body param: The updated service account name.
67
+ name: nil,
68
+ # Body param: The updated service account role.
69
+ role: nil,
70
+ request_options: {}
71
+ )
72
+ end
73
+
48
74
  # Returns a list of service accounts in the project.
49
75
  sig do
50
76
  params(
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class Projects
8
+ class SpendAlerts
9
+ # Creates a project spend alert.
10
+ sig do
11
+ params(
12
+ project_id: String,
13
+ currency:
14
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency::OrSymbol,
15
+ interval:
16
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval::OrSymbol,
17
+ notification_channel:
18
+ OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel::OrHash,
19
+ threshold_amount: Integer,
20
+ request_options: OpenAI::RequestOptions::OrHash
21
+ ).returns(
22
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert
23
+ )
24
+ end
25
+ def create(
26
+ # The ID of the project to update.
27
+ project_id,
28
+ # The currency for the threshold amount.
29
+ currency:,
30
+ # The time interval for evaluating spend against the threshold.
31
+ interval:,
32
+ # Email notification settings for a spend alert.
33
+ notification_channel:,
34
+ # The alert threshold amount, in cents.
35
+ threshold_amount:,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ # Updates a project spend alert.
41
+ sig do
42
+ params(
43
+ alert_id: String,
44
+ project_id: String,
45
+ currency:
46
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency::OrSymbol,
47
+ interval:
48
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval::OrSymbol,
49
+ notification_channel:
50
+ OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel::OrHash,
51
+ threshold_amount: Integer,
52
+ request_options: OpenAI::RequestOptions::OrHash
53
+ ).returns(
54
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert
55
+ )
56
+ end
57
+ def update(
58
+ # Path param: The ID of the spend alert to update.
59
+ alert_id,
60
+ # Path param: The ID of the project to update.
61
+ project_id:,
62
+ # Body param: The currency for the threshold amount.
63
+ currency:,
64
+ # Body param: The time interval for evaluating spend against the threshold.
65
+ interval:,
66
+ # Body param: Email notification settings for a spend alert.
67
+ notification_channel:,
68
+ # Body param: The alert threshold amount, in cents.
69
+ threshold_amount:,
70
+ request_options: {}
71
+ )
72
+ end
73
+
74
+ # Lists project spend alerts.
75
+ sig do
76
+ params(
77
+ project_id: String,
78
+ after: String,
79
+ before: String,
80
+ limit: Integer,
81
+ order:
82
+ OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order::OrSymbol,
83
+ request_options: OpenAI::RequestOptions::OrHash
84
+ ).returns(
85
+ OpenAI::Internal::ConversationCursorPage[
86
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert
87
+ ]
88
+ )
89
+ end
90
+ def list(
91
+ # The ID of the project to inspect.
92
+ project_id,
93
+ # Cursor for pagination. Provide the ID of the last spend alert from the previous
94
+ # response to fetch the next page.
95
+ after: nil,
96
+ # Cursor for pagination. Provide the ID of the first spend alert from the previous
97
+ # response to fetch the previous page.
98
+ before: nil,
99
+ # A limit on the number of spend alerts to return. Defaults to 20.
100
+ limit: nil,
101
+ # Sort order for the returned spend alerts.
102
+ order: nil,
103
+ request_options: {}
104
+ )
105
+ end
106
+
107
+ # Deletes a project spend alert.
108
+ sig do
109
+ params(
110
+ alert_id: String,
111
+ project_id: String,
112
+ request_options: OpenAI::RequestOptions::OrHash
113
+ ).returns(
114
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlertDeleted
115
+ )
116
+ end
117
+ def delete(
118
+ # The ID of the spend alert to delete.
119
+ alert_id,
120
+ # The ID of the project to update.
121
+ project_id:,
122
+ request_options: {}
123
+ )
124
+ end
125
+
126
+ # @api private
127
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
128
+ def self.new(client:)
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -29,6 +29,28 @@ module OpenAI
29
29
  )
30
30
  end
31
31
 
32
+ # Retrieves a project role assigned to a user.
33
+ sig do
34
+ params(
35
+ role_id: String,
36
+ project_id: String,
37
+ user_id: String,
38
+ request_options: OpenAI::RequestOptions::OrHash
39
+ ).returns(
40
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleRetrieveResponse
41
+ )
42
+ end
43
+ def retrieve(
44
+ # The ID of the project role to retrieve for the user.
45
+ role_id,
46
+ # The ID of the project to inspect.
47
+ project_id:,
48
+ # The ID of the user to inspect.
49
+ user_id:,
50
+ request_options: {}
51
+ )
52
+ end
53
+
32
54
  # Lists the project roles assigned to a user within a project.
33
55
  sig do
34
56
  params(
@@ -29,6 +29,20 @@ module OpenAI
29
29
  end
30
30
  attr_reader :rate_limits
31
31
 
32
+ sig do
33
+ returns(
34
+ OpenAI::Resources::Admin::Organization::Projects::ModelPermissions
35
+ )
36
+ end
37
+ attr_reader :model_permissions
38
+
39
+ sig do
40
+ returns(
41
+ OpenAI::Resources::Admin::Organization::Projects::HostedToolPermissions
42
+ )
43
+ end
44
+ attr_reader :hosted_tool_permissions
45
+
32
46
  sig do
33
47
  returns(OpenAI::Resources::Admin::Organization::Projects::Groups)
34
48
  end
@@ -39,6 +53,20 @@ module OpenAI
39
53
  end
40
54
  attr_reader :roles
41
55
 
56
+ sig do
57
+ returns(
58
+ OpenAI::Resources::Admin::Organization::Projects::DataRetention
59
+ )
60
+ end
61
+ attr_reader :data_retention
62
+
63
+ sig do
64
+ returns(
65
+ OpenAI::Resources::Admin::Organization::Projects::SpendAlerts
66
+ )
67
+ end
68
+ attr_reader :spend_alerts
69
+
42
70
  sig do
43
71
  returns(
44
72
  OpenAI::Resources::Admin::Organization::Projects::Certificates
@@ -25,6 +25,20 @@ module OpenAI
25
25
  )
26
26
  end
27
27
 
28
+ # Retrieves an organization role.
29
+ sig do
30
+ params(
31
+ role_id: String,
32
+ request_options: OpenAI::RequestOptions::OrHash
33
+ ).returns(OpenAI::Admin::Organization::Role)
34
+ end
35
+ def retrieve(
36
+ # The ID of the role to retrieve.
37
+ role_id,
38
+ request_options: {}
39
+ )
40
+ end
41
+
28
42
  # Updates an existing organization role.
29
43
  sig do
30
44
  params(
@@ -0,0 +1,117 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class SpendAlerts
8
+ # Creates an organization spend alert.
9
+ sig do
10
+ params(
11
+ currency:
12
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency::OrSymbol,
13
+ interval:
14
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval::OrSymbol,
15
+ notification_channel:
16
+ OpenAI::Admin::Organization::SpendAlertCreateParams::NotificationChannel::OrHash,
17
+ threshold_amount: Integer,
18
+ request_options: OpenAI::RequestOptions::OrHash
19
+ ).returns(OpenAI::Admin::Organization::OrganizationSpendAlert)
20
+ end
21
+ def create(
22
+ # The currency for the threshold amount.
23
+ currency:,
24
+ # The time interval for evaluating spend against the threshold.
25
+ interval:,
26
+ # Email notification settings for a spend alert.
27
+ notification_channel:,
28
+ # The alert threshold amount, in cents.
29
+ threshold_amount:,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ # Updates an organization spend alert.
35
+ sig do
36
+ params(
37
+ alert_id: String,
38
+ currency:
39
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency::OrSymbol,
40
+ interval:
41
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval::OrSymbol,
42
+ notification_channel:
43
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::NotificationChannel::OrHash,
44
+ threshold_amount: Integer,
45
+ request_options: OpenAI::RequestOptions::OrHash
46
+ ).returns(OpenAI::Admin::Organization::OrganizationSpendAlert)
47
+ end
48
+ def update(
49
+ # The ID of the spend alert to update.
50
+ alert_id,
51
+ # The currency for the threshold amount.
52
+ currency:,
53
+ # The time interval for evaluating spend against the threshold.
54
+ interval:,
55
+ # Email notification settings for a spend alert.
56
+ notification_channel:,
57
+ # The alert threshold amount, in cents.
58
+ threshold_amount:,
59
+ request_options: {}
60
+ )
61
+ end
62
+
63
+ # Lists organization spend alerts.
64
+ sig do
65
+ params(
66
+ after: String,
67
+ before: String,
68
+ limit: Integer,
69
+ order:
70
+ OpenAI::Admin::Organization::SpendAlertListParams::Order::OrSymbol,
71
+ request_options: OpenAI::RequestOptions::OrHash
72
+ ).returns(
73
+ OpenAI::Internal::ConversationCursorPage[
74
+ OpenAI::Admin::Organization::OrganizationSpendAlert
75
+ ]
76
+ )
77
+ end
78
+ def list(
79
+ # Cursor for pagination. Provide the ID of the last spend alert from the previous
80
+ # response to fetch the next page.
81
+ after: nil,
82
+ # Cursor for pagination. Provide the ID of the first spend alert from the previous
83
+ # response to fetch the previous page.
84
+ before: nil,
85
+ # A limit on the number of spend alerts to return. Defaults to 20.
86
+ limit: nil,
87
+ # Sort order for the returned spend alerts.
88
+ order: nil,
89
+ request_options: {}
90
+ )
91
+ end
92
+
93
+ # Deletes an organization spend alert.
94
+ sig do
95
+ params(
96
+ alert_id: String,
97
+ request_options: OpenAI::RequestOptions::OrHash
98
+ ).returns(
99
+ OpenAI::Admin::Organization::OrganizationSpendAlertDeleted
100
+ )
101
+ end
102
+ def delete(
103
+ # The ID of the spend alert to delete.
104
+ alert_id,
105
+ request_options: {}
106
+ )
107
+ end
108
+
109
+ # @api private
110
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
111
+ def self.new(client:)
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end