openai 0.66.0 → 0.67.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/openai/internal/transport/base_client.rb +4 -1
  5. data/lib/openai/models/admin/organization/admin_api_key.rb +9 -1
  6. data/lib/openai/models/admin/organization/admin_api_key_create_params.rb +14 -1
  7. data/lib/openai/models/admin/organization/audit_log_list_params.rb +16 -2
  8. data/lib/openai/models/admin/organization/audit_log_list_response.rb +241 -1
  9. data/lib/openai/models/admin/organization/projects/spend_alert_retrieve_params.rb +32 -0
  10. data/lib/openai/models/admin/organization/spend_alert_retrieve_params.rb +24 -0
  11. data/lib/openai/models/reasoning.rb +27 -1
  12. data/lib/openai/models/responses/input_token_count_params.rb +4 -0
  13. data/lib/openai/models/responses/response_create_params.rb +4 -0
  14. data/lib/openai/models/responses/responses_client_event.rb +4 -0
  15. data/lib/openai/resources/admin/organization/admin_api_keys.rb +7 -1
  16. data/lib/openai/resources/admin/organization/audit_logs.rb +3 -1
  17. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +28 -0
  18. data/lib/openai/resources/admin/organization/spend_alerts.rb +21 -0
  19. data/lib/openai/version.rb +1 -1
  20. data/lib/openai.rb +2 -0
  21. data/rbi/openai/models/admin/organization/admin_api_key.rbi +8 -0
  22. data/rbi/openai/models/admin/organization/admin_api_key_create_params.rbi +21 -2
  23. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +31 -2
  24. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +468 -0
  25. data/rbi/openai/models/admin/organization/projects/spend_alert_retrieve_params.rbi +52 -0
  26. data/rbi/openai/models/admin/organization/spend_alert_retrieve_params.rbi +42 -0
  27. data/rbi/openai/models/reasoning.rbi +34 -0
  28. data/rbi/openai/resources/admin/organization/admin_api_keys.rbi +8 -1
  29. data/rbi/openai/resources/admin/organization/audit_logs.rbi +8 -1
  30. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +19 -0
  31. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +14 -0
  32. data/sig/openai/models/admin/organization/admin_api_key.rbs +5 -0
  33. data/sig/openai/models/admin/organization/admin_api_key_create_params.rbs +8 -1
  34. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +12 -1
  35. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +228 -0
  36. data/sig/openai/models/admin/organization/projects/spend_alert_retrieve_params.rbs +34 -0
  37. data/sig/openai/models/admin/organization/spend_alert_retrieve_params.rbs +27 -0
  38. data/sig/openai/models/reasoning.rbs +17 -0
  39. data/sig/openai/resources/admin/organization/admin_api_keys.rbs +1 -0
  40. data/sig/openai/resources/admin/organization/audit_logs.rbs +1 -0
  41. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +6 -0
  42. data/sig/openai/resources/admin/organization/spend_alerts.rbs +5 -0
  43. metadata +9 -3
@@ -9,12 +9,19 @@ module OpenAI
9
9
  sig do
10
10
  params(
11
11
  name: String,
12
+ expires_in_seconds: Integer,
12
13
  request_options: OpenAI::RequestOptions::OrHash
13
14
  ).returns(
14
15
  OpenAI::Models::Admin::Organization::AdminAPIKeyCreateResponse
15
16
  )
16
17
  end
17
- def create(name:, request_options: {})
18
+ def create(
19
+ name:,
20
+ # The number of seconds until the API key expires. Omit this field for a key that
21
+ # does not expire.
22
+ expires_in_seconds: nil,
23
+ request_options: {}
24
+ )
18
25
  end
19
26
 
20
27
  # Retrieve a single organization API key
@@ -22,6 +22,7 @@ module OpenAI
22
22
  limit: Integer,
23
23
  project_ids: T::Array[String],
24
24
  resource_ids: T::Array[String],
25
+ tenant_only: T::Boolean,
25
26
  request_options: OpenAI::RequestOptions::OrHash
