openai 0.71.0 → 0.72.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
  5. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
  6. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
  7. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
  8. data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
  9. data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
  10. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
  11. data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
  12. data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
  13. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
  14. data/lib/openai/models/beta/beta_response.rb +12 -6
  15. data/lib/openai/models/beta/beta_response_error.rb +1 -0
  16. data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
  17. data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
  18. data/lib/openai/models/beta/response_create_params.rb +12 -6
  19. data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
  20. data/lib/openai/models/chat/completion_create_params.rb +8 -6
  21. data/lib/openai/models/reasoning.rb +8 -2
  22. data/lib/openai/models/responses/input_token_count_params.rb +4 -2
  23. data/lib/openai/models/responses/response.rb +4 -4
  24. data/lib/openai/models/responses/response_create_params.rb +4 -4
  25. data/lib/openai/models/responses/response_error.rb +1 -0
  26. data/lib/openai/models/responses/response_text_config.rb +4 -2
  27. data/lib/openai/models/responses/responses_client_event.rb +4 -4
  28. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
  29. data/lib/openai/resources/admin/organization/projects.rb +4 -0
  30. data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
  31. data/lib/openai/resources/admin/organization.rb +4 -0
  32. data/lib/openai/resources/beta/responses.rb +4 -4
  33. data/lib/openai/resources/chat/completions.rb +4 -4
  34. data/lib/openai/resources/responses.rb +4 -4
  35. data/lib/openai/version.rb +1 -1
  36. data/lib/openai.rb +12 -0
  37. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
  38. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
  39. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
  40. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
  41. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
  42. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
  43. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
  44. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
  45. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
  46. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
  47. data/rbi/openai/models/beta/beta_response.rbi +18 -15
  48. data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
  49. data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
  50. data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
  51. data/rbi/openai/models/beta/response_create_params.rbi +18 -15
  52. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
  53. data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
  54. data/rbi/openai/models/reasoning.rbi +12 -3
  55. data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
  56. data/rbi/openai/models/responses/response.rbi +6 -12
  57. data/rbi/openai/models/responses/response_create_params.rbi +6 -12
  58. data/rbi/openai/models/responses/response_error.rbi +5 -0
  59. data/rbi/openai/models/responses/response_text_config.rbi +6 -3
  60. data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
  61. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
  62. data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
  63. data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
  64. data/rbi/openai/resources/admin/organization.rbi +3 -0
  65. data/rbi/openai/resources/beta/responses.rbi +4 -4
  66. data/rbi/openai/resources/chat/completions.rbi +8 -6
  67. data/rbi/openai/resources/responses.rbi +4 -4
  68. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
  69. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
  70. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
  71. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
  72. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
  73. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
  74. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
  75. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
  76. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
  77. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
  78. data/sig/openai/models/beta/beta_response.rbs +8 -12
  79. data/sig/openai/models/beta/beta_response_error.rbs +2 -0
  80. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
  81. data/sig/openai/models/beta/response_create_params.rbs +8 -12
  82. data/sig/openai/models/chat/completion_create_params.rbs +8 -12
  83. data/sig/openai/models/responses/response.rbs +8 -12
  84. data/sig/openai/models/responses/response_create_params.rbs +8 -12
  85. data/sig/openai/models/responses/response_error.rbs +2 -0
  86. data/sig/openai/models/responses/responses_client_event.rbs +8 -12
  87. data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
  88. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  89. data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
  90. data/sig/openai/resources/admin/organization.rbs +2 -0
  91. data/sig/openai/resources/beta/responses.rbs +4 -4
  92. data/sig/openai/resources/chat/completions.rbs +4 -4
  93. data/sig/openai/resources/responses.rbs +4 -4
  94. metadata +38 -2
