openai 0.69.0 → 0.71.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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/README.md +51 -1
  4. data/lib/openai/client.rb +62 -8
  5. data/lib/openai/internal/provider.rb +31 -0
  6. data/lib/openai/internal/transport/base_client.rb +65 -21
  7. data/lib/openai/internal/util.rb +1 -1
  8. data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
  9. data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
  10. data/lib/openai/models/admin/organization/projects/api_key_list_params.rb +30 -1
  11. data/lib/openai/models/admin/organization/projects/project_api_key.rb +23 -1
  12. data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
  13. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
  14. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
  15. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
  16. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
  17. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
  18. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
  19. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
  20. data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
  21. data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
  22. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
  23. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
  24. data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
  25. data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
  26. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
  27. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
  28. data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
  29. data/lib/openai/models/beta/beta_response_reasoning_item.rb +4 -3
  30. data/lib/openai/models/responses/response_reasoning_item.rb +4 -3
  31. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +1 -4
  32. data/lib/openai/provider.rb +18 -0
  33. data/lib/openai/providers/bedrock.rb +489 -0
  34. data/lib/openai/resources/admin/organization/projects/api_keys.rb +3 -1
  35. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
  36. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
  37. data/lib/openai/resources/webhooks.rb +1 -1
  38. data/lib/openai/version.rb +1 -1
  39. data/lib/openai.rb +6 -1
  40. data/rbi/openai/client.rbi +17 -0
  41. data/rbi/openai/internal/provider.rbi +51 -0
  42. data/rbi/openai/internal/transport/base_client.rbi +32 -0
  43. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
  44. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
  45. data/rbi/openai/models/admin/organization/projects/api_key_list_params.rbi +76 -0
  46. data/rbi/openai/models/admin/organization/projects/project_api_key.rbi +49 -0
  47. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
  48. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
  49. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
  50. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
  51. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
  52. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
  53. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
  54. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
  55. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
  56. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
  57. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
  58. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
  59. data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
  60. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
  61. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
  62. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
  63. data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
  64. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +6 -4
  65. data/rbi/openai/models/responses/response_reasoning_item.rbi +6 -4
  66. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -2
  67. data/rbi/openai/provider.rbi +9 -0
  68. data/rbi/openai/providers.rbi +33 -0
  69. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +8 -0
  70. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
  71. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
  72. data/rbi/openai/resources/webhooks.rbi +1 -2
  73. data/sig/openai/client.rbs +7 -0
  74. data/sig/openai/internal/provider.rbs +29 -0
  75. data/sig/openai/internal/transport/base_client.rbs +17 -1
  76. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
  77. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
  78. data/sig/openai/models/admin/organization/projects/api_key_list_params.rbs +26 -1
  79. data/sig/openai/models/admin/organization/projects/project_api_key.rbs +16 -0
  80. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
  81. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
  82. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
  83. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
  84. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
  85. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
  86. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
  87. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
  88. data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
  89. data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
  90. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
  91. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
  92. data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
  93. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
  94. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
  95. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
  96. data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
  97. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +0 -1
  98. data/sig/openai/provider.rbs +5 -0
  99. data/sig/openai/providers.rbs +15 -0
  100. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +1 -0
  101. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
  102. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
  103. data/sig/openai/resources/webhooks.rbs +1 -2
  104. metadata +20 -5
  105. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +0 -118
  106. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +0 -209
  107. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +0 -99
@@ -30,7 +30,9 @@ module OpenAI
30
30
  headers: ::Hash[String, String],
31
31
  body: top,
32
32
  max_retries: Integer,
33
- timeout: Float
33
+ timeout: Float,
34
+ :follow_redirects? => bool,
35
+ :provider_auth? => Symbol
34
36
  }
35
37
 
36
38
  MAX_REDIRECTS: 20
@@ -88,6 +90,12 @@ module OpenAI
88
90
 
89
91
  private def auth_headers: -> ::Hash[String, String]
90
92
 
93
+ private def prepare_request: (
94
+ OpenAI::Internal::Transport::BaseClient::request_input request,
95
+ redirect_count: Integer,
96
+ retry_count: Integer
97
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input
98
+
91
99
  private def user_agent: -> String
92
100
 
93
101
  private def generate_idempotency_key: -> String
@@ -102,6 +110,14 @@ module OpenAI
102
110
  retry_count: Integer
103
111
  ) -> Float
104
112
 
