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,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
@@ -314,6 +314,61 @@ module OpenAI
314
314
  )
315
315
  end
316
316
 
317
+ # Get file search calls usage details for the organization.
318
+ sig do
319
+ params(
320
+ start_time: Integer,
321
+ api_key_ids: T::Array[String],
322
+ bucket_width:
323
+ OpenAI::Admin::Organization::UsageFileSearchCallsParams::BucketWidth::OrSymbol,
324
+ end_time: Integer,
325
+ group_by:
326
+ T::Array[
327
+ OpenAI::Admin::Organization::UsageFileSearchCallsParams::GroupBy::OrSymbol
328
+ ],
329
+ limit: Integer,
330
+ page: String,
331
+ project_ids: T::Array[String],
332
+ user_ids: T::Array[String],
333
+ vector_store_ids: T::Array[String],
334
+ request_options: OpenAI::RequestOptions::OrHash
335
+ ).returns(
336
+ OpenAI::Models::Admin::Organization::UsageFileSearchCallsResponse
337
+ )
338
+ end
339
+ def file_search_calls(
340
+ # Start time (Unix seconds) of the query time range, inclusive.
341
+ start_time:,
342
+ # Return only usage for these API keys.
343
+ api_key_ids: nil,
344
+ # Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
345
+ # supported, default to `1d`.
346
+ bucket_width: nil,
347
+ # End time (Unix seconds) of the query time range, exclusive.
348
+ end_time: nil,
349
+ # Group the usage data by the specified fields. Support fields include
350
+ # `project_id`, `user_id`, `api_key_id`, `vector_store_id` or any combination of
351
+ # them.
352
+ group_by: nil,
353
+ # Specifies the number of buckets to return.
354
+ #
355
+ # - `bucket_width=1d`: default: 7, max: 31
356
+ # - `bucket_width=1h`: default: 24, max: 168
357
+ # - `bucket_width=1m`: default: 60, max: 1440
358
+ limit: nil,
359
+ # A cursor for use in pagination. Corresponding to the `next_page` field from the
360
+ # previous response.
361
+ page: nil,
362
+ # Return only usage for these projects.
363
+ project_ids: nil,
364
+ # Return only usage for these users.
365
+ user_ids: nil,
366
+ # Return only usage for these vector stores.
367
+ vector_store_ids: nil,
368
+ request_options: {}
369
+ )
370
+ end
371
+
317
372
  # Get images usage details for the organization.
318
373
  sig do
319
374
  params(
@@ -480,6 +535,67 @@ module OpenAI
480
535
  )
481
536
  end
482
537
 
538
+ # Get web search calls usage details for the organization.
539
+ sig do
540
+ params(
541
+ start_time: Integer,
542
+ api_key_ids: T::Array[String],
543
+ bucket_width:
544
+ OpenAI::Admin::Organization::UsageWebSearchCallsParams::BucketWidth::OrSymbol,
545
+ context_levels:
546
+ T::Array[
547
+ OpenAI::Admin::Organization::UsageWebSearchCallsParams::ContextLevel::OrSymbol
548
+ ],
549
+ end_time: Integer,
550
+ group_by:
551
+ T::Array[
552
+ OpenAI::Admin::Organization::UsageWebSearchCallsParams::GroupBy::OrSymbol
553
+ ],
554
+ limit: Integer,
555
+ models: T::Array[String],
556
+ page: String,
557
+ project_ids: T::Array[String],
558
+ user_ids: T::Array[String],
559
+ request_options: OpenAI::RequestOptions::OrHash
560
+ ).returns(
561
+ OpenAI::Models::Admin::Organization::UsageWebSearchCallsResponse
562
+ )
563
+ end
564
+ def web_search_calls(
565
+ # Start time (Unix seconds) of the query time range, inclusive.
566
+ start_time:,
567
+ # Return only usage for these API keys.
568
+ api_key_ids: nil,
569
+ # Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
570
+ # supported, default to `1d`.
571
+ bucket_width: nil,
572
+ # Return only web search usage for these context levels.
573
+ context_levels: nil,
574
+ # End time (Unix seconds) of the query time range, exclusive.
575
+ end_time: nil,
576
+ # Group the usage data by the specified fields. Support fields include
577
+ # `project_id`, `user_id`, `api_key_id`, `model`, `context_level` or any
578
+ # combination of them.
579
+ group_by: nil,
580
+ # Specifies the number of buckets to return.
581
+ #
582
+ # - `bucket_width=1d`: default: 7, max: 31
583
+ # - `bucket_width=1h`: default: 24, max: 168
584
+ # - `bucket_width=1m`: default: 60, max: 1440
585
+ limit: nil,
586
+ # Return only usage for these models.
587
+ models: nil,
588
+ # A cursor for use in pagination. Corresponding to the `next_page` field from the
589
+ # previous response.
590
+ page: nil,
591
+ # Return only usage for these projects.
592
+ project_ids: nil,
593
+ # Return only usage for these users.
594
+ user_ids: nil,
595
+ request_options: {}
596
+ )
597
+ end
598
+
483
599
  # @api private
484
600
  sig { params(client: OpenAI::Client).returns(T.attached_class) }
485
601
  def self.new(client:)