26
27
  ).returns(
27
28
  OpenAI::Internal::ConversationCursorPage[
@@ -57,8 +58,14 @@ module OpenAI
57
58
  # Return only events for these projects.
58
59
  project_ids: nil,
59
60
  # Return only events performed on these targets. For example, a project ID
60
- # updated.
61
+ # updated. For ChatGPT connector role events, use the workspace connector resource
62
+ # ID shown in `details.id`, such as `<workspace_id>__<connector_id>`.
61
63
  resource_ids: nil,
64
+ # Return only tenant-scoped events associated with this organization. Required for
65
+ # tenant-scoped events such as `role.bound_to_resource` and
66
+ # `role.unbound_from_resource`. When `true`, all supplied event types must be
67
+ # tenant-scoped.
68
+ tenant_only: nil,
62
69
  request_options: {}
63
70
  )
64
71
  end
@@ -37,6 +37,25 @@ module OpenAI
37
37
  )
38
38
  end
39
39
 
40
+ # Retrieves a project spend alert.
41
+ sig do
42
+ params(
43
+ alert_id: String,
44
+ project_id: String,
45
+ request_options: OpenAI::RequestOptions::OrHash
46
+ ).returns(
47
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert
48
+ )
49
+ end
50
+ def retrieve(
51
+ # The ID of the spend alert to retrieve.
52
+ alert_id,
53
+ # The ID of the project.
54
+ project_id:,
55
+ request_options: {}
56
+ )
57
+ end
58
+
40
59
  # Updates a project spend alert.
41
60
  sig do
42
61
  params(
@@ -31,6 +31,20 @@ module OpenAI
31
31
  )
32
32
  end
33
33
 
34
+ # Retrieves an organization spend alert.
35
+ sig do
36
+ params(
37
+ alert_id: String,
38
+ request_options: OpenAI::RequestOptions::OrHash
39
+ ).returns(OpenAI::Admin::Organization::OrganizationSpendAlert)
40
+ end
41
+ def retrieve(
42
+ # The ID of the spend alert to retrieve.
43
+ alert_id,
44
+ request_options: {}
45
+ )
46
+ end
47
+
34
48
  # Updates an organization spend alert.
35
49
  sig do