113
+ private def raise_status_error!: (
114
+ url: URI::Generic,
115
+ status: Integer,
116
+ headers: ::Hash[String, String],
117
+ response: top,
118
+ stream: Enumerable[String]
119
+ ) -> bot
120
+
105
121
  def send_request: (
106
122
  OpenAI::Internal::Transport::BaseClient::request_input request,
107
123
  redirect_count: Integer,
@@ -188,6 +188,90 @@ module OpenAI
188
188
  | :"user.added"
189
189
  | :"user.updated"
190
190
  | :"user.deleted"
191
+ | :"tenant.metadata.updated"
192
+ | :"tenant.microsoft_entra_mapping.upserted"
193
+ | :"tenant.microsoft_entra_mapping.deleted"
194
+ | :"tenant.workload_identity.provider.created"
195
+ | :"tenant.workload_identity.provider.updated"
196
+ | :"tenant.workload_identity.provider.archived"
197
+ | :"tenant.workload_identity.mapping.created"
198
+ | :"tenant.workload_identity.mapping.updated"
199
+ | :"tenant.workload_identity.mapping.archived"
200
+ | :"tenant.workload_identity.binding.created"
201
+ | :"tenant.workload_identity.principal.provisioned"
202
+ | :"tenant.admin_api_key.created"
203
+ | :"tenant.admin_api_key.updated"
204
+ | :"tenant.admin_api_key.deleted"
205
+ | :"tenant.project_api_key.created"
206
+ | :"tenant.chatgpt_access_token.revoked"
207
+ | :"tenant.migration.completed"
208
+ | :"tenant.sso.migrated"
209
+ | :"tenant.domains.migrated"
210
+ | :"tenant.sso_connection.created"
211
+ | :"tenant.sso_connection.updated"
212
+ | :"tenant.sso_connection.deleted"
213
+ | :"tenant.sso_connection.setup.started"
214
+ | :"tenant.policy.created"
215
+ | :"tenant.policy.updated"
216
+ | :"tenant.policy.deleted"
217
+ | :"tenant.policy.attached"
218
+ | :"tenant.policy.detached"
219
+ | :"tenant.principal_authentication_policy.resolved"
220
+ | :"tenant.scim.setup.started"
221
+ | :"tenant.scim.deletion.requested"
222
+ | :"tenant.scim.directory.created"
223
+ | :"tenant.product_access_policy.updated"
224
+ | :"tenant.resource_share_grant.created"
225
+ | :"tenant.resource_share_grant.updated"
226
+ | :"tenant.resource_share_grant.accepted"
227
+ | :"tenant.resource_share_grant.declined"
228
+ | :"tenant.resource_share_grant.revoked"
229
+ | :"tenant.resource_share_grant.deleted"
230
+ | :"tenant.service_account.updated"
231
+ | :"tenant.service_account.deleted"
232
+ | :"tenant.service_account.token.revoked"
233
+ | :"tenant.billing.overage_limit.updated"
234
+ | :"tenant.billing.alerts.updated"
235
+ | :"tenant.billing.info.updated"
236
+ | :"tenant.usage_limit.workspace.updated"
237
+ | :"tenant.usage_limit.group.updated"
238
+ | :"tenant.usage_limit.user.updated"
239
+ | :"tenant.usage_limit.increase_request.updated"
240
+ | :"tenant.usage_limit.increase_request.resolved"
241
+ | :"tenant.group.created"
242
+ | :"tenant.group.updated"
243
+ | :"tenant.group.deleted"
244
+ | :"tenant.group.member.added"
245
+ | :"tenant.group.member.removed"
246
+ | :"tenant.migration_rollout.status.updated"
247
+ | :"tenant.migration_rollout.tier.updated"
248
+ | :"tenant.role.metadata.updated"
249
+ | :"tenant.custom_role.created"
250
+ | :"tenant.custom_role.updated"
251
+ | :"tenant.custom_role.deleted"
252
+ | :"tenant.role_assignment.created"
253
+ | :"tenant.role_assignment.deleted"
254
+ | :"tenant.resource_role_assignment.created"
255
+ | :"tenant.resource_role_assignment.deleted"
256
+ | :"tenant.resource_access.updated"
257
+ | :"tenant.resource_access.deleted"
258
+ | :"tenant.session_policy.created"
259
+ | :"tenant.session_policy.updated"
260
+ | :"tenant.session_policy.deleted"
261
+ | :"tenant.session_revocation.started"
262
+ | :"tenant.third_party_app_policy.updated"
263
+ | :"tenant.user.added"
264
+ | :"tenant.user.updated"
265
+ | :"tenant.user.removed"
266
+ | :"tenant.user.looked_up"
267
+ | :"tenant.user.invited"
268
+ | :"tenant.membership.revoked"
269
+ | :"tenant.api_organization_invite.upserted"
270
+ | :"tenant.api_organization_invite.deleted"
271
+ | :"tenant.chatgpt_workspace_invite.upserted"
272
+ | :"tenant.membership.accepted"
273
+ | :"tenant.membership.declined"
274
+ | :"tenant.workspace_invite_email_settings.updated"
191
275
 
192
276
  module EventType
193
277
  extend OpenAI::Internal::Type::Enum
@@ -251,6 +335,90 @@ module OpenAI
251
335
  USER_ADDED: :"user.added"
252
336
  USER_UPDATED: :"user.updated"
253
337
  USER_DELETED: :"user.deleted"
338
+ TENANT_METADATA_UPDATED: :"tenant.metadata.updated"
339
+ TENANT_MICROSOFT_ENTRA_MAPPING_UPSERTED: :"tenant.microsoft_entra_mapping.upserted"
340
+ TENANT_MICROSOFT_ENTRA_MAPPING_DELETED: :"tenant.microsoft_entra_mapping.deleted"
341
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_CREATED: :"tenant.workload_identity.provider.created"
342
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_UPDATED: :"tenant.workload_identity.provider.updated"
343
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_ARCHIVED: :"tenant.workload_identity.provider.archived"
344
+ TENANT_WORKLOAD_IDENTITY_MAPPING_CREATED: :"tenant.workload_identity.mapping.created"
345
+ TENANT_WORKLOAD_IDENTITY_MAPPING_UPDATED: :"tenant.workload_identity.mapping.updated"
346
+ TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED: :"tenant.workload_identity.mapping.archived"
347
+ TENANT_WORKLOAD_IDENTITY_BINDING_CREATED: :"tenant.workload_identity.binding.created"
348
+ TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED: :"tenant.workload_identity.principal.provisioned"
349
+ TENANT_ADMIN_API_KEY_CREATED: :"tenant.admin_api_key.created"
350
+ TENANT_ADMIN_API_KEY_UPDATED: :"tenant.admin_api_key.updated"
351
+ TENANT_ADMIN_API_KEY_DELETED: :"tenant.admin_api_key.deleted"
352
+ TENANT_PROJECT_API_KEY_CREATED: :"tenant.project_api_key.created"
353
+ TENANT_CHATGPT_ACCESS_TOKEN_REVOKED: :"tenant.chatgpt_access_token.revoked"
354
+ TENANT_MIGRATION_COMPLETED: :"tenant.migration.completed"
355
+ TENANT_SSO_MIGRATED: :"tenant.sso.migrated"
356
+ TENANT_DOMAINS_MIGRATED: :"tenant.domains.migrated"
357
+ TENANT_SSO_CONNECTION_CREATED: :"tenant.sso_connection.created"
358
+ TENANT_SSO_CONNECTION_UPDATED: :"tenant.sso_connection.updated"
359
+ TENANT_SSO_CONNECTION_DELETED: :"tenant.sso_connection.deleted"
360
+ TENANT_SSO_CONNECTION_SETUP_STARTED: :"tenant.sso_connection.setup.started"
361
+ TENANT_POLICY_CREATED: :"tenant.policy.created"
362
+ TENANT_POLICY_UPDATED: :"tenant.policy.updated"
363
+ TENANT_POLICY_DELETED: :"tenant.policy.deleted"
364
+ TENANT_POLICY_ATTACHED: :"tenant.policy.attached"
365
+ TENANT_POLICY_DETACHED: :"tenant.policy.detached"
366
+ TENANT_PRINCIPAL_AUTHENTICATION_POLICY_RESOLVED: :"tenant.principal_authentication_policy.resolved"
367
+ TENANT_SCIM_SETUP_STARTED: :"tenant.scim.setup.started"
368
+ TENANT_SCIM_DELETION_REQUESTED: :"tenant.scim.deletion.requested"
369
+ TENANT_SCIM_DIRECTORY_CREATED: :"tenant.scim.directory.created"
370
+ TENANT_PRODUCT_ACCESS_POLICY_UPDATED: :"tenant.product_access_policy.updated"
371
+ TENANT_RESOURCE_SHARE_GRANT_CREATED: :"tenant.resource_share_grant.created"
372
+ TENANT_RESOURCE_SHARE_GRANT_UPDATED: :"tenant.resource_share_grant.updated"
373
+ TENANT_RESOURCE_SHARE_GRANT_ACCEPTED: :"tenant.resource_share_grant.accepted"
374
+ TENANT_RESOURCE_SHARE_GRANT_DECLINED: :"tenant.resource_share_grant.declined"
375
+ TENANT_RESOURCE_SHARE_GRANT_REVOKED: :"tenant.resource_share_grant.revoked"
376
+ TENANT_RESOURCE_SHARE_GRANT_DELETED: :"tenant.resource_share_grant.deleted"
377
+ TENANT_SERVICE_ACCOUNT_UPDATED: :"tenant.service_account.updated"
378
+ TENANT_SERVICE_ACCOUNT_DELETED: :"tenant.service_account.deleted"
379
+ TENANT_SERVICE_ACCOUNT_TOKEN_REVOKED: :"tenant.service_account.token.revoked"
380
+ TENANT_BILLING_OVERAGE_LIMIT_UPDATED: :"tenant.billing.overage_limit.updated"
381
+ TENANT_BILLING_ALERTS_UPDATED: :"tenant.billing.alerts.updated"
382
+ TENANT_BILLING_INFO_UPDATED: :"tenant.billing.info.updated"
383
+ TENANT_USAGE_LIMIT_WORKSPACE_UPDATED: :"tenant.usage_limit.workspace.updated"
384
+ TENANT_USAGE_LIMIT_GROUP_UPDATED: :"tenant.usage_limit.group.updated"
385
+ TENANT_USAGE_LIMIT_USER_UPDATED: :"tenant.usage_limit.user.updated"
386
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_UPDATED: :"tenant.usage_limit.increase_request.updated"
387
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_RESOLVED: :"tenant.usage_limit.increase_request.resolved"
388
+ TENANT_GROUP_CREATED: :"tenant.group.created"
389
+ TENANT_GROUP_UPDATED: :"tenant.group.updated"
390
+ TENANT_GROUP_DELETED: :"tenant.group.deleted"
391
+ TENANT_GROUP_MEMBER_ADDED: :"tenant.group.member.added"
392
+ TENANT_GROUP_MEMBER_REMOVED: :"tenant.group.member.removed"
393
+ TENANT_MIGRATION_ROLLOUT_STATUS_UPDATED: :"tenant.migration_rollout.status.updated"
394
+ TENANT_MIGRATION_ROLLOUT_TIER_UPDATED: :"tenant.migration_rollout.tier.updated"
395
+ TENANT_ROLE_METADATA_UPDATED: :"tenant.role.metadata.updated"
396
+ TENANT_CUSTOM_ROLE_CREATED: :"tenant.custom_role.created"
397
+ TENANT_CUSTOM_ROLE_UPDATED: :"tenant.custom_role.updated"
398
+ TENANT_CUSTOM_ROLE_DELETED: :"tenant.custom_role.deleted"
399
+ TENANT_ROLE_ASSIGNMENT_CREATED: :"tenant.role_assignment.created"
400
+ TENANT_ROLE_ASSIGNMENT_DELETED: :"tenant.role_assignment.deleted"
401
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_CREATED: :"tenant.resource_role_assignment.created"
402
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_DELETED: :"tenant.resource_role_assignment.deleted"
403
+ TENANT_RESOURCE_ACCESS_UPDATED: :"tenant.resource_access.updated"
404
+ TENANT_RESOURCE_ACCESS_DELETED: :"tenant.resource_access.deleted"
405
+ TENANT_SESSION_POLICY_CREATED: :"tenant.session_policy.created"
406
+ TENANT_SESSION_POLICY_UPDATED: :"tenant.session_policy.updated"
407
+ TENANT_SESSION_POLICY_DELETED: :"tenant.session_policy.deleted"
408
+ TENANT_SESSION_REVOCATION_STARTED: :"tenant.session_revocation.started"
409
+ TENANT_THIRD_PARTY_APP_POLICY_UPDATED: :"tenant.third_party_app_policy.updated"
410
+ TENANT_USER_ADDED: :"tenant.user.added"
411
+ TENANT_USER_UPDATED: :"tenant.user.updated"
412
+ TENANT_USER_REMOVED: :"tenant.user.removed"
413
+ TENANT_USER_LOOKED_UP: :"tenant.user.looked_up"
414
+ TENANT_USER_INVITED: :"tenant.user.invited"
415
+ TENANT_MEMBERSHIP_REVOKED: :"tenant.membership.revoked"
416
+ TENANT_API_ORGANIZATION_INVITE_UPSERTED: :"tenant.api_organization_invite.upserted"
417
+ TENANT_API_ORGANIZATION_INVITE_DELETED: :"tenant.api_organization_invite.deleted"
418
+ TENANT_CHATGPT_WORKSPACE_INVITE_UPSERTED: :"tenant.chatgpt_workspace_invite.upserted"
419
+ TENANT_MEMBERSHIP_ACCEPTED: :"tenant.membership.accepted"
420
+ TENANT_MEMBERSHIP_DECLINED: :"tenant.membership.declined"
421
+ TENANT_WORKSPACE_INVITE_EMAIL_SETTINGS_UPDATED: :"tenant.workspace_invite_email_settings.updated"
254
422
 
255
423
  def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::AuditLogListParams::event_type]
