openai 0.63.0 → 0.65.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 (305) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -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/audit_log_list_params.rb +6 -0
  6. data/lib/openai/models/admin/organization/audit_log_list_response.rb +231 -1
  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/chat/completion_create_params.rb +16 -0
  69. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  70. data/lib/openai/models/conversations/conversation_item.rb +57 -1
  71. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  72. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  73. data/lib/openai/models/responses/compacted_response.rb +2 -2
  74. data/lib/openai/models/responses/input_token_count_params.rb +41 -4
  75. data/lib/openai/models/responses/response.rb +21 -5
  76. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  77. data/lib/openai/models/responses/response_create_params.rb +19 -3
  78. data/lib/openai/models/responses/response_function_web_search.rb +11 -9
  79. data/lib/openai/models/responses/response_input_item.rb +54 -1
  80. data/lib/openai/models/responses/response_item.rb +57 -1
  81. data/lib/openai/models/responses/response_item_list.rb +2 -2
  82. data/lib/openai/models/responses/response_output_item.rb +57 -1
  83. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  84. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  85. data/lib/openai/models/responses/responses_client_event.rb +19 -3
  86. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  87. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  88. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  89. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  90. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  91. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  92. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  93. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  94. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  95. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  96. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  97. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  98. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  99. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  100. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  101. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  102. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  103. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  104. data/lib/openai/resources/admin/organization.rb +8 -0
  105. data/lib/openai/resources/conversations/items.rb +3 -3
  106. data/lib/openai/resources/conversations.rb +1 -1
  107. data/lib/openai/resources/responses/input_items.rb +1 -1
  108. data/lib/openai/resources/responses/input_tokens.rb +4 -2
  109. data/lib/openai/resources/responses.rb +3 -3
  110. data/lib/openai/version.rb +1 -1
  111. data/lib/openai.rb +51 -0
  112. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +30 -0
  113. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +489 -3
  114. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  115. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  116. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  117. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  118. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  119. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  120. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  121. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  122. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  123. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  124. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  125. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  126. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  127. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  128. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  129. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  130. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  131. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  132. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  133. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  134. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  135. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  136. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  137. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  138. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  139. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  140. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  141. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  142. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  143. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  144. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  145. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  146. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  147. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  148. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  149. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  150. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  151. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  152. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  153. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  154. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  155. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  156. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  157. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  158. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  159. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  160. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  161. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  162. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  163. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  164. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  165. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  166. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  167. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  168. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  169. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  170. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  171. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  172. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  173. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  174. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  175. data/rbi/openai/models/chat/completion_create_params.rbi +24 -0
  176. data/rbi/openai/models/conversations/conversation_create_params.rbi +6 -0
  177. data/rbi/openai/models/conversations/conversation_item.rbi +150 -0
  178. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  179. data/rbi/openai/models/conversations/item_create_params.rbi +6 -0
  180. data/rbi/openai/models/responses/compacted_response.rbi +1 -0
  181. data/rbi/openai/models/responses/input_token_count_params.rbi +85 -0
  182. data/rbi/openai/models/responses/response.rbi +25 -0
  183. data/rbi/openai/models/responses/response_create_params.rbi +24 -0
  184. data/rbi/openai/models/responses/response_function_web_search.rbi +11 -8
  185. data/rbi/openai/models/responses/response_input_item.rbi +147 -0
  186. data/rbi/openai/models/responses/response_item.rbi +150 -0
  187. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  188. data/rbi/openai/models/responses/response_output_item.rbi +150 -0
  189. data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
  190. data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
  191. data/rbi/openai/models/responses/responses_client_event.rbi +24 -0
  192. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  193. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  194. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  195. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  196. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  197. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  198. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  199. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  200. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  201. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  202. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  203. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  204. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  205. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  206. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  207. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  208. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  209. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  210. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  211. data/rbi/openai/resources/admin/organization.rbi +6 -0
  212. data/rbi/openai/resources/chat/completions.rbi +16 -0
  213. data/rbi/openai/resources/conversations/items.rbi +2 -0
  214. data/rbi/openai/resources/conversations.rbi +2 -0
  215. data/rbi/openai/resources/responses/input_tokens.rbi +9 -0
  216. data/rbi/openai/resources/responses.rbi +16 -0
  217. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +12 -0
  218. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +216 -3
  219. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  220. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  221. data/sig/openai/models/admin/organization/group.rbs +15 -4
  222. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  223. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  224. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  225. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  226. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  227. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  228. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  229. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  230. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  231. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  232. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  233. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  234. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  235. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  236. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  237. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  238. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  239. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  240. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  241. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  242. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  243. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  244. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  245. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  246. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  247. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  248. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  249. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  250. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  251. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  252. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  253. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  254. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  255. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  256. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  257. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  258. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  259. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  260. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  261. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  262. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  263. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  264. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  265. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  266. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  267. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  268. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  269. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  270. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  271. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  272. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  273. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  274. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  275. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  276. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  277. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  278. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  279. data/sig/openai/models/conversations/conversation_item.rbs +58 -0
  280. data/sig/openai/models/responses/input_token_count_params.rbs +20 -0
  281. data/sig/openai/models/responses/response_function_web_search.rbs +7 -5
  282. data/sig/openai/models/responses/response_input_item.rbs +44 -0
  283. data/sig/openai/models/responses/response_item.rbs +58 -0
  284. data/sig/openai/models/responses/response_output_item.rbs +58 -0
  285. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  286. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  287. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  288. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  289. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  290. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  291. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  292. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  293. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  294. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  295. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  296. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  297. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  298. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  299. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  300. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  301. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  302. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  303. data/sig/openai/resources/admin/organization.rbs +4 -0
  304. data/sig/openai/resources/responses/input_tokens.rbs +1 -0
  305. metadata +155 -2
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Groups
8
+ # @see OpenAI::Resources::Admin::Organization::Groups::Roles#retrieve
9
+ class RoleRetrieveResponse < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # Identifier for the role.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute assignment_sources
17
+ # Principals from which the role assignment is inherited, when available.
18
+ #
19
+ # @return [Array<OpenAI::Models::Admin::Organization::Groups::RoleRetrieveResponse::AssignmentSource>, nil]
20
+ required :assignment_sources,
21
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Models::Admin::Organization::Groups::RoleRetrieveResponse::AssignmentSource] },
22
+ nil?: true
23
+
24
+ # @!attribute created_at
25
+ # When the role was created.
26
+ #
27
+ # @return [Integer, nil]
28
+ required :created_at, Integer, nil?: true
29
+
30
+ # @!attribute created_by
31
+ # Identifier of the actor who created the role.
32
+ #
33
+ # @return [String, nil]
34
+ required :created_by, String, nil?: true
35
+
36
+ # @!attribute created_by_user_obj
37
+ # User details for the actor that created the role, when available.
38
+ #
39
+ # @return [Hash{Symbol=>Object}, nil]
40
+ required :created_by_user_obj,
41
+ OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown],
42
+ nil?: true
43
+
44
+ # @!attribute description
45
+ # Description of the role.
46
+ #
47
+ # @return [String, nil]
48
+ required :description, String, nil?: true
49
+
50
+ # @!attribute metadata
51
+ # Arbitrary metadata stored on the role.
52
+ #
53
+ # @return [Hash{Symbol=>Object}, nil]
54
+ required :metadata, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown], nil?: true
55
+
56
+ # @!attribute name
57
+ # Name of the role.
58
+ #
59
+ # @return [String]
60
+ required :name, String
61
+
62
+ # @!attribute permissions
63
+ # Permissions associated with the role.
64
+ #
65
+ # @return [Array<String>]
66
+ required :permissions, OpenAI::Internal::Type::ArrayOf[String]
67
+
68
+ # @!attribute predefined_role
69
+ # Whether the role is predefined by OpenAI.
70
+ #
71
+ # @return [Boolean]
72
+ required :predefined_role, OpenAI::Internal::Type::Boolean
73
+
74
+ # @!attribute resource_type
75
+ # Resource type the role applies to.
76
+ #
77
+ # @return [String]
78
+ required :resource_type, String
79
+
80
+ # @!attribute updated_at
81
+ # When the role was last updated.
82
+ #
83
+ # @return [Integer, nil]
84
+ required :updated_at, Integer, nil?: true
85
+
86
+ # @!method initialize(id:, assignment_sources:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
87
+ # Detailed information about a role assignment entry returned when listing
88
+ # assignments.
89
+ #
90
+ # @param id [String] Identifier for the role.
91
+ #
92
+ # @param assignment_sources [Array<OpenAI::Models::Admin::Organization::Groups::RoleRetrieveResponse::AssignmentSource>, nil] Principals from which the role assignment is inherited, when available.
93
+ #
94
+ # @param created_at [Integer, nil] When the role was created.
95
+ #
96
+ # @param created_by [String, nil] Identifier of the actor who created the role.
97
+ #
98
+ # @param created_by_user_obj [Hash{Symbol=>Object}, nil] User details for the actor that created the role, when available.
99
+ #
100
+ # @param description [String, nil] Description of the role.
101
+ #
102
+ # @param metadata [Hash{Symbol=>Object}, nil] Arbitrary metadata stored on the role.
103
+ #
104
+ # @param name [String] Name of the role.
105
+ #
106
+ # @param permissions [Array<String>] Permissions associated with the role.
107
+ #
108
+ # @param predefined_role [Boolean] Whether the role is predefined by OpenAI.
109
+ #
110
+ # @param resource_type [String] Resource type the role applies to.
111
+ #
112
+ # @param updated_at [Integer, nil] When the role was last updated.
113
+
114
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
115
+ # @!attribute principal_id
116
+ #
117
+ # @return [String]
118
+ required :principal_id, String
119
+
120
+ # @!attribute principal_type
121
+ #
122
+ # @return [String]
123
+ required :principal_type, String
124
+
125
+ # @!method initialize(principal_id:, principal_type:)
126
+ # @param principal_id [String]
127
+ # @param principal_type [String]
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Groups
8
+ # @see OpenAI::Resources::Admin::Organization::Groups::Users#retrieve
9
+ class UserRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute group_id
14
+ #
15
+ # @return [String]
16
+ required :group_id, String
17
+
18
+ # @!attribute user_id
19
+ #
20
+ # @return [String]
21
+ required :user_id, String
22
+
23
+ # @!method initialize(group_id:, user_id:, request_options: {})
24
+ # @param group_id [String]
25
+ # @param user_id [String]
26
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Groups
8
+ # @see OpenAI::Resources::Admin::Organization::Groups::Users#retrieve
9
+ class UserRetrieveResponse < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # Identifier for the user.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute email
17
+ # Email address of the user, or `null` for users without an email.
18
+ #
19
+ # @return [String, nil]
20
+ required :email, String, nil?: true
21
+
22
+ # @!attribute is_service_account
23
+ # Whether the user is a service account.
24
+ #
25
+ # @return [Boolean, nil]
26
+ required :is_service_account, OpenAI::Internal::Type::Boolean, nil?: true
27
+
28
+ # @!attribute name
29
+ # Display name of the user.
30
+ #
31
+ # @return [String]
32
+ required :name, String
33
+
34
+ # @!attribute picture
35
+ # URL of the user's profile picture, if available.
36
+ #
37
+ # @return [String, nil]
38
+ required :picture, String, nil?: true
39
+
40
+ # @!attribute user_type
41
+ # The type of user.
42
+ #
43
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Groups::UserRetrieveResponse::UserType]
44
+ required :user_type,
45
+ enum: -> { OpenAI::Models::Admin::Organization::Groups::UserRetrieveResponse::UserType }
46
+
47
+ # @!method initialize(id:, email:, is_service_account:, name:, picture:, user_type:)
48
+ # Details about a user returned from an organization group membership lookup.
49
+ #
50
+ # @param id [String] Identifier for the user.
51
+ #
52
+ # @param email [String, nil] Email address of the user, or `null` for users without an email.
53
+ #
54
+ # @param is_service_account [Boolean, nil] Whether the user is a service account.
55
+ #
56
+ # @param name [String] Display name of the user.
57
+ #
58
+ # @param picture [String, nil] URL of the user's profile picture, if available.
59
+ #
60
+ # @param user_type [Symbol, OpenAI::Models::Admin::Organization::Groups::UserRetrieveResponse::UserType] The type of user.
61
+
62
+ # The type of user.
63
+ #
64
+ # @see OpenAI::Models::Admin::Organization::Groups::UserRetrieveResponse#user_type
65
+ module UserType
66
+ extend OpenAI::Internal::Type::Enum
67
+
68
+ USER = :user
69
+ TENANT_USER = :tenant_user
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -24,7 +24,8 @@ module OpenAI
24
24
  # @!attribute projects