36
50
  params(
@@ -6,6 +6,7 @@ module OpenAI
6
6
  {
7
7
  id: String,
8
8
  created_at: Integer,
9
+ expires_at: Integer?,
9
10
  object: :"organization.admin_api_key",
10
11
  owner: OpenAI::Admin::Organization::AdminAPIKey::Owner,
11
12
  redacted_value: String,
@@ -18,6 +19,8 @@ module OpenAI
18
19
 
19
20
  attr_accessor created_at: Integer
20
21
 
22
+ attr_accessor expires_at: Integer?
23
+
21
24
  attr_accessor object: :"organization.admin_api_key"
22
25
 
23
26
  attr_accessor owner: OpenAI::Admin::Organization::AdminAPIKey::Owner
@@ -31,6 +34,7 @@ module OpenAI
31
34
  def initialize: (
32
35
  id: String,
33
36
  created_at: Integer,
37
+ expires_at: Integer?,
34
38
  owner: OpenAI::Admin::Organization::AdminAPIKey::Owner,
35
39
  redacted_value: String,
36
40
  ?last_used_at: Integer?,
@@ -41,6 +45,7 @@ module OpenAI
41
45
  def to_hash: -> {
42
46
  id: String,
43
47
  created_at: Integer,
48
+ expires_at: Integer?,
44
49
  object: :"organization.admin_api_key",
45
50
  owner: OpenAI::Admin::Organization::AdminAPIKey::Owner,
46
51
  redacted_value: String,
@@ -3,7 +3,8 @@ module OpenAI
3
3
  module Admin
4
4
  module Organization
5
5
  type admin_api_key_create_params =
6
- { name: String } & OpenAI::Internal::Type::request_parameters
6
+ { name: String, expires_in_seconds: Integer }
7
+ & OpenAI::Internal::Type::request_parameters
7
8
 
8
9
  class AdminAPIKeyCreateParams < OpenAI::Internal::Type::BaseModel
9
10
  extend OpenAI::Internal::Type::RequestParameters::Converter
@@ -11,13 +12,19 @@ module OpenAI
11
12
 
12
13
  attr_accessor name: String
13
14
 
15
+ attr_reader expires_in_seconds: Integer?
16
+
17
+ def expires_in_seconds=: (Integer) -> Integer
18
+
14
19
  def initialize: (
15
20
  name: String,
21
+ ?expires_in_seconds: Integer,
16
22
  ?request_options: OpenAI::request_opts
17
23
  ) -> void
18
24
 
19
25
  def to_hash: -> {
20
26
  name: String,
27
+ expires_in_seconds: Integer,
21
28
  request_options: OpenAI::RequestOptions
22
29
  }
23
30
  end
@@ -12,7 +12,8 @@ module OpenAI
12
12
  event_types: ::Array[OpenAI::Models::Admin::Organization::AuditLogListParams::event_type],
13
13
  limit: Integer,
14
14
  project_ids: ::Array[String],
15
- resource_ids: ::Array[String]
15
+ resource_ids: ::Array[String],
16
+ tenant_only: bool
16
17
  }
17
18
  & OpenAI::Internal::Type::request_parameters
18
19
 
@@ -60,6 +61,10 @@ module OpenAI
60
61
 
61
62
  def resource_ids=: (::Array[String]) -> ::Array[String]
62
63
 
64
+ attr_reader tenant_only: bool?
65
+
66
+ def tenant_only=: (bool) -> bool
67
+
63
68
  def initialize: (
64
69
  ?actor_emails: ::Array[String],
65
70
  ?actor_ids: ::Array[String],
@@ -70,6 +75,7 @@ module OpenAI
70
75
  ?limit: Integer,
71
76
  ?project_ids: ::Array[String],
72
77
  ?resource_ids: ::Array[String],
78
+ ?tenant_only: bool,
73
79
  ?request_options: OpenAI::request_opts
74
80
  ) -> void
75
81
 
@@ -83,6 +89,7 @@ module OpenAI
83
89
  limit: Integer,
84
90
  project_ids: ::Array[String],
85
91
  resource_ids: ::Array[String],
92
+ tenant_only: bool,
86
93
  request_options: OpenAI::RequestOptions
87
94
  }
88
95
 
@@ -171,6 +178,8 @@ module OpenAI
171
178
  | :"role.deleted"
172
179
  | :"role.assignment.created"
173
180
  | :"role.assignment.deleted"
181
+ | :"role.bound_to_resource"
182
+ | :"role.unbound_from_resource"
174
183
  | :"scim.enabled"
175
184
  | :"scim.disabled"
176
185
  | :"service_account.created"
@@ -232,6 +241,8 @@ module OpenAI
232
241
  ROLE_DELETED: :"role.deleted"
233
242
  ROLE_ASSIGNMENT_CREATED: :"role.assignment.created"
234
243
  ROLE_ASSIGNMENT_DELETED: :"role.assignment.deleted"
244
+ ROLE_BOUND_TO_RESOURCE: :"role.bound_to_resource"
245
+ ROLE_UNBOUND_FROM_RESOURCE: :"role.unbound_from_resource"
235
246
  SCIM_ENABLED: :"scim.enabled"
236
247
  SCIM_DISABLED: :"scim.disabled"
237
248
  SERVICE_ACCOUNT_CREATED: :"service_account.created"
@@ -45,8 +45,10 @@ module OpenAI
45
45
  rate_limit_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RateLimitUpdated,
46
46
  role_assignment_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentCreated,
47
47
  role_assignment_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentDeleted,
48
+ role_bound_to_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource,
48
49
  role_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleCreated,
49
50
  role_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleDeleted,
51
+ role_unbound_from_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource,
50
52
  role_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUpdated,
51
53
  scim_disabled: OpenAI::Models::Admin::Organization::AuditLogListResponse::ScimDisabled,
52
54
  scim_enabled: OpenAI::Models::Admin::Organization::AuditLogListResponse::ScimEnabled,
@@ -291,6 +293,12 @@ module OpenAI
291
293
  OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentDeleted
292
294
  ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentDeleted
293
295
 
296
+ attr_reader role_bound_to_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource?
297
+
298
+ def role_bound_to_resource=: (
299
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource
300
+ ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource
301
+
294
302
  attr_reader role_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleCreated?
295
303
 
296
304
  def role_created=: (
@@ -303,6 +311,12 @@ module OpenAI
303
311
  OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleDeleted
304
312
  ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleDeleted
305
313
 
314
+ attr_reader role_unbound_from_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource?
315
+
316
+ def role_unbound_from_resource=: (
317
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource
318
+ ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource
319
+
306
320
  attr_reader role_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUpdated?
307
321
 
308
322
  def role_updated=: (
@@ -435,8 +449,10 @@ module OpenAI
435
449
  ?rate_limit_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RateLimitUpdated,
436
450
  ?role_assignment_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentCreated,
437
451
  ?role_assignment_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentDeleted,
452
+ ?role_bound_to_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource,
438
453
  ?role_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleCreated,
439
454
  ?role_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleDeleted,
455
+ ?role_unbound_from_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource,
440
456
  ?role_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUpdated,
441
457
  ?scim_disabled: OpenAI::Models::Admin::Organization::AuditLogListResponse::ScimDisabled,
442
458
  ?scim_enabled: OpenAI::Models::Admin::Organization::AuditLogListResponse::ScimEnabled,
@@ -496,8 +512,10 @@ module OpenAI
496
512
  rate_limit_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RateLimitUpdated,
497
513
  role_assignment_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentCreated,
498
514
  role_assignment_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleAssignmentDeleted,
515
+ role_bound_to_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource,
499
516
  role_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleCreated,
500
517
  role_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleDeleted,
518
+ role_unbound_from_resource: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource,
501
519
  role_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUpdated,
502
520
  scim_disabled: OpenAI::Models::Admin::Organization::AuditLogListResponse::ScimDisabled,
503
521
  scim_enabled: OpenAI::Models::Admin::Organization::AuditLogListResponse::ScimEnabled,
@@ -565,6 +583,8 @@ module OpenAI
565
583
  | :"role.deleted"
566
584
  | :"role.assignment.created"
567
585
  | :"role.assignment.deleted"
586
+ | :"role.bound_to_resource"
587
+ | :"role.unbound_from_resource"
568
588
  | :"scim.enabled"
569
589
  | :"scim.disabled"
570
590
  | :"service_account.created"
@@ -626,6 +646,8 @@ module OpenAI
626
646
  ROLE_DELETED: :"role.deleted"
627
647
  ROLE_ASSIGNMENT_CREATED: :"role.assignment.created"
628
648
  ROLE_ASSIGNMENT_DELETED: :"role.assignment.deleted"
649
+ ROLE_BOUND_TO_RESOURCE: :"role.bound_to_resource"
650
+ ROLE_UNBOUND_FROM_RESOURCE: :"role.unbound_from_resource"
629
651
  SCIM_ENABLED: :"scim.enabled"
630
652
  SCIM_DISABLED: :"scim.disabled"
631
653
  SERVICE_ACCOUNT_CREATED: :"service_account.created"
@@ -1879,6 +1901,109 @@ module OpenAI
1879
1901
  }
1880
1902
  end
1881
1903
 
1904
+ type role_bound_to_resource =
1905
+ {
1906
+ id: String,
1907
+ connector_id: String,
1908
+ connector_name: String,
1909
+ enabled: bool,
1910
+ permissions: ::Array[String],
1911
+ resource_id: String,
1912
+ resource_type: String,
1913
+ role_id: String,
1914
+ source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source,
1915
+ workspace_id: String
1916
+ }
1917
+
1918
+ class RoleBoundToResource < OpenAI::Internal::Type::BaseModel
1919
+ attr_reader id: String?
1920
+
1921
+ def id=: (String) -> String
1922
+
1923
+ attr_reader connector_id: String?
1924
+
1925
+ def connector_id=: (String) -> String
1926
+
1927
+ attr_reader connector_name: String?
1928
+
1929
+ def connector_name=: (String) -> String
1930
+
1931
+ attr_reader enabled: bool?
1932
+
1933
+ def enabled=: (bool) -> bool
1934
+
1935
+ attr_reader permissions: ::Array[String]?
1936
+
1937
+ def permissions=: (::Array[String]) -> ::Array[String]
1938
+
1939
+ attr_reader resource_id: String?
1940
+
1941
+ def resource_id=: (String) -> String
1942
+
1943
+ attr_reader resource_type: String?
1944
+
1945
+ def resource_type=: (String) -> String
1946
+
1947
+ attr_reader role_id: String?
1948
+
1949
+ def role_id=: (String) -> String
1950
+
1951
+ attr_reader source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source?
1952
+
1953
+ def source=: (
1954
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source
1955
+ ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source
1956
+
1957
+ attr_reader workspace_id: String?
1958
+
1959
+ def workspace_id=: (String) -> String
1960
+
1961
+ def initialize: (
1962
+ ?id: String,
1963
+ ?connector_id: String,
1964
+ ?connector_name: String,
1965
+ ?enabled: bool,
1966
+ ?permissions: ::Array[String],
1967
+ ?resource_id: String,
1968
+ ?resource_type: String,
1969
+ ?role_id: String,
1970
+ ?source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source,
1971
+ ?workspace_id: String
1972
+ ) -> void
1973
+
1974
+ def to_hash: -> {
1975
+ id: String,
1976
+ connector_id: String,
1977
+ connector_name: String,
1978
+ enabled: bool,
1979
+ permissions: ::Array[String],
1980
+ resource_id: String,
1981
+ resource_type: String,
1982
+ role_id: String,
1983
+ source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source,
1984
+ workspace_id: String
1985
+ }
1986
+
1987
+ type source =
1988
+ :role_toggle
1989
+ | :role_connector_update
1990
+ | :role_delete
1991
+ | :workspace_permissions
1992
+ | :connector_publish
1993
+
1994
+ module Source
1995
+ extend OpenAI::Internal::Type::Enum
1996
+
1997
+ ROLE_TOGGLE: :role_toggle
1998
+ ROLE_CONNECTOR_UPDATE: :role_connector_update
1999
+ ROLE_DELETE: :role_delete
2000
+ WORKSPACE_PERMISSIONS: :workspace_permissions
2001
+ CONNECTOR_PUBLISH: :connector_publish
2002
+
2003
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleBoundToResource::source]
2004
+ end
2005
+ end
2006
+
1882
2007
  type role_created =
1883
2008
  {
1884
2009
  id: String,
@@ -1938,6 +2063,109 @@ module OpenAI
1938
2063
  def to_hash: -> { id: String }
1939
2064
  end
1940
2065
 
2066
+ type role_unbound_from_resource =
2067
+ {
2068
+ id: String,
2069
+ connector_id: String,
2070
+ connector_name: String,
2071
+ enabled: bool,
2072
+ permissions: ::Array[String],
2073
+ resource_id: String,
2074
+ resource_type: String,
2075
+ role_id: String,
2076
+ source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source,
2077
+ workspace_id: String
2078
+ }
2079
+
2080
+ class RoleUnboundFromResource < OpenAI::Internal::Type::BaseModel
2081
+ attr_reader id: String?
2082
+
2083
+ def id=: (String) -> String
2084
+
2085
+ attr_reader connector_id: String?
2086
+
2087
+ def connector_id=: (String) -> String
2088
+
2089
+ attr_reader connector_name: String?
2090
+
2091
+ def connector_name=: (String) -> String
2092
+
2093
+ attr_reader enabled: bool?
2094
+
2095
+ def enabled=: (bool) -> bool
2096
+
2097
+ attr_reader permissions: ::Array[String]?
2098
+
2099
+ def permissions=: (::Array[String]) -> ::Array[String]
2100
+
2101
+ attr_reader resource_id: String?
2102
+
2103
+ def resource_id=: (String) -> String
2104
+
2105
+ attr_reader resource_type: String?
2106
+
2107
+ def resource_type=: (String) -> String
2108
+
2109
+ attr_reader role_id: String?
2110
+
2111
+ def role_id=: (String) -> String
2112
+
2113
+ attr_reader source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source?
2114
+
2115
+ def source=: (
2116
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source
2117
+ ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source
2118
+
2119
+ attr_reader workspace_id: String?
2120
+
2121
+ def workspace_id=: (String) -> String
2122
+
2123
+ def initialize: (
2124
+ ?id: String,
2125
+ ?connector_id: String,
2126
+ ?connector_name: String,
2127
+ ?enabled: bool,
2128
+ ?permissions: ::Array[String],
2129
+ ?resource_id: String,
2130
+ ?resource_type: String,
2131
+ ?role_id: String,
2132
+ ?source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source,
2133
+ ?workspace_id: String
2134
+ ) -> void
2135
+
2136
+ def to_hash: -> {
2137
+ id: String,
2138
+ connector_id: String,
2139
+ connector_name: String,
2140
+ enabled: bool,
2141
+ permissions: ::Array[String],
2142
+ resource_id: String,
2143
+ resource_type: String,
2144
+ role_id: String,
2145
+ source: OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source,
2146
+ workspace_id: String
2147
+ }
2148
+
2149
+ type source =
2150
+ :role_toggle
2151
+ | :role_connector_update
2152
+ | :role_delete
2153
+ | :workspace_permissions
2154
+ | :connector_publish
2155
+
2156
+ module Source
2157
+ extend OpenAI::Internal::Type::Enum
2158
+
2159
+ ROLE_TOGGLE: :role_toggle
2160
+ ROLE_CONNECTOR_UPDATE: :role_connector_update
2161
+ ROLE_DELETE: :role_delete
2162
+ WORKSPACE_PERMISSIONS: :workspace_permissions
2163
+ CONNECTOR_PUBLISH: :connector_publish
2164
+
2165
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::AuditLogListResponse::RoleUnboundFromResource::source]
2166
+ end
2167
+ end
2168
+
1941
2169
  type role_updated =
1942
2170
  {
1943
2171
  id: String,
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ type spend_alert_retrieve_params =
7
+ { project_id: String, alert_id: String }
8
+ & OpenAI::Internal::Type::request_parameters
9
+
10
+ class SpendAlertRetrieveParams < OpenAI::Internal::Type::BaseModel
11
+ extend OpenAI::Internal::Type::RequestParameters::Converter
12
+ include OpenAI::Internal::Type::RequestParameters
13
+
14
+ attr_accessor project_id: String
15
+
16
+ attr_accessor alert_id: String
17
+
18
+ def initialize: (
19
+ project_id: String,
20
+ alert_id: String,
21
+ ?request_options: OpenAI::request_opts
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ project_id: String,
26
+ alert_id: String,
27
+ request_options: OpenAI::RequestOptions
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,27 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type spend_alert_retrieve_params =
6
+ { alert_id: String } & OpenAI::Internal::Type::request_parameters
7
+
8
+ class SpendAlertRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ attr_accessor alert_id: String
13
+
14
+ def initialize: (
15
+ alert_id: String,
16
+ ?request_options: OpenAI::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ alert_id: String,
21
+ request_options: OpenAI::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -2,12 +2,15 @@ module OpenAI
2
2
  module Models
3
3
  type reasoning =
4
4
  {
5
+ context: OpenAI::Models::Reasoning::context?,
5
6
  effort: OpenAI::Models::reasoning_effort?,
6
7
  generate_summary: OpenAI::Models::Reasoning::generate_summary?,
7
8
  summary: OpenAI::Models::Reasoning::summary?
8
9
  }
9
10
 
10
11
  class Reasoning < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor context: OpenAI::Models::Reasoning::context?
13
+
11
14
  attr_accessor effort: OpenAI::Models::reasoning_effort?
12
15
 
13
16
  attr_accessor generate_summary: OpenAI::Models::Reasoning::generate_summary?
@@ -15,17 +18,31 @@ module OpenAI
15
18
  attr_accessor summary: OpenAI::Models::Reasoning::summary?
16
19
 
17
20
  def initialize: (
21
+ ?context: OpenAI::Models::Reasoning::context?,
18
22
  ?effort: OpenAI::Models::reasoning_effort?,
19
23
  ?generate_summary: OpenAI::Models::Reasoning::generate_summary?,
20
24
  ?summary: OpenAI::Models::Reasoning::summary?
21
25
  ) -> void
22
26
 
23
27
  def to_hash: -> {
28
+ context: OpenAI::Models::Reasoning::context?,
24
29
  effort: OpenAI::Models::reasoning_effort?,
25
30
  generate_summary: OpenAI::Models::Reasoning::generate_summary?,
26
31
  summary: OpenAI::Models::Reasoning::summary?
27
32
  }
28
33
 
34
+ type context = :auto | :current_turn | :all_turns
35
+
36
+ module Context
37
+ extend OpenAI::Internal::Type::Enum
38
+
39
+ AUTO: :auto
40
+ CURRENT_TURN: :current_turn
41
+ ALL_TURNS: :all_turns
42
+
43
+ def self?.values: -> ::Array[OpenAI::Models::Reasoning::context]
44
+ end
45
+
29
46
  type generate_summary = :auto | :concise | :detailed
30
47
 
31
48
  module GenerateSummary
@@ -5,6 +5,7 @@ module OpenAI
5
5
  class AdminAPIKeys
6
6
  def create: (
7
7
  name: String,
8
+ ?expires_in_seconds: Integer,
8
9
  ?request_options: OpenAI::request_opts
9
10
  ) -> OpenAI::Models::Admin::Organization::AdminAPIKeyCreateResponse
10
11
 
@@ -13,6 +13,7 @@ module OpenAI
13
13
  ?limit: Integer,
14
14
  ?project_ids: ::Array[String],
15
15
  ?resource_ids: ::Array[String],
16
+ ?tenant_only: bool,
16
17
  ?request_options: OpenAI::request_opts
17
18
  ) -> OpenAI::Internal::ConversationCursorPage[OpenAI::Models::Admin::Organization::AuditLogListResponse]
18
19
 
@@ -13,6 +13,12 @@ module OpenAI
13
13
  ?request_options: OpenAI::request_opts
14
14
  ) -> OpenAI::Admin::Organization::Projects::ProjectSpendAlert
15
15
 
16
+ def retrieve: (
17
+ String alert_id,
18
+ project_id: String,
19
+ ?request_options: OpenAI::request_opts
20
+ ) -> OpenAI::Admin::Organization::Projects::ProjectSpendAlert
21
+
16
22
  def update: (
17
23
  String alert_id,
18
24
  project_id: String,
@@ -11,6 +11,11 @@ module OpenAI
11
11
  ?request_options: OpenAI::request_opts
12
12
  ) -> OpenAI::Admin::Organization::OrganizationSpendAlert
13
13
 
14
+ def retrieve: (
15
+ String alert_id,
16
+ ?request_options: OpenAI::request_opts
17
+ ) -> OpenAI::Admin::Organization::OrganizationSpendAlert
18
+
14
19
  def update: (
15
20
  String alert_id,
16
21
  currency: OpenAI::Models::Admin::Organization::SpendAlertUpdateParams::currency,