256
424
  end
@@ -593,6 +593,90 @@ module OpenAI
593
593
  | :"user.added"
594
594
  | :"user.updated"
595
595
  | :"user.deleted"
596
+ | :"tenant.metadata.updated"
597
+ | :"tenant.microsoft_entra_mapping.upserted"
598
+ | :"tenant.microsoft_entra_mapping.deleted"
599
+ | :"tenant.workload_identity.provider.created"
600
+ | :"tenant.workload_identity.provider.updated"
601
+ | :"tenant.workload_identity.provider.archived"
602
+ | :"tenant.workload_identity.mapping.created"
603
+ | :"tenant.workload_identity.mapping.updated"
604
+ | :"tenant.workload_identity.mapping.archived"
605
+ | :"tenant.workload_identity.binding.created"
606
+ | :"tenant.workload_identity.principal.provisioned"
607
+ | :"tenant.admin_api_key.created"
608
+ | :"tenant.admin_api_key.updated"
609
+ | :"tenant.admin_api_key.deleted"
610
+ | :"tenant.project_api_key.created"
611
+ | :"tenant.chatgpt_access_token.revoked"
612
+ | :"tenant.migration.completed"
613
+ | :"tenant.sso.migrated"
614
+ | :"tenant.domains.migrated"
615
+ | :"tenant.sso_connection.created"
616
+ | :"tenant.sso_connection.updated"
617
+ | :"tenant.sso_connection.deleted"
618
+ | :"tenant.sso_connection.setup.started"
619
+ | :"tenant.policy.created"
620
+ | :"tenant.policy.updated"
621
+ | :"tenant.policy.deleted"
622
+ | :"tenant.policy.attached"
623
+ | :"tenant.policy.detached"
624
+ | :"tenant.principal_authentication_policy.resolved"
625
+ | :"tenant.scim.setup.started"
626
+ | :"tenant.scim.deletion.requested"
627
+ | :"tenant.scim.directory.created"
628
+ | :"tenant.product_access_policy.updated"
629
+ | :"tenant.resource_share_grant.created"
630
+ | :"tenant.resource_share_grant.updated"
631
+ | :"tenant.resource_share_grant.accepted"
632
+ | :"tenant.resource_share_grant.declined"
633
+ | :"tenant.resource_share_grant.revoked"
634
+ | :"tenant.resource_share_grant.deleted"
635
+ | :"tenant.service_account.updated"
636
+ | :"tenant.service_account.deleted"
637
+ | :"tenant.service_account.token.revoked"
638
+ | :"tenant.billing.overage_limit.updated"
639
+ | :"tenant.billing.alerts.updated"
640
+ | :"tenant.billing.info.updated"
641
+ | :"tenant.usage_limit.workspace.updated"
642
+ | :"tenant.usage_limit.group.updated"
643
+ | :"tenant.usage_limit.user.updated"
644
+ | :"tenant.usage_limit.increase_request.updated"
645
+ | :"tenant.usage_limit.increase_request.resolved"
646
+ | :"tenant.group.created"
647
+ | :"tenant.group.updated"
648
+ | :"tenant.group.deleted"
649
+ | :"tenant.group.member.added"
650
+ | :"tenant.group.member.removed"
651
+ | :"tenant.migration_rollout.status.updated"
652
+ | :"tenant.migration_rollout.tier.updated"
653
+ | :"tenant.role.metadata.updated"
654
+ | :"tenant.custom_role.created"
655
+ | :"tenant.custom_role.updated"
656
+ | :"tenant.custom_role.deleted"
657
+ | :"tenant.role_assignment.created"
658
+ | :"tenant.role_assignment.deleted"
659
+ | :"tenant.resource_role_assignment.created"
660
+ | :"tenant.resource_role_assignment.deleted"
661
+ | :"tenant.resource_access.updated"
662
+ | :"tenant.resource_access.deleted"
663
+ | :"tenant.session_policy.created"
664
+ | :"tenant.session_policy.updated"
665
+ | :"tenant.session_policy.deleted"
666
+ | :"tenant.session_revocation.started"
667
+ | :"tenant.third_party_app_policy.updated"
668
+ | :"tenant.user.added"
669
+ | :"tenant.user.updated"
670
+ | :"tenant.user.removed"
671
+ | :"tenant.user.looked_up"
672
+ | :"tenant.user.invited"
673
+ | :"tenant.membership.revoked"
674
+ | :"tenant.api_organization_invite.upserted"
675
+ | :"tenant.api_organization_invite.deleted"
676
+ | :"tenant.chatgpt_workspace_invite.upserted"
677
+ | :"tenant.membership.accepted"
678
+ | :"tenant.membership.declined"
679
+ | :"tenant.workspace_invite_email_settings.updated"
596
680
 
