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
@@ -19,6 +19,18 @@ module OpenAI
19
19
  sig { returns(String) }
20
20
  attr_accessor :id
21
21
 
22
+ # Principals from which the role assignment is inherited, when available.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ T::Array[
27
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource
28
+ ]
29
+ )
30
+ )
31
+ end
32
+ attr_accessor :assignment_sources
33
+
22
34
  # When the role was created.
23
35
  sig { returns(T.nilable(Integer)) }
24
36
  attr_accessor :created_at
@@ -64,6 +76,12 @@ module OpenAI
64
76
  sig do
65
77
  params(
66
78
  id: String,
79
+ assignment_sources:
80
+ T.nilable(
81
+ T::Array[
82
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource::OrHash
83
+ ]
84
+ ),
67
85
  created_at: T.nilable(Integer),
68
86
  created_by: T.nilable(String),
69
87
  created_by_user_obj: T.nilable(T::Hash[Symbol, T.anything]),
@@ -79,6 +97,8 @@ module OpenAI
79
97
  def self.new(
80
98
  # Identifier for the role.
81
99
  id:,
100
+ # Principals from which the role assignment is inherited, when available.
101
+ assignment_sources:,
82
102
  # When the role was created.
83
103
  created_at:,
84
104
  # Identifier of the actor who created the role.
@@ -106,6 +126,12 @@ module OpenAI
106
126
  override.returns(
107
127
  {
108
128
  id: String,
129
+ assignment_sources:
130
+ T.nilable(
131
+ T::Array[
132
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource
133
+ ]
134
+ ),
109
135
  created_at: T.nilable(Integer),
110
136
  created_by: T.nilable(String),
111
137
  created_by_user_obj: T.nilable(T::Hash[Symbol, T.anything]),
@@ -121,6 +147,38 @@ module OpenAI
121
147
  end
122
148
  def to_hash
123
149
  end
150
+
151
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
152
+ OrHash =
153
+ T.type_alias do
154
+ T.any(
155
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource,
156
+ OpenAI::Internal::AnyHash
157
+ )
158
+ end
159
+
160
+ sig { returns(String) }
161
+ attr_accessor :principal_id
162
+
163
+ sig { returns(String) }
164
+ attr_accessor :principal_type
165
+
166
+ sig do
167
+ params(principal_id: String, principal_type: String).returns(
168
+ T.attached_class
169
+ )
170
+ end
171
+ def self.new(principal_id:, principal_type:)
172
+ end
173
+
174
+ sig do
175
+ override.returns(
176
+ { principal_id: String, principal_type: String }
177
+ )
178
+ end
179
+ def to_hash
180
+ end
181
+ end
124
182
  end
125
183
  end
126
184
  end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ module Users
9
+ class RoleRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ OrHash =
14
+ T.type_alias do
15
+ T.any(
16
+ OpenAI::Admin::Organization::Projects::Users::RoleRetrieveParams,
17
+ OpenAI::Internal::AnyHash
18
+ )
19
+ end
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :project_id
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :user_id
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :role_id
29
+
30
+ sig do
31
+ params(
32
+ project_id: String,
33
+ user_id: String,
34
+ role_id: String,
35
+ request_options: OpenAI::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(project_id:, user_id:, role_id:, request_options: {})
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ project_id: String,
45
+ user_id: String,
46
+ role_id: String,
47
+ request_options: OpenAI::RequestOptions
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,188 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ module Users
9
+ class RoleRetrieveResponse < OpenAI::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleRetrieveResponse,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Identifier for the role.
19
+ sig { returns(String) }
20
+ attr_accessor :id
21
+
22
+ # Principals from which the role assignment is inherited, when available.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ T::Array[
27
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleRetrieveResponse::AssignmentSource
28
+ ]
29
+ )
30
+ )
31
+ end
32
+ attr_accessor :assignment_sources
33
+
34
+ # When the role was created.
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_accessor :created_at
37
+
38
+ # Identifier of the actor who created the role.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :created_by
41
+
42
+ # User details for the actor that created the role, when available.
43
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
44
+ attr_accessor :created_by_user_obj
45
+
46
+ # Description of the role.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :description
49
+
50
+ # Arbitrary metadata stored on the role.
51
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
52
+ attr_accessor :metadata
53
+
54
+ # Name of the role.
55
+ sig { returns(String) }
56
+ attr_accessor :name
57
+
58
+ # Permissions associated with the role.
59
+ sig { returns(T::Array[String]) }
60
+ attr_accessor :permissions
61
+
62
+ # Whether the role is predefined by OpenAI.
63
+ sig { returns(T::Boolean) }
64
+ attr_accessor :predefined_role
65
+
66
+ # Resource type the role applies to.
67
+ sig { returns(String) }
68
+ attr_accessor :resource_type
69
+
70
+ # When the role was last updated.
71
+ sig { returns(T.nilable(Integer)) }
72
+ attr_accessor :updated_at
73
+
74
+ # Detailed information about a role assignment entry returned when listing
75
+ # assignments.
76
+ sig do
77
+ params(
78
+ id: String,
79
+ assignment_sources:
80
+ T.nilable(
81
+ T::Array[
82
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleRetrieveResponse::AssignmentSource::OrHash
83
+ ]
84
+ ),
85
+ created_at: T.nilable(Integer),
86
+ created_by: T.nilable(String),
87
+ created_by_user_obj: T.nilable(T::Hash[Symbol, T.anything]),
88
+ description: T.nilable(String),
89
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
90
+ name: String,
91
+ permissions: T::Array[String],
92
+ predefined_role: T::Boolean,
93
+ resource_type: String,
94
+ updated_at: T.nilable(Integer)
95
+ ).returns(T.attached_class)
96
+ end
97
+ def self.new(
98
+ # Identifier for the role.
99
+ id:,
100
+ # Principals from which the role assignment is inherited, when available.
101
+ assignment_sources:,
102
+ # When the role was created.
103
+ created_at:,
104
+ # Identifier of the actor who created the role.
105
+ created_by:,
106
+ # User details for the actor that created the role, when available.
107
+ created_by_user_obj:,
108
+ # Description of the role.
109
+ description:,
110
+ # Arbitrary metadata stored on the role.
111
+ metadata:,
112
+ # Name of the role.
113
+ name:,
114
+ # Permissions associated with the role.
115
+ permissions:,
116
+ # Whether the role is predefined by OpenAI.
117
+ predefined_role:,
118
+ # Resource type the role applies to.
119
+ resource_type:,
120
+ # When the role was last updated.
121
+ updated_at:
122
+ )
123
+ end
124
+
125
+ sig do
126
+ override.returns(
127
+ {
128
+ id: String,
129
+ assignment_sources:
130
+ T.nilable(
131
+ T::Array[
132
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleRetrieveResponse::AssignmentSource
133
+ ]
134
+ ),
135
+ created_at: T.nilable(Integer),
136
+ created_by: T.nilable(String),
137
+ created_by_user_obj: T.nilable(T::Hash[Symbol, T.anything]),
138
+ description: T.nilable(String),
139
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
140
+ name: String,
141
+ permissions: T::Array[String],
142
+ predefined_role: T::Boolean,
143
+ resource_type: String,
144
+ updated_at: T.nilable(Integer)
145
+ }
146
+ )
147
+ end
148
+ def to_hash
149
+ end
150
+
151
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
152
+ OrHash =
153
+ T.type_alias do
154
+ T.any(
155
+ OpenAI::Models::Admin::Organization::Projects::Users::RoleRetrieveResponse::AssignmentSource,
156
+ OpenAI::Internal::AnyHash
157
+ )
158
+ end
159
+
160
+ sig { returns(String) }
161
+ attr_accessor :principal_id
162
+
163
+ sig { returns(String) }
164
+ attr_accessor :principal_type
165
+
166
+ sig do
167
+ params(principal_id: String, principal_type: String).returns(
168
+ T.attached_class
169
+ )
170
+ end
171
+ def self.new(principal_id:, principal_type:)
172
+ end
173
+
174
+ sig do
175
+ override.returns(
176
+ { principal_id: String, principal_type: String }
177
+ )
178
+ end
179
+ def to_hash
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end
188
+ end
@@ -0,0 +1,42 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class RoleRetrieveParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::RoleRetrieveParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :role_id
21
+
22
+ sig do
23
+ params(
24
+ role_id: String,
25
+ request_options: OpenAI::RequestOptions::OrHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(role_id:, request_options: {})
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ { role_id: String, request_options: OpenAI::RequestOptions }
34
+ )
35
+ end
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,212 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class SpendAlertCreateParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::SpendAlertCreateParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The currency for the threshold amount.
20
+ sig do
21
+ returns(
22
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency::OrSymbol
23
+ )
24
+ end
25
+ attr_accessor :currency
26
+
27
+ # The time interval for evaluating spend against the threshold.
28
+ sig do
29
+ returns(
30
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval::OrSymbol
31
+ )
32
+ end
33
+ attr_accessor :interval
34
+
35
+ # Email notification settings for a spend alert.
36
+ sig do
37
+ returns(
38
+ OpenAI::Admin::Organization::SpendAlertCreateParams::NotificationChannel
39
+ )
40
+ end
41
+ attr_reader :notification_channel
42
+
43
+ sig do
44
+ params(
45
+ notification_channel:
46
+ OpenAI::Admin::Organization::SpendAlertCreateParams::NotificationChannel::OrHash
47
+ ).void
48
+ end
49
+ attr_writer :notification_channel
50
+
51
+ # The alert threshold amount, in cents.
52
+ sig { returns(Integer) }
53
+ attr_accessor :threshold_amount
54
+
55
+ sig do
56
+ params(
57
+ currency:
58
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency::OrSymbol,
59
+ interval:
60
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval::OrSymbol,
61
+ notification_channel:
62
+ OpenAI::Admin::Organization::SpendAlertCreateParams::NotificationChannel::OrHash,
63
+ threshold_amount: Integer,
64
+ request_options: OpenAI::RequestOptions::OrHash
65
+ ).returns(T.attached_class)
66
+ end
67
+ def self.new(
68
+ # The currency for the threshold amount.
69
+ currency:,
70
+ # The time interval for evaluating spend against the threshold.
71
+ interval:,
72
+ # Email notification settings for a spend alert.
73
+ notification_channel:,
74
+ # The alert threshold amount, in cents.
75
+ threshold_amount:,
76
+ request_options: {}
77
+ )
78
+ end
79
+
80
+ sig do
81
+ override.returns(
82
+ {
83
+ currency:
84
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency::OrSymbol,
85
+ interval:
86
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval::OrSymbol,
87
+ notification_channel:
88
+ OpenAI::Admin::Organization::SpendAlertCreateParams::NotificationChannel,
89
+ threshold_amount: Integer,
90
+ request_options: OpenAI::RequestOptions
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ # The currency for the threshold amount.
98
+ module Currency
99
+ extend OpenAI::Internal::Type::Enum
100
+
101
+ TaggedSymbol =
102
+ T.type_alias do
103
+ T.all(
104
+ Symbol,
105
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency
106
+ )
107
+ end
108
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
109
+
110
+ USD =
111
+ T.let(
112
+ :USD,
113
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency::TaggedSymbol
114
+ )
115
+
116
+ sig do
117
+ override.returns(
118
+ T::Array[
119
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Currency::TaggedSymbol
120
+ ]
121
+ )
122
+ end
123
+ def self.values
124
+ end
125
+ end
126
+
127
+ # The time interval for evaluating spend against the threshold.
128
+ module Interval
129
+ extend OpenAI::Internal::Type::Enum
130
+
131
+ TaggedSymbol =
132
+ T.type_alias do
133
+ T.all(
134
+ Symbol,
135
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval
136
+ )
137
+ end
138
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
139
+
140
+ MONTH =
141
+ T.let(
142
+ :month,
143
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval::TaggedSymbol
144
+ )
145
+
146
+ sig do
147
+ override.returns(
148
+ T::Array[
149
+ OpenAI::Admin::Organization::SpendAlertCreateParams::Interval::TaggedSymbol
150
+ ]
151
+ )
152
+ end
153
+ def self.values
154
+ end
155
+ end
156
+
157
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
158
+ OrHash =
159
+ T.type_alias do
160
+ T.any(
161
+ OpenAI::Admin::Organization::SpendAlertCreateParams::NotificationChannel,
162
+ OpenAI::Internal::AnyHash
163
+ )
164
+ end
165
+
166
+ # Email addresses that receive the spend alert notification.
167
+ sig { returns(T::Array[String]) }
168
+ attr_accessor :recipients
169
+
170
+ # The notification channel type. Currently only `email` is supported.
171
+ sig { returns(Symbol) }
172
+ attr_accessor :type
173
+
174
+ # Optional subject prefix for alert emails.
175
+ sig { returns(T.nilable(String)) }
176
+ attr_accessor :subject_prefix
177
+
178
+ # Email notification settings for a spend alert.
179
+ sig do
180
+ params(
181
+ recipients: T::Array[String],
182
+ subject_prefix: T.nilable(String),
183
+ type: Symbol
184
+ ).returns(T.attached_class)
185
+ end
186
+ def self.new(
187
+ # Email addresses that receive the spend alert notification.
188
+ recipients:,
189
+ # Optional subject prefix for alert emails.
190
+ subject_prefix: nil,
191
+ # The notification channel type. Currently only `email` is supported.
192
+ type: :email
193
+ )
194
+ end
195
+
196
+ sig do
197
+ override.returns(
198
+ {
199
+ recipients: T::Array[String],
200
+ type: Symbol,
201
+ subject_prefix: T.nilable(String)
202
+ }
203
+ )
204
+ end
205
+ def to_hash
206
+ end
207
+ end
208
+ end
209
+ end
210
+ end
211
+ end
212
+ end
@@ -0,0 +1,42 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class SpendAlertDeleteParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::SpendAlertDeleteParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :alert_id
21
+
22
+ sig do
23
+ params(
24
+ alert_id: String,
25
+ request_options: OpenAI::RequestOptions::OrHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(alert_id:, request_options: {})
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ { alert_id: String, request_options: OpenAI::RequestOptions }
34
+ )
35
+ end
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end