25
25
  # An array of projects to which membership is granted at the same time the org
26
26
  # invite is accepted. If omitted, the user will be invited to the default project
27
- # for compatibility with legacy behavior.
27
+ # for compatibility with legacy behavior. If empty list is passed, the user will
28
+ # not be invited to any projects, including the default one.
28
29
  #
29
30
  # @return [Array<OpenAI::Models::Admin::Organization::InviteCreateParams::Project>, nil]
30
31
  optional :projects,
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::DataRetention#retrieve
8
+ class OrganizationDataRetention < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute object
10
+ # The object type, which is always `organization.data_retention`.
11
+ #
12
+ # @return [Symbol, :"organization.data_retention"]
13
+ required :object, const: :"organization.data_retention"
14
+
15
+ # @!attribute type
16
+ # The configured organization data retention type.
17
+ #
18
+ # @return [Symbol, OpenAI::Models::Admin::Organization::OrganizationDataRetention::Type]
19
+ required :type, enum: -> { OpenAI::Admin::Organization::OrganizationDataRetention::Type }
20
+
21
+ # @!method initialize(type:, object: :"organization.data_retention")
22
+ # Represents the organization's data retention control setting.
23
+ #
24
+ # @param type [Symbol, OpenAI::Models::Admin::Organization::OrganizationDataRetention::Type] The configured organization data retention type.
25
+ #
26
+ # @param object [Symbol, :"organization.data_retention"] The object type, which is always `organization.data_retention`.
27
+
28
+ # The configured organization data retention type.
29
+ #
30
+ # @see OpenAI::Models::Admin::Organization::OrganizationDataRetention#type
31
+ module Type
32
+ extend OpenAI::Internal::Type::Enum
33
+
34
+ ZERO_DATA_RETENTION = :zero_data_retention
35
+ MODIFIED_ABUSE_MONITORING = :modified_abuse_monitoring
36
+ ENHANCED_ZERO_DATA_RETENTION = :enhanced_zero_data_retention
37
+ ENHANCED_MODIFIED_ABUSE_MONITORING = :enhanced_modified_abuse_monitoring
38
+
39
+ # @!method self.values
40
+ # @return [Array<Symbol>]
41
+ end
42
+ end
43
+ end
44
+
45
+ OrganizationDataRetention = Organization::OrganizationDataRetention
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,120 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::SpendAlerts#create
8
+ class OrganizationSpendAlert < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute id
10
+ # The identifier, which can be referenced in API endpoints.
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute currency
16
+ # The currency for the threshold amount.
17
+ #
18
+ # @return [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Currency]
19
+ required :currency, enum: -> { OpenAI::Admin::Organization::OrganizationSpendAlert::Currency }
20
+
21
+ # @!attribute interval
22
+ # The time interval for evaluating spend against the threshold.
23
+ #
24
+ # @return [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Interval]
25
+ required :interval, enum: -> { OpenAI::Admin::Organization::OrganizationSpendAlert::Interval }
26
+
27
+ # @!attribute notification_channel
28
+ # Email notification settings for a spend alert.
29
+ #
30
+ # @return [OpenAI::Models::Admin::Organization::OrganizationSpendAlert::NotificationChannel]
31
+ required :notification_channel,
32
+ -> { OpenAI::Admin::Organization::OrganizationSpendAlert::NotificationChannel }
33
+
34
+ # @!attribute object
35
+ # The object type, which is always `organization.spend_alert`.
36
+ #
37
+ # @return [Symbol, :"organization.spend_alert"]
38
+ required :object, const: :"organization.spend_alert"
39
+
40
+ # @!attribute threshold_amount
41
+ # The alert threshold amount, in cents.
42
+ #
43
+ # @return [Integer]
44
+ required :threshold_amount, Integer
45
+
46
+ # @!method initialize(id:, currency:, interval:, notification_channel:, threshold_amount:, object: :"organization.spend_alert")
47
+ # Represents a spend alert configured at the organization level.
48
+ #
49
+ # @param id [String] The identifier, which can be referenced in API endpoints.
50
+ #
51
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Currency] The currency for the threshold amount.
52
+ #
53
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::OrganizationSpendAlert::Interval] The time interval for evaluating spend against the threshold.
54
+ #
55
+ # @param notification_channel [OpenAI::Models::Admin::Organization::OrganizationSpendAlert::NotificationChannel] Email notification settings for a spend alert.
56
+ #
57
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
58
+ #
59
+ # @param object [Symbol, :"organization.spend_alert"] The object type, which is always `organization.spend_alert`.
60
+
61
+ # The currency for the threshold amount.
62
+ #
63
+ # @see OpenAI::Models::Admin::Organization::OrganizationSpendAlert#currency
64
+ module Currency
65
+ extend OpenAI::Internal::Type::Enum
66
+
67
+ USD = :USD
68
+
69
+ # @!method self.values
70
+ # @return [Array<Symbol>]
71
+ end
72
+
73
+ # The time interval for evaluating spend against the threshold.
74
+ #
75
+ # @see OpenAI::Models::Admin::Organization::OrganizationSpendAlert#interval
76
+ module Interval
77
+ extend OpenAI::Internal::Type::Enum
78
+
79
+ MONTH = :month
80
+
81
+ # @!method self.values
82
+ # @return [Array<Symbol>]
83
+ end
84
+
85
+ # @see OpenAI::Models::Admin::Organization::OrganizationSpendAlert#notification_channel
86
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
87
+ # @!attribute recipients
88
+ # Email addresses that receive the spend alert notification.
89
+ #
90
+ # @return [Array<String>]
91
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
92
+
93
+ # @!attribute type
94
+ # The notification channel type. Currently only `email` is supported.
95
+ #
96
+ # @return [Symbol, :email]
97
+ required :type, const: :email
98
+
99
+ # @!attribute subject_prefix
100
+ # Optional subject prefix for alert emails.
101
+ #
102
+ # @return [String, nil]
103
+ optional :subject_prefix, String, nil?: true
104
+
105
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
106
+ # Email notification settings for a spend alert.
107
+ #
108
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
109
+ #
110
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
111
+ #
112
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
113
+ end
114
+ end
115
+ end
116
+
117
+ OrganizationSpendAlert = Organization::OrganizationSpendAlert
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::SpendAlerts#delete
8
+ class OrganizationSpendAlertDeleted < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute id
10
+ # The deleted spend alert ID.
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute deleted
16
+ # Whether the spend alert was deleted.
17
+ #
18
+ # @return [Boolean]
19
+ required :deleted, OpenAI::Internal::Type::Boolean
20
+
21
+ # @!attribute object
22
+ # Always `organization.spend_alert.deleted`.
23
+ #
24
+ # @return [Symbol, :"organization.spend_alert.deleted"]
25
+ required :object, const: :"organization.spend_alert.deleted"
26
+
27
+ # @!method initialize(id:, deleted:, object: :"organization.spend_alert.deleted")
28
+ # Confirmation payload returned after deleting an organization spend alert.
29
+ #
30
+ # @param id [String] The deleted spend alert ID.
31
+ #
32
+ # @param deleted [Boolean] Whether the spend alert was deleted.
33
+ #
34
+ # @param object [Symbol, :"organization.spend_alert.deleted"] Always `organization.spend_alert.deleted`.
35
+ end
36
+ end
37
+
38
+ OrganizationSpendAlertDeleted = Organization::OrganizationSpendAlertDeleted
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::DataRetention#retrieve
9
+ class DataRetentionRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!method initialize(project_id:, request_options: {})
19
+ # @param project_id [String]
20
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::DataRetention#update
9
+ class DataRetentionUpdateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute retention_type
19
+ # The desired project data retention type.
20
+ #
21
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType]
22
+ required :retention_type,
23
+ enum: -> { OpenAI::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType }
24
+
25
+ # @!method initialize(project_id:, retention_type:, request_options: {})
26
+ # @param project_id [String]
27
+ #
28
+ # @param retention_type [Symbol, OpenAI::Models::Admin::Organization::Projects::DataRetentionUpdateParams::RetentionType] The desired project data retention type.
29
+ #
30
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
31
+
32
+ # The desired project data retention type.
33
+ module RetentionType
34
+ extend OpenAI::Internal::Type::Enum
35
+
36
+ ORGANIZATION_DEFAULT = :organization_default
37
+ NONE = :none
38
+ ZERO_DATA_RETENTION = :zero_data_retention
39
+ MODIFIED_ABUSE_MONITORING = :modified_abuse_monitoring
40
+ ENHANCED_ZERO_DATA_RETENTION = :enhanced_zero_data_retention
41
+ ENHANCED_MODIFIED_ABUSE_MONITORING = :enhanced_modified_abuse_monitoring
42
+
43
+ # @!method self.values
44
+ # @return [Array<Symbol>]
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::Groups#retrieve
9
+ class GroupRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute group_id
19
+ #
20
+ # @return [String]
21
+ required :group_id, String
22
+
23
+ # @!attribute group_type
24
+ # The type of group to retrieve.
25
+ #
26
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::GroupRetrieveParams::GroupType, nil]
27
+ optional :group_type, enum: -> { OpenAI::Admin::Organization::Projects::GroupRetrieveParams::GroupType }
28
+
29
+ # @!method initialize(project_id:, group_id:, group_type: nil, request_options: {})
30
+ # @param project_id [String]
31
+ #
32
+ # @param group_id [String]
33
+ #
34
+ # @param group_type [Symbol, OpenAI::Models::Admin::Organization::Projects::GroupRetrieveParams::GroupType] The type of group to retrieve.
35
+ #
36
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
37
+
38
+ # The type of group to retrieve.
39
+ module GroupType
40
+ extend OpenAI::Internal::Type::Enum
41
+
42
+ GROUP = :group
43
+ TENANT_GROUP = :tenant_group
44
+
45
+ # @!method self.values
46
+ # @return [Array<Symbol>]
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -14,6 +14,14 @@ module OpenAI
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
+ # @!attribute assignment_sources
18
+ # Principals from which the role assignment is inherited, when available.
19
+ #
20
+ # @return [Array<OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource>, nil]
21
+ required :assignment_sources,
22
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource] },
23
+ nil?: true
24
+
17
25
  # @!attribute created_at