597
681
  module Type
598
682
  extend OpenAI::Internal::Type::Enum
@@ -656,6 +740,90 @@ module OpenAI
656
740
  USER_ADDED: :"user.added"
657
741
  USER_UPDATED: :"user.updated"
658
742
  USER_DELETED: :"user.deleted"
743
+ TENANT_METADATA_UPDATED: :"tenant.metadata.updated"
744
+ TENANT_MICROSOFT_ENTRA_MAPPING_UPSERTED: :"tenant.microsoft_entra_mapping.upserted"
745
+ TENANT_MICROSOFT_ENTRA_MAPPING_DELETED: :"tenant.microsoft_entra_mapping.deleted"
746
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_CREATED: :"tenant.workload_identity.provider.created"
747
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_UPDATED: :"tenant.workload_identity.provider.updated"
748
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_ARCHIVED: :"tenant.workload_identity.provider.archived"
749
+ TENANT_WORKLOAD_IDENTITY_MAPPING_CREATED: :"tenant.workload_identity.mapping.created"
750
+ TENANT_WORKLOAD_IDENTITY_MAPPING_UPDATED: :"tenant.workload_identity.mapping.updated"
751
+ TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED: :"tenant.workload_identity.mapping.archived"
752
+ TENANT_WORKLOAD_IDENTITY_BINDING_CREATED: :"tenant.workload_identity.binding.created"
753
+ TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED: :"tenant.workload_identity.principal.provisioned"
754
+ TENANT_ADMIN_API_KEY_CREATED: :"tenant.admin_api_key.created"
755
+ TENANT_ADMIN_API_KEY_UPDATED: :"tenant.admin_api_key.updated"
756
+ TENANT_ADMIN_API_KEY_DELETED: :"tenant.admin_api_key.deleted"
757
+ TENANT_PROJECT_API_KEY_CREATED: :"tenant.project_api_key.created"
758
+ TENANT_CHATGPT_ACCESS_TOKEN_REVOKED: :"tenant.chatgpt_access_token.revoked"
759
+ TENANT_MIGRATION_COMPLETED: :"tenant.migration.completed"
760
+ TENANT_SSO_MIGRATED: :"tenant.sso.migrated"
761
+ TENANT_DOMAINS_MIGRATED: :"tenant.domains.migrated"
762
+ TENANT_SSO_CONNECTION_CREATED: :"tenant.sso_connection.created"
763
+ TENANT_SSO_CONNECTION_UPDATED: :"tenant.sso_connection.updated"
764
+ TENANT_SSO_CONNECTION_DELETED: :"tenant.sso_connection.deleted"
765
+ TENANT_SSO_CONNECTION_SETUP_STARTED: :"tenant.sso_connection.setup.started"
766
+ TENANT_POLICY_CREATED: :"tenant.policy.created"
767
+ TENANT_POLICY_UPDATED: :"tenant.policy.updated"
768
+ TENANT_POLICY_DELETED: :"tenant.policy.deleted"
769
+ TENANT_POLICY_ATTACHED: :"tenant.policy.attached"
770
+ TENANT_POLICY_DETACHED: :"tenant.policy.detached"
771
+ TENANT_PRINCIPAL_AUTHENTICATION_POLICY_RESOLVED: :"tenant.principal_authentication_policy.resolved"
772
+ TENANT_SCIM_SETUP_STARTED: :"tenant.scim.setup.started"
773
+ TENANT_SCIM_DELETION_REQUESTED: :"tenant.scim.deletion.requested"
774
+ TENANT_SCIM_DIRECTORY_CREATED: :"tenant.scim.directory.created"
775
+ TENANT_PRODUCT_ACCESS_POLICY_UPDATED: :"tenant.product_access_policy.updated"
776
+ TENANT_RESOURCE_SHARE_GRANT_CREATED: :"tenant.resource_share_grant.created"
777
+ TENANT_RESOURCE_SHARE_GRANT_UPDATED: :"tenant.resource_share_grant.updated"
778
+ TENANT_RESOURCE_SHARE_GRANT_ACCEPTED: :"tenant.resource_share_grant.accepted"
779
+ TENANT_RESOURCE_SHARE_GRANT_DECLINED: :"tenant.resource_share_grant.declined"
780
+ TENANT_RESOURCE_SHARE_GRANT_REVOKED: :"tenant.resource_share_grant.revoked"
781
+ TENANT_RESOURCE_SHARE_GRANT_DELETED: :"tenant.resource_share_grant.deleted"
782
+ TENANT_SERVICE_ACCOUNT_UPDATED: :"tenant.service_account.updated"
783
+ TENANT_SERVICE_ACCOUNT_DELETED: :"tenant.service_account.deleted"
784
+ TENANT_SERVICE_ACCOUNT_TOKEN_REVOKED: :"tenant.service_account.token.revoked"
785
+ TENANT_BILLING_OVERAGE_LIMIT_UPDATED: :"tenant.billing.overage_limit.updated"
786
+ TENANT_BILLING_ALERTS_UPDATED: :"tenant.billing.alerts.updated"
787
+ TENANT_BILLING_INFO_UPDATED: :"tenant.billing.info.updated"
788
+ TENANT_USAGE_LIMIT_WORKSPACE_UPDATED: :"tenant.usage_limit.workspace.updated"
789
+ TENANT_USAGE_LIMIT_GROUP_UPDATED: :"tenant.usage_limit.group.updated"
790
+ TENANT_USAGE_LIMIT_USER_UPDATED: :"tenant.usage_limit.user.updated"
791
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_UPDATED: :"tenant.usage_limit.increase_request.updated"
792
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_RESOLVED: :"tenant.usage_limit.increase_request.resolved"
793
+ TENANT_GROUP_CREATED: :"tenant.group.created"
794
+ TENANT_GROUP_UPDATED: :"tenant.group.updated"
795
+ TENANT_GROUP_DELETED: :"tenant.group.deleted"
796
+ TENANT_GROUP_MEMBER_ADDED: :"tenant.group.member.added"
797
+ TENANT_GROUP_MEMBER_REMOVED: :"tenant.group.member.removed"
798
+ TENANT_MIGRATION_ROLLOUT_STATUS_UPDATED: :"tenant.migration_rollout.status.updated"
799
+ TENANT_MIGRATION_ROLLOUT_TIER_UPDATED: :"tenant.migration_rollout.tier.updated"
800
+ TENANT_ROLE_METADATA_UPDATED: :"tenant.role.metadata.updated"
801
+ TENANT_CUSTOM_ROLE_CREATED: :"tenant.custom_role.created"
802
+ TENANT_CUSTOM_ROLE_UPDATED: :"tenant.custom_role.updated"
803
+ TENANT_CUSTOM_ROLE_DELETED: :"tenant.custom_role.deleted"
804
+ TENANT_ROLE_ASSIGNMENT_CREATED: :"tenant.role_assignment.created"
805
+ TENANT_ROLE_ASSIGNMENT_DELETED: :"tenant.role_assignment.deleted"
806
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_CREATED: :"tenant.resource_role_assignment.created"
807
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_DELETED: :"tenant.resource_role_assignment.deleted"
808
+ TENANT_RESOURCE_ACCESS_UPDATED: :"tenant.resource_access.updated"
809
+ TENANT_RESOURCE_ACCESS_DELETED: :"tenant.resource_access.deleted"
810
+ TENANT_SESSION_POLICY_CREATED: :"tenant.session_policy.created"
811
+ TENANT_SESSION_POLICY_UPDATED: :"tenant.session_policy.updated"
812
+ TENANT_SESSION_POLICY_DELETED: :"tenant.session_policy.deleted"
813
+ TENANT_SESSION_REVOCATION_STARTED: :"tenant.session_revocation.started"
814
+ TENANT_THIRD_PARTY_APP_POLICY_UPDATED: :"tenant.third_party_app_policy.updated"
815
+ TENANT_USER_ADDED: :"tenant.user.added"
816
+ TENANT_USER_UPDATED: :"tenant.user.updated"
817
+ TENANT_USER_REMOVED: :"tenant.user.removed"
818
+ TENANT_USER_LOOKED_UP: :"tenant.user.looked_up"
819
+ TENANT_USER_INVITED: :"tenant.user.invited"
820
+ TENANT_MEMBERSHIP_REVOKED: :"tenant.membership.revoked"
821
+ TENANT_API_ORGANIZATION_INVITE_UPSERTED: :"tenant.api_organization_invite.upserted"
822
+ TENANT_API_ORGANIZATION_INVITE_DELETED: :"tenant.api_organization_invite.deleted"
823
+ TENANT_CHATGPT_WORKSPACE_INVITE_UPSERTED: :"tenant.chatgpt_workspace_invite.upserted"
824
+ TENANT_MEMBERSHIP_ACCEPTED: :"tenant.membership.accepted"
825
+ TENANT_MEMBERSHIP_DECLINED: :"tenant.membership.declined"
826
+ TENANT_WORKSPACE_INVITE_EMAIL_SETTINGS_UPDATED: :"tenant.workspace_invite_email_settings.updated"
659
827
 