@@ -0,0 +1,280 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ ProjectSpendLimit = Projects::ProjectSpendLimit
8
+
9
+ module Projects
10
+ class ProjectSpendLimit < OpenAI::Internal::Type::BaseModel
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The currency for the threshold amount. Currently, only `USD` is supported.
20
+ sig do
21
+ returns(
22
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency::Variants
23
+ )
24
+ end
25
+ attr_accessor :currency
26
+
27
+ # The current enforcement state of the hard spend limit.
28
+ sig do
29
+ returns(
30
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement
31
+ )
32
+ end
33
+ attr_reader :enforcement
34
+
35
+ sig do
36
+ params(
37
+ enforcement:
38
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::OrHash
39
+ ).void
40
+ end
41
+ attr_writer :enforcement
42
+
43
+ # The time interval for evaluating spend against the threshold. Currently, only
44
+ # `month` is supported.
45
+ sig do
46
+ returns(
47
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval::Variants
48
+ )
49
+ end
50
+ attr_accessor :interval
51
+
52
+ # The object type, which is always `project.spend_limit`.
53
+ sig { returns(Symbol) }
54
+ attr_accessor :object
55
+
56
+ # The hard spend limit amount, in cents.
57
+ sig { returns(Integer) }
58
+ attr_accessor :threshold_amount
59
+
60
+ # Represents a hard spend limit configured at the project level.
61
+ sig do
62
+ params(
63
+ currency:
64
+ T.any(
65
+ String,
66
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency::OrSymbol
67
+ ),
68
+ enforcement:
69
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::OrHash,
70
+ interval:
71
+ T.any(
72
+ String,
73
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval::OrSymbol
74
+ ),
75
+ threshold_amount: Integer,
76
+ object: Symbol
77
+ ).returns(T.attached_class)
78
+ end
79
+ def self.new(
80
+ # The currency for the threshold amount. Currently, only `USD` is supported.
81
+ currency:,
82
+ # The current enforcement state of the hard spend limit.
83
+ enforcement:,
84
+ # The time interval for evaluating spend against the threshold. Currently, only
85
+ # `month` is supported.
86
+ interval:,
87
+ # The hard spend limit amount, in cents.
88
+ threshold_amount:,
89
+ # The object type, which is always `project.spend_limit`.
90
+ object: :"project.spend_limit"
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ currency:
98
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency::Variants,
99
+ enforcement:
100
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement,
101
+ interval:
102
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval::Variants,
103
+ object: Symbol,
104
+ threshold_amount: Integer
105
+ }
106
+ )
107
+ end
108
+ def to_hash
109
+ end
110
+
111
+ # The currency for the threshold amount. Currently, only `USD` is supported.
112
+ module Currency
113
+ extend OpenAI::Internal::Type::Union
114
+
115
+ Variants =
116
+ T.type_alias do
117
+ T.any(
118
+ String,
119
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency::TaggedSymbol
120
+ )
121
+ end
122
+
123
+ sig do
124
+ override.returns(
125
+ T::Array[
126
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency::Variants
127
+ ]
128
+ )
129
+ end
130
+ def self.variants
131
+ end
132
+
133
+ TaggedSymbol =
134
+ T.type_alias do
135
+ T.all(
136
+ Symbol,
137
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency
138
+ )
139
+ end
140
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
141
+
142
+ USD =
143
+ T.let(
144
+ :USD,
145
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Currency::TaggedSymbol
146
+ )
147
+ end
148
+
149
+ class Enforcement < OpenAI::Internal::Type::BaseModel
150
+ OrHash =
151
+ T.type_alias do
152
+ T.any(
153
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement,
154
+ OpenAI::Internal::AnyHash
155
+ )
156
+ end
157
+
158
+ # Whether the hard spend limit is currently enforcing.
159
+ sig do
160
+ returns(
161
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::Variants
162
+ )
163
+ end
164
+ attr_accessor :status
165
+
166
+ # The current enforcement state of the hard spend limit.
167
+ sig do
168
+ params(
169
+ status:
170
+ T.any(
171
+ String,
172
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::OrSymbol
173
+ )
174
+ ).returns(T.attached_class)
175
+ end
176
+ def self.new(
177
+ # Whether the hard spend limit is currently enforcing.
178
+ status:
179
+ )
180
+ end
181
+
182
+ sig do
183
+ override.returns(
184
+ {
185
+ status:
186
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::Variants
187
+ }
188
+ )
189
+ end
190
+ def to_hash
191
+ end
192
+
193
+ # Whether the hard spend limit is currently enforcing.
194
+ module Status
195
+ extend OpenAI::Internal::Type::Union
196
+
197
+ Variants =
198
+ T.type_alias do
199
+ T.any(
200
+ String,
201
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::TaggedSymbol
202
+ )
203
+ end
204
+
205
+ sig do
206
+ override.returns(
207
+ T::Array[
208
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::Variants
209
+ ]
210
+ )
211
+ end
212
+ def self.variants
213
+ end
214
+
215
+ TaggedSymbol =
216
+ T.type_alias do
217
+ T.all(
218
+ Symbol,
219
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status
220
+ )
221
+ end
222
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
223
+
224
+ INACTIVE =
225
+ T.let(
226
+ :inactive,
227
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::TaggedSymbol
228
+ )
229
+ ENFORCING =
230
+ T.let(
231
+ :enforcing,
232
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::Status::TaggedSymbol
233
+ )
234
+ end
235
+ end
236
+
237
+ # The time interval for evaluating spend against the threshold. Currently, only
238
+ # `month` is supported.
239
+ module Interval
240
+ extend OpenAI::Internal::Type::Union
241
+
242
+ Variants =
243
+ T.type_alias do
244
+ T.any(
245
+ String,
246
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval::TaggedSymbol
247
+ )
248
+ end
249
+
250
+ sig do
251
+ override.returns(
252
+ T::Array[
253
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval::Variants
254
+ ]
255
+ )
256
+ end
257
+ def self.variants
258
+ end
259
+
260
+ TaggedSymbol =
261
+ T.type_alias do
262
+ T.all(
263
+ Symbol,
264
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval
265
+ )
266
+ end
267
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
268
+
269
+ MONTH =
270
+ T.let(
271
+ :month,
272
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Interval::TaggedSymbol
273
+ )
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ ProjectSpendLimitDeleted = Projects::ProjectSpendLimitDeleted
8
+
9
+ module Projects
10
+ class ProjectSpendLimitDeleted < OpenAI::Internal::Type::BaseModel
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::Projects::ProjectSpendLimitDeleted,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # Whether the hard spend limit was deleted.
20
+ sig { returns(T::Boolean) }
21
+ attr_accessor :deleted
22
+
23
+ # The object type, which is always `project.spend_limit.deleted`.
24
+ sig { returns(Symbol) }
25
+ attr_accessor :object
26
+
27
+ # Confirmation payload returned after deleting a project hard spend limit.
28
+ sig do
29
+ params(deleted: T::Boolean, object: Symbol).returns(
30
+ T.attached_class
31
+ )
32
+ end
33
+ def self.new(
34
+ # Whether the hard spend limit was deleted.
35
+ deleted:,
36
+ # The object type, which is always `project.spend_limit.deleted`.
37
+ object: :"project.spend_limit.deleted"
38
+ )
39
+ end
40
+
41
+ sig { override.returns({ deleted: T::Boolean, object: Symbol }) }
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,44 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendLimitDeleteParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendLimitDeleteParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig do
24
+ params(
25
+ project_id: String,
26
+ request_options: OpenAI::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(project_id:, request_options: {})
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ { project_id: String, request_options: OpenAI::RequestOptions }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendLimitRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendLimitRetrieveParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig do
24
+ params(
25
+ project_id: String,
26
+ request_options: OpenAI::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(project_id:, request_options: {})
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ { project_id: String, request_options: OpenAI::RequestOptions }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,149 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class SpendLimitUpdateParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ # The currency for the threshold amount. Currently, only `USD` is supported.
24
+ sig do
25
+ returns(
26
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Currency::OrSymbol
27
+ )
28
+ end
29
+ attr_accessor :currency
30
+
31
+ # The time interval for evaluating spend against the threshold. Currently, only
32
+ # `month` is supported.
33
+ sig do
34
+ returns(
35
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Interval::OrSymbol
36
+ )
37
+ end
38
+ attr_accessor :interval
39
+
40
+ # The hard spend limit amount, in cents.
41
+ sig { returns(Integer) }
42
+ attr_accessor :threshold_amount
43
+
44
+ sig do
45
+ params(
46
+ project_id: String,
47
+ currency:
48
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Currency::OrSymbol,
49
+ interval:
50
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Interval::OrSymbol,
51
+ threshold_amount: Integer,
52
+ request_options: OpenAI::RequestOptions::OrHash
53
+ ).returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+ project_id:,
57
+ # The currency for the threshold amount. Currently, only `USD` is supported.
58
+ currency:,
59
+ # The time interval for evaluating spend against the threshold. Currently, only
60
+ # `month` is supported.
61
+ interval:,
62
+ # The hard spend limit amount, in cents.
63
+ threshold_amount:,
64
+ request_options: {}
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ project_id: String,
72
+ currency:
73
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Currency::OrSymbol,
74
+ interval:
75
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Interval::OrSymbol,
76
+ threshold_amount: Integer,
77
+ request_options: OpenAI::RequestOptions
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+
84
+ # The currency for the threshold amount. Currently, only `USD` is supported.
85
+ module Currency
86
+ extend OpenAI::Internal::Type::Enum
87
+
88
+ TaggedSymbol =
89
+ T.type_alias do
90
+ T.all(
91
+ Symbol,
92
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Currency
93
+ )
94
+ end
95
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
96
+
97
+ USD =
98
+ T.let(
99
+ :USD,
100
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Currency::TaggedSymbol
101
+ )
102
+
103
+ sig do
104
+ override.returns(
105
+ T::Array[
106
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Currency::TaggedSymbol
107
+ ]
108
+ )
109
+ end
110
+ def self.values
111
+ end
112
+ end
113
+
114
+ # The time interval for evaluating spend against the threshold. Currently, only
115
+ # `month` is supported.
116
+ module Interval
117
+ extend OpenAI::Internal::Type::Enum
118
+
119
+ TaggedSymbol =
120
+ T.type_alias do
121
+ T.all(
122
+ Symbol,
123
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Interval
124
+ )
125
+ end
126
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
127
+
128
+ MONTH =
129
+ T.let(
130
+ :month,
131
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Interval::TaggedSymbol
132
+ )
133
+
134
+ sig do
135
+ override.returns(
136
+ T::Array[
137
+ OpenAI::Admin::Organization::Projects::SpendLimitUpdateParams::Interval::TaggedSymbol
138
+ ]
139
+ )
140
+ end
141
+ def self.values
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class SpendLimitDeleteParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::SpendLimitDeleteParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig do
20
+ params(request_options: OpenAI::RequestOptions::OrHash).returns(
21
+ T.attached_class
22
+ )
23
+ end
24
+ def self.new(request_options: {})
25
+ end
26
+
27
+ sig { override.returns({ request_options: OpenAI::RequestOptions }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class SpendLimitRetrieveParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::SpendLimitRetrieveParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig do
20
+ params(request_options: OpenAI::RequestOptions::OrHash).returns(
21
+ T.attached_class
22
+ )
23
+ end
24
+ def self.new(request_options: {})
25
+ end
26
+
27
+ sig { override.returns({ request_options: OpenAI::RequestOptions }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end