18
26
  # When the role was created.
19
27
  #
@@ -76,12 +84,14 @@ module OpenAI
76
84
  # @return [Integer, nil]
77
85
  required :updated_at, Integer, nil?: true
78
86
 
79
- # @!method initialize(id:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
87
+ # @!method initialize(id:, assignment_sources:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
80
88
  # Detailed information about a role assignment entry returned when listing
81
89
  # assignments.
82
90
  #
83
91
  # @param id [String] Identifier for the role.
84
92
  #
93
+ # @param assignment_sources [Array<OpenAI::Models::Admin::Organization::Projects::Groups::RoleListResponse::AssignmentSource>, nil] Principals from which the role assignment is inherited, when available.
94
+ #
85
95
  # @param created_at [Integer, nil] When the role was created.
86
96
  #
87
97
  # @param created_by [String, nil] Identifier of the actor who created the role.
@@ -101,6 +111,22 @@ module OpenAI
101
111
  # @param resource_type [String] Resource type the role applies to.
102
112
  #
103
113
  # @param updated_at [Integer, nil] When the role was last updated.
114
+
115
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
116
+ # @!attribute principal_id
117
+ #
118
+ # @return [String]
119
+ required :principal_id, String
120
+
121
+ # @!attribute principal_type
122
+ #
123
+ # @return [String]
124
+ required :principal_type, String
125
+
126
+ # @!method initialize(principal_id:, principal_type:)
127
+ # @param principal_id [String]
128
+ # @param principal_type [String]
129
+ end
104
130
  end
105
131
  end
106
132
  end