660
828
  def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::AuditLogListResponse::type_]
661
829
  end
@@ -4,7 +4,12 @@ module OpenAI
4
4
  module Organization
5
5
  module Projects
6
6
  type api_key_list_params =
7
- { project_id: String, after: String, limit: Integer }
7
+ {
8
+ project_id: String,
9
+ after: String,
10
+ limit: Integer,
11
+ owner_project_access: OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access
12
+ }
8
13
  & OpenAI::Internal::Type::request_parameters
9
14
 
10
15
  class APIKeyListParams < OpenAI::Internal::Type::BaseModel
@@ -21,10 +26,17 @@ module OpenAI
21
26
 
22
27
  def limit=: (Integer) -> Integer
23
28
 
29
+ attr_reader owner_project_access: OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access?
30
+
31
+ def owner_project_access=: (
32
+ OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access
33
+ ) -> OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access
34
+
24
35
  def initialize: (
25
36
  project_id: String,
26
37
  ?after: String,
27
38
  ?limit: Integer,
39
+ ?owner_project_access: OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access,
28
40
  ?request_options: OpenAI::request_opts
29
41
  ) -> void
30
42
 
@@ -32,8 +44,21 @@ module OpenAI
32
44
  project_id: String,
33
45
  after: String,
34
46
  limit: Integer,
47
+ owner_project_access: OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access,
35
48
  request_options: OpenAI::RequestOptions
36
49
  }
50
+
51
+ type owner_project_access = :active | :inactive | :any
52
+
53
+ module OwnerProjectAccess
54
+ extend OpenAI::Internal::Type::Enum
55
+
56
+ ACTIVE: :active
57
+ INACTIVE: :inactive
58
+ ANY: :any
59
+
60
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access]
61
+ end
37
62
  end
38
63
  end
39
64
  end
@@ -13,6 +13,7 @@ module OpenAI
13
13
  name: String,
14
14
  object: :"organization.project.api_key",
15
15
  owner: OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner,
16
+ owner_project_access: OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::owner_project_access,
16
17
  redacted_value: String
17
18
  }
18
19
 
@@ -29,6 +30,8 @@ module OpenAI
29
30
 
30
31
  attr_accessor owner: OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner
31
32
 
33
+ attr_accessor owner_project_access: OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::owner_project_access
34
+
32
35
  attr_accessor redacted_value: String
33
36
 
34
37
  def initialize: (
@@ -37,6 +40,7 @@ module OpenAI
37
40
  last_used_at: Integer?,
38
41
  name: String,
39
42
  owner: OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner,
43
+ owner_project_access: OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::owner_project_access,
40
44
  redacted_value: String,
41
45
  ?object: :"organization.project.api_key"
42
46
  ) -> void
@@ -48,6 +52,7 @@ module OpenAI
48
52
  name: String,
49
53
  object: :"organization.project.api_key",
50
54
  owner: OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner,
55
+ owner_project_access: OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::owner_project_access,
51
56
  redacted_value: String
52
57
  }
53
58
 
@@ -164,6 +169,17 @@ module OpenAI
164
169
  }
165
170
  end
166
171
  end
172
+
173
+ type owner_project_access = :active | :inactive
174
+
175
+ module OwnerProjectAccess
176
+ extend OpenAI::Internal::Type::Enum
177
+
178
+ ACTIVE: :active
179
+ INACTIVE: :inactive
180
+
181
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::owner_project_access]
182
+ end
167
183
  end
168
184
  end
169
185
  end
@@ -41,13 +41,14 @@ module OpenAI
41
41
  role: OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount::role
42
42
  }
43
43
 
44
- type role = :owner | :member
44
+ type role = :owner | :member | :none
45
45
 
46
46
  module Role
47
47
  extend OpenAI::Internal::Type::Enum
48
48
 
49
49
  OWNER: :owner
50
50
  MEMBER: :member
51
+ NONE: :none
51
52
 
52
53
  def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount::role]
53
54
  end
@@ -4,7 +4,11 @@ module OpenAI
4
4
  module Organization
5
5
  module Projects
6
6
  type service_account_create_params =
7
- { project_id: String, name: String }
7
+ {
8
+ project_id: String,
9
+ name: String,
10
+ create_service_account_only: bool?
11
+ }
8
12
  & OpenAI::Internal::Type::request_parameters
9
13
 
10
14
  class ServiceAccountCreateParams < OpenAI::Internal::Type::BaseModel
@@ -15,15 +19,19 @@ module OpenAI
15
19
 
16
20
  attr_accessor name: String
17
21
 
22
+ attr_accessor create_service_account_only: bool?
23
+
18
24
  def initialize: (
19
25
  project_id: String,
20
26
  name: String,
27
+ ?create_service_account_only: bool?,
21
28
  ?request_options: OpenAI::request_opts
22
29
  ) -> void
23
30
 
24
31
  def to_hash: -> {
25
32
  project_id: String,
26
33
  name: String,
34
+ create_service_account_only: bool?,
27
35
  request_options: OpenAI::RequestOptions
28
36
  }
29
37
  end
@@ -10,7 +10,7 @@ module OpenAI
10
10
  created_at: Integer,
11
11
  name: String,
12
12
  object: :"organization.project.service_account",
13
- role: :member
13
+ role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role
14
14
  }
15
15
 
16
16
  class ServiceAccountCreateResponse < OpenAI::Internal::Type::BaseModel
@@ -24,15 +24,15 @@ module OpenAI
24
24
 
25
25
  attr_accessor object: :"organization.project.service_account"
26
26
 
27
- attr_accessor role: :member
27
+ attr_accessor role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role
28
28
 
29
29
  def initialize: (
30
30
  id: String,
31
31
  api_key: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::APIKey?,
32
32
  created_at: Integer,
33
33
  name: String,
34
- ?object: :"organization.project.service_account",
35
- ?role: :member
34
+ role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role,
35
+ ?object: :"organization.project.service_account"
36
36
  ) -> void
37
37
 
38
38
  def to_hash: -> {
@@ -41,7 +41,7 @@ module OpenAI
41
41
  created_at: Integer,
42
42
  name: String,
43
43
  object: :"organization.project.service_account",
44
- role: :member
44
+ role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role
45
45
  }
46
46
 
47
47
  type api_key =
@@ -80,6 +80,17 @@ module OpenAI
80
80
  value: String
81
81
  }
82
82
  end
83
+
84
+ type role = :member | :none
85
+
86
+ module Role
87
+ extend OpenAI::Internal::Type::Enum
88
+
89
+ MEMBER: :member
90
+ NONE: :none
91
+
92
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role]
93
+ end
83
94
  end
84
95
  end
85
96
  end
@@ -0,0 +1,53 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ module ServiceAccounts
7
+ type api_key_create_params =
8
+ {
9
+ project_id: String,
10
+ service_account_id: String,
11
+ name: String,
12
+ scopes: ::Array[String]
13
+ }
14
+ & OpenAI::Internal::Type::request_parameters
15
+
16
+ class APIKeyCreateParams < OpenAI::Internal::Type::BaseModel
17
+ extend OpenAI::Internal::Type::RequestParameters::Converter
18
+ include OpenAI::Internal::Type::RequestParameters
19
+
20
+ attr_accessor project_id: String
21
+
22
+ attr_accessor service_account_id: String
23
+
24
+ attr_reader name: String?
25
+
26
+ def name=: (String) -> String
27
+
28
+ attr_reader scopes: ::Array[String]?
29
+
30
+ def scopes=: (::Array[String]) -> ::Array[String]
31
+
32
+ def initialize: (
33
+ project_id: String,
34
+ service_account_id: String,
35
+ ?name: String,
36
+ ?scopes: ::Array[String],
37
+ ?request_options: OpenAI::request_opts
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ project_id: String,
42
+ service_account_id: String,
43
+ name: String,
44
+ scopes: ::Array[String],
45
+ request_options: OpenAI::RequestOptions
46
+ }
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end