openai 0.69.0 → 0.70.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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/openai/internal/util.rb +1 -1
  5. data/lib/openai/models/admin/organization/projects/api_key_list_params.rb +30 -1
  6. data/lib/openai/models/admin/organization/projects/project_api_key.rb +23 -1
  7. data/lib/openai/models/beta/beta_response_reasoning_item.rb +4 -3
  8. data/lib/openai/models/responses/response_reasoning_item.rb +4 -3
  9. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +1 -4
  10. data/lib/openai/resources/admin/organization/projects/api_keys.rb +3 -1
  11. data/lib/openai/resources/webhooks.rb +1 -1
  12. data/lib/openai/version.rb +1 -1
  13. data/lib/openai.rb +0 -1
  14. data/rbi/openai/models/admin/organization/projects/api_key_list_params.rbi +76 -0
  15. data/rbi/openai/models/admin/organization/projects/project_api_key.rbi +49 -0
  16. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +6 -4
  17. data/rbi/openai/models/responses/response_reasoning_item.rbi +6 -4
  18. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -2
  19. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +8 -0
  20. data/rbi/openai/resources/webhooks.rbi +1 -2
  21. data/sig/openai/models/admin/organization/projects/api_key_list_params.rbs +26 -1
  22. data/sig/openai/models/admin/organization/projects/project_api_key.rbs +16 -0
  23. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +0 -1
  24. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +1 -0
  25. data/sig/openai/resources/webhooks.rbs +1 -2
  26. metadata +2 -5
  27. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +0 -118
  28. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +0 -209
  29. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +0 -99
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbc95cabd7267bdcb79b50ffebb3e11579e47ccbe7d4e1c3a619647908a68abe
4
- data.tar.gz: 3db020bf00a1ff077a23842a0391e388a0a7ca0070af312e100e8b866630127e
3
+ metadata.gz: 46c365e5b18df8765a0afe25ad8068ba9affbec2b802aa6197e462fa4c160f0a
4
+ data.tar.gz: '06975c809d77b61a966516da0aca78cd93a313c6854383418608a791d4ed9a9e'
5
5
  SHA512:
6
- metadata.gz: 7a357a83fe7d2db2cf7091e0c7eaff4f09520bcb464594f21cdab1904ba9487b71fec7ac5a0c970db4f9a1be7e135d8b1ec79776d60646dca0eea70cec48567c
7
- data.tar.gz: c82dbd05da4e69a2ec45d36e1ee67f7bbdb31c45f851984a91553a0784004696cb53f6fac30ceb0d504713a39170e548c50f4e693bddd0ce51407108c7085b5a
6
+ metadata.gz: 8bf4d31c0f5932f9846f3efa54ad1e7e677c5ccb7bb1eeedf6e04f213a094550f4fd1ddf8a053cd4c3850298e9a6be1088187db123dba0d90197c81d7c223c9a
7
+ data.tar.gz: a48eb1b00500fae6a6cbeeae07dd309407d385317855c3af5b62ee3dd943f66ff5697bb7de19fb4d8f2eaa96444b368418817688549cb522a3343df4b8816c4d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.70.0 (2026-07-14)
4
+
5
+ Full Changelog: [v0.69.0...v0.70.0](https://github.com/openai/openai-ruby/compare/v0.69.0...v0.70.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add owner_project_access to APIKeyListParams ([2741c65](https://github.com/openai/openai-ruby/commit/2741c6534029f6bb2fb26e3390bbffd30b7febc7))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **deps-dev:** bump activesupport from 8.1.1 to 8.1.2.1 ([#301](https://github.com/openai/openai-ruby/issues/301)) ([78727df](https://github.com/openai/openai-ruby/commit/78727dfdce3b6b890dbaabc2e55d17f72e4448ba))
15
+ * **deps-dev:** bump addressable from 2.8.7 to 2.9.0 ([#298](https://github.com/openai/openai-ruby/issues/298)) ([6737a88](https://github.com/openai/openai-ruby/commit/6737a8875d5322bf63cc7721fee9cb69742c58b6))
16
+ * **deps-dev:** bump yard from 0.9.37 to 0.9.44 ([#297](https://github.com/openai/openai-ruby/issues/297)) ([857dd68](https://github.com/openai/openai-ruby/commit/857dd6896271218715fc2187bbc918fabb4dba61))
17
+ * fix CodeQL parsing of Sorbet fallback ([#303](https://github.com/openai/openai-ruby/issues/303)) ([7d0dcaf](https://github.com/openai/openai-ruby/commit/7d0dcaf72eafaa7184e2945a8f051ecb8395c158))
18
+ * Harden GitHub Actions permissions ([#292](https://github.com/openai/openai-ruby/issues/292)) ([0a478dc](https://github.com/openai/openai-ruby/commit/0a478dca89668d9d1de58d710822810922189871))
19
+
3
20
  ## 0.69.0 (2026-07-09)
4
21
 
5
22
  Full Changelog: [v0.68.0...v0.69.0](https://github.com/openai/openai-ruby/compare/v0.68.0...v0.69.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.69.0"
18
+ gem "openai", "~> 0.70.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -926,7 +926,7 @@ module OpenAI
926
926
  # @api private
927
927
  #
928
928
  # @return [Object]
929
- def to_sorbet_type = raise NotImplementedError
929
+ def to_sorbet_type = raise(NotImplementedError)
930
930
 
931
931
  class << self
932
932
  # @api private
@@ -31,7 +31,18 @@ module OpenAI
31
31
  # @return [Integer, nil]
32
32
  optional :limit, Integer
33
33
 
34
- # @!method initialize(project_id:, after: nil, limit: nil, request_options: {})
34
+ # @!attribute owner_project_access
35
+ # Filter API keys by whether the owner currently has effective access to the
36
+ # project. Use `active` for owners with access, `inactive` for owners without
37
+ # access, or `any` for all enabled project API keys. If omitted, the endpoint
38
+ # applies its existing membership-based visibility rules, which may exclude some
39
+ # enabled keys.
40
+ #
41
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess, nil]
42
+ optional :owner_project_access,
43
+ enum: -> { OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess }
44
+
45
+ # @!method initialize(project_id:, after: nil, limit: nil, owner_project_access: nil, request_options: {})
35
46
  # Some parameter documentations has been truncated, see
36
47
  # {OpenAI::Models::Admin::Organization::Projects::APIKeyListParams} for more
37
48
  # details.
@@ -42,7 +53,25 @@ module OpenAI
42
53
  #
43
54
  # @param limit [Integer] A limit on the number of objects to be returned. Limit can range between 1 and 1
44
55
  #
56
+ # @param owner_project_access [Symbol, OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess] Filter API keys by whether the owner currently has effective access to the proje
57
+ #
45
58
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
59
+
60
+ # Filter API keys by whether the owner currently has effective access to the
61
+ # project. Use `active` for owners with access, `inactive` for owners without
62
+ # access, or `any` for all enabled project API keys. If omitted, the endpoint
63
+ # applies its existing membership-based visibility rules, which may exclude some
64
+ # enabled keys.
65
+ module OwnerProjectAccess
66
+ extend OpenAI::Internal::Type::Enum
67
+
68
+ ACTIVE = :active
69
+ INACTIVE = :inactive
70
+ ANY = :any
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
46
75
  end
47
76
  end
48
77
  end
@@ -42,13 +42,20 @@ module OpenAI
42
42
  # @return [OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::Owner]
43
43
  required :owner, -> { OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner }
44
44
 
45
+ # @!attribute owner_project_access
46
+ # Whether the API key's owner currently has effective access to the project.
47
+ #
48
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess]
49
+ required :owner_project_access,
50
+ enum: -> { OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess }
51
+
45
52
  # @!attribute redacted_value
46
53
  # The redacted value of the API key
47
54
  #
48
55
  # @return [String]
49
56
  required :redacted_value, String
50
57
 
51
- # @!method initialize(id:, created_at:, last_used_at:, name:, owner:, redacted_value:, object: :"organization.project.api_key")
58
+ # @!method initialize(id:, created_at:, last_used_at:, name:, owner:, owner_project_access:, redacted_value:, object: :"organization.project.api_key")
52
59
  # Represents an individual API key in a project.
53
60
  #
54
61
  # @param id [String] The identifier, which can be referenced in API endpoints
@@ -61,6 +68,8 @@ module OpenAI
61
68
  #
62
69
  # @param owner [OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::Owner]
63
70
  #
71
+ # @param owner_project_access [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess] Whether the API key's owner currently has effective access to the project.
72
+ #
64
73
  # @param redacted_value [String] The redacted value of the API key
65
74
  #
66
75
  # @param object [Symbol, :"organization.project.api_key"] The object type, which is always `organization.project.api_key`
@@ -190,6 +199,19 @@ module OpenAI
190
199
  # @param role [String] The user's project role.
191
200
  end
192
201
  end
202
+
203
+ # Whether the API key's owner currently has effective access to the project.
204
+ #
205
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey#owner_project_access
206
+ module OwnerProjectAccess
207
+ extend OpenAI::Internal::Type::Enum
208
+
209
+ ACTIVE = :active
210
+ INACTIVE = :inactive
211
+
212
+ # @!method self.values
213
+ # @return [Array<Symbol>]
214
+ end
193
215
  end
194
216
  end
195
217
 
@@ -37,8 +37,9 @@ module OpenAI
37
37
  -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::BetaResponseReasoningItem::Content] }
38
38
 
39
39
  # @!attribute encrypted_content
40
- # The encrypted content of the reasoning item - populated when a response is
41
- # generated with `reasoning.encrypted_content` in the `include` parameter.
40
+ # The encrypted content of the reasoning item. This is populated by default for
41
+ # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
42
+ # requests.
42
43
  #
43
44
  # @return [String, nil]
44
45
  optional :encrypted_content, String, nil?: true
@@ -67,7 +68,7 @@ module OpenAI
67
68
  #
68
69
  # @param content [Array<OpenAI::Models::Beta::BetaResponseReasoningItem::Content>] Reasoning text content.
69
70
  #
70
- # @param encrypted_content [String, nil] The encrypted content of the reasoning item - populated when a response is
71
+ # @param encrypted_content [String, nil] The encrypted content of the reasoning item. This is populated by default
71
72
  #
72
73
  # @param status [Symbol, OpenAI::Models::Beta::BetaResponseReasoningItem::Status] The status of the item. One of `in_progress`, `completed`, or
73
74
  #
@@ -31,8 +31,9 @@ module OpenAI
31
31
  -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseReasoningItem::Content] }
32
32
 
33
33
  # @!attribute encrypted_content
34
- # The encrypted content of the reasoning item - populated when a response is
35
- # generated with `reasoning.encrypted_content` in the `include` parameter.
34
+ # The encrypted content of the reasoning item. This is populated by default for
35
+ # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
36
+ # requests.
36
37
  #
37
38
  # @return [String, nil]
38
39
  optional :encrypted_content, String, nil?: true
@@ -59,7 +60,7 @@ module OpenAI
59
60
  #
60
61
  # @param content [Array<OpenAI::Models::Responses::ResponseReasoningItem::Content>] Reasoning text content.
61
62
  #
62
- # @param encrypted_content [String, nil] The encrypted content of the reasoning item - populated when a response is
63
+ # @param encrypted_content [String, nil] The encrypted content of the reasoning item. This is populated by default
63
64
  #
64
65
  # @param status [Symbol, OpenAI::Models::Responses::ResponseReasoningItem::Status] The status of the item. One of `in_progress`, `completed`, or
65
66
  #
@@ -54,11 +54,8 @@ module OpenAI
54
54
  # Sent when a background response has been interrupted.
55
55
  variant :"response.incomplete", -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent }
56
56
 
57
- # Sent when a request associated with a safety identifier has been blocked.
58
- variant :"safety_identifier.blocked", -> { OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent }
59
-
60
57
  # @!method self.variants
61
- # @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent)]
58
+ # @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
62
59
  end
63
60
  end
64
61
  end
@@ -40,7 +40,7 @@ module OpenAI
40
40
  #
41
41
  # Returns a list of API keys in the project.
42
42
  #
43
- # @overload list(project_id, after: nil, limit: nil, request_options: {})
43
+ # @overload list(project_id, after: nil, limit: nil, owner_project_access: nil, request_options: {})
44
44
  #
45
45
  # @param project_id [String] The ID of the project.
46
46
  #
@@ -48,6 +48,8 @@ module OpenAI
48
48
  #
49
49
  # @param limit [Integer] A limit on the number of objects to be returned. Limit can range between 1 and 1
50
50
  #
51
+ # @param owner_project_access [Symbol, OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess] Filter API keys by whether the owner currently has effective access to the proje
52
+ #
51
53
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
52
54
  #
53
55
  # @return [OpenAI::Internal::ConversationCursorPage<OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey>]
@@ -9,7 +9,7 @@ module OpenAI
9
9
  # @param headers [Hash] The webhook headers
10
10
  # @param webhook_secret [String, nil] The webhook secret (optional, will use client webhook secret or ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
11
11
  #
12
- # @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent]
12
+ # @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent]
13
13
  #
14
14
  # @raise [ArgumentError] if signature verification fails
15
15
  def unwrap(
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.69.0"
4
+ VERSION = "0.70.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -1138,7 +1138,6 @@ require_relative "openai/models/webhooks/response_cancelled_webhook_event"
1138
1138
  require_relative "openai/models/webhooks/response_completed_webhook_event"
1139
1139
  require_relative "openai/models/webhooks/response_failed_webhook_event"
1140
1140
  require_relative "openai/models/webhooks/response_incomplete_webhook_event"
1141
- require_relative "openai/models/webhooks/safety_identifier_blocked_webhook_event"
1142
1141
  require_relative "openai/models/webhooks/unwrap_webhook_event"
1143
1142
  require_relative "openai/models/webhooks/webhook_unwrap_params"
1144
1143
  require_relative "openai/models"
@@ -38,11 +38,35 @@ module OpenAI
38
38
  sig { params(limit: Integer).void }
39
39
  attr_writer :limit
40
40
 
41
+ # Filter API keys by whether the owner currently has effective access to the
42
+ # project. Use `active` for owners with access, `inactive` for owners without
43
+ # access, or `any` for all enabled project API keys. If omitted, the endpoint
44
+ # applies its existing membership-based visibility rules, which may exclude some
45
+ # enabled keys.
46
+ sig do
47
+ returns(
48
+ T.nilable(
49
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::OrSymbol
50
+ )
51
+ )
52
+ end
53
+ attr_reader :owner_project_access
54
+
55
+ sig do
56
+ params(
57
+ owner_project_access:
58
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::OrSymbol
59
+ ).void
60
+ end
61
+ attr_writer :owner_project_access
62
+
41
63
  sig do
42
64
  params(
43
65
  project_id: String,
44
66
  after: String,
45
67
  limit: Integer,
68
+ owner_project_access:
69
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::OrSymbol,
46
70
  request_options: OpenAI::RequestOptions::OrHash
47
71
  ).returns(T.attached_class)
48
72
  end
@@ -56,6 +80,12 @@ module OpenAI
56
80
  # A limit on the number of objects to be returned. Limit can range between 1 and
57
81
  # 100, and the default is 20.
58
82
  limit: nil,
83
+ # Filter API keys by whether the owner currently has effective access to the
84
+ # project. Use `active` for owners with access, `inactive` for owners without
85
+ # access, or `any` for all enabled project API keys. If omitted, the endpoint
86
+ # applies its existing membership-based visibility rules, which may exclude some
87
+ # enabled keys.
88
+ owner_project_access: nil,
59
89
  request_options: {}
60
90
  )
61
91
  end
@@ -66,12 +96,58 @@ module OpenAI
66
96
  project_id: String,
67
97
  after: String,
68
98
  limit: Integer,
99
+ owner_project_access:
100
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::OrSymbol,
69
101
  request_options: OpenAI::RequestOptions
70
102
  }
71
103
  )
72
104
  end
73
105
  def to_hash
74
106
  end
107
+
108
+ # Filter API keys by whether the owner currently has effective access to the
109
+ # project. Use `active` for owners with access, `inactive` for owners without
110
+ # access, or `any` for all enabled project API keys. If omitted, the endpoint
111
+ # applies its existing membership-based visibility rules, which may exclude some
112
+ # enabled keys.
113
+ module OwnerProjectAccess
114
+ extend OpenAI::Internal::Type::Enum
115
+
116
+ TaggedSymbol =
117
+ T.type_alias do
118
+ T.all(
119
+ Symbol,
120
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess
121
+ )
122
+ end
123
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
124
+
125
+ ACTIVE =
126
+ T.let(
127
+ :active,
128
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::TaggedSymbol
129
+ )
130
+ INACTIVE =
131
+ T.let(
132
+ :inactive,
133
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::TaggedSymbol
134
+ )
135
+ ANY =
136
+ T.let(
137
+ :any,
138
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::TaggedSymbol
139
+ )
140
+
141
+ sig do
142
+ override.returns(
143
+ T::Array[
144
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::TaggedSymbol
145
+ ]
146
+ )
147
+ end
148
+ def self.values
149
+ end
150
+ end
75
151
  end
76
152
  end
77
153
  end
@@ -51,6 +51,14 @@ module OpenAI
51
51
  end
52
52
  attr_writer :owner
53
53
 
54
+ # Whether the API key's owner currently has effective access to the project.
55
+ sig do
56
+ returns(
57
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess::TaggedSymbol
58
+ )
59
+ end
60
+ attr_accessor :owner_project_access
61
+
54
62
  # The redacted value of the API key
55
63
  sig { returns(String) }
56
64
  attr_accessor :redacted_value
@@ -64,6 +72,8 @@ module OpenAI
64
72
  name: String,
65
73
  owner:
66
74
  OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner::OrHash,
75
+ owner_project_access:
76
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess::OrSymbol,
67
77
  redacted_value: String,
68
78
  object: Symbol
69
79
  ).returns(T.attached_class)
@@ -78,6 +88,8 @@ module OpenAI
78
88
  # The name of the API key
79
89
  name:,
80
90
  owner:,
91
+ # Whether the API key's owner currently has effective access to the project.
92
+ owner_project_access:,
81
93
  # The redacted value of the API key
82
94
  redacted_value:,
83
95
  # The object type, which is always `organization.project.api_key`
@@ -95,6 +107,8 @@ module OpenAI
95
107
  object: Symbol,
96
108
  owner:
97
109
  OpenAI::Admin::Organization::Projects::ProjectAPIKey::Owner,
110
+ owner_project_access:
111
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess::TaggedSymbol,
98
112
  redacted_value: String
99
113
  }
100
114
  )
@@ -363,6 +377,41 @@ module OpenAI
363
377
  end
364
378
  end
365
379
  end
380
+
381
+ # Whether the API key's owner currently has effective access to the project.
382
+ module OwnerProjectAccess
383
+ extend OpenAI::Internal::Type::Enum
384
+
385
+ TaggedSymbol =
386
+ T.type_alias do
387
+ T.all(
388
+ Symbol,
389
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess
390
+ )
391
+ end
392
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
393
+
394
+ ACTIVE =
395
+ T.let(
396
+ :active,
397
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess::TaggedSymbol
398
+ )
399
+ INACTIVE =
400
+ T.let(
401
+ :inactive,
402
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess::TaggedSymbol
403
+ )
404
+
405
+ sig do
406
+ override.returns(
407
+ T::Array[
408
+ OpenAI::Admin::Organization::Projects::ProjectAPIKey::OwnerProjectAccess::TaggedSymbol
409
+ ]
410
+ )
411
+ end
412
+ def self.values
413
+ end
414
+ end
366
415
  end
367
416
  end
368
417
  end
@@ -60,8 +60,9 @@ module OpenAI
60
60
  end
61
61
  attr_writer :content
62
62
 
63
- # The encrypted content of the reasoning item - populated when a response is
64
- # generated with `reasoning.encrypted_content` in the `include` parameter.
63
+ # The encrypted content of the reasoning item. This is populated by default for
64
+ # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
65
+ # requests.
65
66
  sig { returns(T.nilable(String)) }
66
67
  attr_accessor :encrypted_content
67
68
 
@@ -112,8 +113,9 @@ module OpenAI
112
113
  agent: nil,
113
114
  # Reasoning text content.
114
115
  content: nil,
115
- # The encrypted content of the reasoning item - populated when a response is
116
- # generated with `reasoning.encrypted_content` in the `include` parameter.
116
+ # The encrypted content of the reasoning item. This is populated by default for
117
+ # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
118
+ # requests.
117
119
  encrypted_content: nil,
118
120
  # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
119
121
  # Populated when items are returned via API.
@@ -46,8 +46,9 @@ module OpenAI
46
46
  end
47
47
  attr_writer :content
48
48
 
49
- # The encrypted content of the reasoning item - populated when a response is
50
- # generated with `reasoning.encrypted_content` in the `include` parameter.
49
+ # The encrypted content of the reasoning item. This is populated by default for
50
+ # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
51
+ # requests.
51
52
  sig { returns(T.nilable(String)) }
52
53
  attr_accessor :encrypted_content
53
54
 
@@ -96,8 +97,9 @@ module OpenAI
96
97
  summary:,
97
98
  # Reasoning text content.
98
99
  content: nil,
99
- # The encrypted content of the reasoning item - populated when a response is
100
- # generated with `reasoning.encrypted_content` in the `include` parameter.
100
+ # The encrypted content of the reasoning item. This is populated by default for
101
+ # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
102
+ # requests.
101
103
  encrypted_content: nil,
102
104
  # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
103
105
  # Populated when items are returned via API.
@@ -24,8 +24,7 @@ module OpenAI
24
24
  OpenAI::Webhooks::ResponseCancelledWebhookEvent,
25
25
  OpenAI::Webhooks::ResponseCompletedWebhookEvent,
26
26
  OpenAI::Webhooks::ResponseFailedWebhookEvent,
27
- OpenAI::Webhooks::ResponseIncompleteWebhookEvent,
28
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent
27
+ OpenAI::Webhooks::ResponseIncompleteWebhookEvent
29
28
  )
30
29
  end
31
30
 
@@ -29,6 +29,8 @@ module OpenAI
29
29
  project_id: String,
30
30
  after: String,
31
31
  limit: Integer,
32
+ owner_project_access:
33
+ OpenAI::Admin::Organization::Projects::APIKeyListParams::OwnerProjectAccess::OrSymbol,
32
34
  request_options: OpenAI::RequestOptions::OrHash
33
35
  ).returns(
34
36
  OpenAI::Internal::ConversationCursorPage[
@@ -47,6 +49,12 @@ module OpenAI
47
49
  # A limit on the number of objects to be returned. Limit can range between 1 and
48
50
  # 100, and the default is 20.
49
51
  limit: nil,
52
+ # Filter API keys by whether the owner currently has effective access to the
53
+ # project. Use `active` for owners with access, `inactive` for owners without
54
+ # access, or `any` for all enabled project API keys. If omitted, the endpoint
55
+ # applies its existing membership-based visibility rules, which may exclude some
56
+ # enabled keys.
57
+ owner_project_access: nil,
50
58
  request_options: {}
51
59
  )
52
60
  end
@@ -25,8 +25,7 @@ module OpenAI
25
25
  OpenAI::Webhooks::ResponseCancelledWebhookEvent,
26
26
  OpenAI::Webhooks::ResponseCompletedWebhookEvent,
27
27
  OpenAI::Webhooks::ResponseFailedWebhookEvent,
28
- OpenAI::Webhooks::ResponseIncompleteWebhookEvent,
29
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent
28
+ OpenAI::Webhooks::ResponseIncompleteWebhookEvent
30
29
  )
31
30
  )
32
31
  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
@@ -17,7 +17,6 @@ module OpenAI
17
17
  | OpenAI::Webhooks::ResponseCompletedWebhookEvent
18
18
  | OpenAI::Webhooks::ResponseFailedWebhookEvent
19
19
  | OpenAI::Webhooks::ResponseIncompleteWebhookEvent
20
- | OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent
21
20
 
22
21
  module UnwrapWebhookEvent
23
22
  extend OpenAI::Internal::Type::Union
@@ -14,6 +14,7 @@ module OpenAI
14
14
  String project_id,
15
15
  ?after: String,
16
16
  ?limit: Integer,
17
+ ?owner_project_access: OpenAI::Models::Admin::Organization::Projects::APIKeyListParams::owner_project_access,
17
18
  ?request_options: OpenAI::request_opts
18
19
  ) -> OpenAI::Internal::ConversationCursorPage[OpenAI::Admin::Organization::Projects::ProjectAPIKey]
19
20
 
@@ -19,8 +19,7 @@ module OpenAI
19
19
  | OpenAI::Webhooks::ResponseCancelledWebhookEvent
20
20
  | OpenAI::Webhooks::ResponseCompletedWebhookEvent
21
21
  | OpenAI::Webhooks::ResponseFailedWebhookEvent
22
- | OpenAI::Webhooks::ResponseIncompleteWebhookEvent
23
- | OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent)
22
+ | OpenAI::Webhooks::ResponseIncompleteWebhookEvent)
24
23
 
25
24
  def verify_signature: (
26
25
  String payload,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.69.0
4
+ version: 0.70.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-09 00:00:00.000000000 Z
11
+ date: 2026-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -1177,7 +1177,6 @@ files:
1177
1177
  - lib/openai/models/webhooks/response_completed_webhook_event.rb
1178
1178
  - lib/openai/models/webhooks/response_failed_webhook_event.rb
1179
1179
  - lib/openai/models/webhooks/response_incomplete_webhook_event.rb
1180
- - lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb
1181
1180
  - lib/openai/models/webhooks/unwrap_webhook_event.rb
1182
1181
  - lib/openai/models/webhooks/webhook_unwrap_params.rb
1183
1182
  - lib/openai/request_options.rb
@@ -2377,7 +2376,6 @@ files:
2377
2376
  - rbi/openai/models/webhooks/response_completed_webhook_event.rbi
2378
2377
  - rbi/openai/models/webhooks/response_failed_webhook_event.rbi
2379
2378
  - rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi
2380
- - rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi
2381
2379
  - rbi/openai/models/webhooks/unwrap_webhook_event.rbi
2382
2380
  - rbi/openai/models/webhooks/webhook_unwrap_params.rbi
2383
2381
  - rbi/openai/request_options.rbi
@@ -3566,7 +3564,6 @@ files:
3566
3564
  - sig/openai/models/webhooks/response_completed_webhook_event.rbs
3567
3565
  - sig/openai/models/webhooks/response_failed_webhook_event.rbs
3568
3566
  - sig/openai/models/webhooks/response_incomplete_webhook_event.rbs
3569
- - sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs
3570
3567
  - sig/openai/models/webhooks/unwrap_webhook_event.rbs
3571
3568
  - sig/openai/models/webhooks/webhook_unwrap_params.rbs
3572
3569
  - sig/openai/request_options.rbs
@@ -1,118 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenAI
4
- module Models
5
- module Webhooks
6
- class SafetyIdentifierBlockedWebhookEvent < OpenAI::Internal::Type::BaseModel
7
- # @!attribute id
8
- # The unique ID of the event.
9
- #
10
- # @return [String]
11
- required :id, String
12
-
13
- # @!attribute created_at
14
- # The Unix timestamp (in seconds) of when the request was blocked.
15
- #
16
- # @return [Integer]
17
- required :created_at, Integer
18
-
19
- # @!attribute data
20
- # Event data payload.
21
- #
22
- # @return [OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data]
23
- required :data, -> { OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data }
24
-
25
- # @!attribute type
26
- # The type of the event. Always `safety_identifier.blocked`.
27
- #
28
- # @return [Symbol, :"safety_identifier.blocked"]
29
- required :type, const: :"safety_identifier.blocked"
30
-
31
- # @!attribute object
32
- # The object of the event. Always `event`.
33
- #
34
- # @return [Symbol, OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object, nil]
35
- optional :object, enum: -> { OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object }
36
-
37
- # @!method initialize(id:, created_at:, data:, object: nil, type: :"safety_identifier.blocked")
38
- # Some parameter documentations has been truncated, see
39
- # {OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent} for more
40
- # details.
41
- #
42
- # Sent when a request associated with a safety identifier has been blocked.
43
- #
44
- # @param id [String] The unique ID of the event.
45
- #
46
- # @param created_at [Integer] The Unix timestamp (in seconds) of when the request was blocked.
47
- #
48
- # @param data [OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data] Event data payload.
49
- #
50
- # @param object [Symbol, OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object] The object of the event. Always `event`.
51
- #
52
- # @param type [Symbol, :"safety_identifier.blocked"] The type of the event. Always `safety_identifier.blocked`.
53
-
54
- # @see OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent#data
55
- class Data < OpenAI::Internal::Type::BaseModel
56
- # @!attribute safety_category
57
- # The safety category that triggered the block, such as `bio` or `cyber`.
58
- #
59
- # @return [String]
60
- required :safety_category, String
61
-
62
- # @!attribute safety_identifier
63
- # The stable safety identifier associated with the blocked request.
64
- #
65
- # @return [String]
66
- required :safety_identifier, String
67
-
68
- # @!attribute model
69
- # The model used for the blocked request, if available.
70
- #
71
- # @return [String, nil]
72
- optional :model, String
73
-
74
- # @!attribute project_id
75
- # The project associated with the blocked request, if available.
76
- #
77
- # @return [String, nil]
78
- optional :project_id, String
79
-
80
- # @!attribute request_id
81
- # The OpenAI request ID for the blocked request, if available.
82
- #
83
- # @return [String, nil]
84
- optional :request_id, String
85
-
86
- # @!method initialize(safety_category:, safety_identifier:, model: nil, project_id: nil, request_id: nil)
87
- # Some parameter documentations has been truncated, see
88
- # {OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data} for more
89
- # details.
90
- #
91
- # Event data payload.
92
- #
93
- # @param safety_category [String] The safety category that triggered the block, such as `bio` or `cyber`.
94
- #
95
- # @param safety_identifier [String] The stable safety identifier associated with the blocked request.
96
- #
97
- # @param model [String] The model used for the blocked request, if available.
98
- #
99
- # @param project_id [String] The project associated with the blocked request, if available.
100
- #
101
- # @param request_id [String] The OpenAI request ID for the blocked request, if available.
102
- end
103
-
104
- # The object of the event. Always `event`.
105
- #
106
- # @see OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent#object
107
- module Object
108
- extend OpenAI::Internal::Type::Enum
109
-
110
- EVENT = :event
111
-
112
- # @!method self.values
113
- # @return [Array<Symbol>]
114
- end
115
- end
116
- end
117
- end
118
- end
@@ -1,209 +0,0 @@
1
- # typed: strong
2
-
3
- module OpenAI
4
- module Models
5
- module Webhooks
6
- class SafetyIdentifierBlockedWebhookEvent < OpenAI::Internal::Type::BaseModel
7
- OrHash =
8
- T.type_alias do
9
- T.any(
10
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent,
11
- OpenAI::Internal::AnyHash
12
- )
13
- end
14
-
15
- # The unique ID of the event.
16
- sig { returns(String) }
17
- attr_accessor :id
18
-
19
- # The Unix timestamp (in seconds) of when the request was blocked.
20
- sig { returns(Integer) }
21
- attr_accessor :created_at
22
-
23
- # Event data payload.
24
- sig do
25
- returns(OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data)
26
- end
27
- attr_reader :data
28
-
29
- sig do
30
- params(
31
- data:
32
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data::OrHash
33
- ).void
34
- end
35
- attr_writer :data
36
-
37
- # The type of the event. Always `safety_identifier.blocked`.
38
- sig { returns(Symbol) }
39
- attr_accessor :type
40
-
41
- # The object of the event. Always `event`.
42
- sig do
43
- returns(
44
- T.nilable(
45
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object::TaggedSymbol
46
- )
47
- )
48
- end
49
- attr_reader :object
50
-
51
- sig do
52
- params(
53
- object:
54
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object::OrSymbol
55
- ).void
56
- end
57
- attr_writer :object
58
-
59
- # Sent when a request associated with a safety identifier has been blocked.
60
- sig do
61
- params(
62
- id: String,
63
- created_at: Integer,
64
- data:
65
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data::OrHash,
66
- object:
67
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object::OrSymbol,
68
- type: Symbol
69
- ).returns(T.attached_class)
70
- end
71
- def self.new(
72
- # The unique ID of the event.
73
- id:,
74
- # The Unix timestamp (in seconds) of when the request was blocked.
75
- created_at:,
76
- # Event data payload.
77
- data:,
78
- # The object of the event. Always `event`.
79
- object: nil,
80
- # The type of the event. Always `safety_identifier.blocked`.
81
- type: :"safety_identifier.blocked"
82
- )
83
- end
84
-
85
- sig do
86
- override.returns(
87
- {
88
- id: String,
89
- created_at: Integer,
90
- data: OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data,
91
- type: Symbol,
92
- object:
93
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object::TaggedSymbol
94
- }
95
- )
96
- end
97
- def to_hash
98
- end
99
-
100
- class Data < OpenAI::Internal::Type::BaseModel
101
- OrHash =
102
- T.type_alias do
103
- T.any(
104
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data,
105
- OpenAI::Internal::AnyHash
106
- )
107
- end
108
-
109
- # The safety category that triggered the block, such as `bio` or `cyber`.
110
- sig { returns(String) }
111
- attr_accessor :safety_category
112
-
113
- # The stable safety identifier associated with the blocked request.
114
- sig { returns(String) }
115
- attr_accessor :safety_identifier
116
-
117
- # The model used for the blocked request, if available.
118
- sig { returns(T.nilable(String)) }
119
- attr_reader :model
120
-
121
- sig { params(model: String).void }
122
- attr_writer :model
123
-
124
- # The project associated with the blocked request, if available.
125
- sig { returns(T.nilable(String)) }
126
- attr_reader :project_id
127
-
128
- sig { params(project_id: String).void }
129
- attr_writer :project_id
130
-
131
- # The OpenAI request ID for the blocked request, if available.
132
- sig { returns(T.nilable(String)) }
133
- attr_reader :request_id
134
-
135
- sig { params(request_id: String).void }
136
- attr_writer :request_id
137
-
138
- # Event data payload.
139
- sig do
140
- params(
141
- safety_category: String,
142
- safety_identifier: String,
143
- model: String,
144
- project_id: String,
145
- request_id: String
146
- ).returns(T.attached_class)
147
- end
148
- def self.new(
149
- # The safety category that triggered the block, such as `bio` or `cyber`.
150
- safety_category:,
151
- # The stable safety identifier associated with the blocked request.
152
- safety_identifier:,
153
- # The model used for the blocked request, if available.
154
- model: nil,
155
- # The project associated with the blocked request, if available.
156
- project_id: nil,
157
- # The OpenAI request ID for the blocked request, if available.
158
- request_id: nil
159
- )
160
- end
161
-
162
- sig do
163
- override.returns(
164
- {
165
- safety_category: String,
166
- safety_identifier: String,
167
- model: String,
168
- project_id: String,
169
- request_id: String
170
- }
171
- )
172
- end
173
- def to_hash
174
- end
175
- end
176
-
177
- # The object of the event. Always `event`.
178
- module Object
179
- extend OpenAI::Internal::Type::Enum
180
-
181
- TaggedSymbol =
182
- T.type_alias do
183
- T.all(
184
- Symbol,
185
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object
186
- )
187
- end
188
- OrSymbol = T.type_alias { T.any(Symbol, String) }
189
-
190
- EVENT =
191
- T.let(
192
- :event,
193
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object::TaggedSymbol
194
- )
195
-
196
- sig do
197
- override.returns(
198
- T::Array[
199
- OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Object::TaggedSymbol
200
- ]
201
- )
202
- end
203
- def self.values
204
- end
205
- end
206
- end
207
- end
208
- end
209
- end
@@ -1,99 +0,0 @@
1
- module OpenAI
2
- module Models
3
- module Webhooks
4
- type safety_identifier_blocked_webhook_event =
5
- {
6
- id: String,
7
- created_at: Integer,
8
- data: OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data,
9
- type: :"safety_identifier.blocked",
10
- object: OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object
11
- }
12
-
13
- class SafetyIdentifierBlockedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
- attr_accessor id: String
15
-
16
- attr_accessor created_at: Integer
17
-
18
- attr_accessor data: OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data
19
-
20
- attr_accessor type: :"safety_identifier.blocked"
21
-
22
- attr_reader object: OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object?
23
-
24
- def object=: (
25
- OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object
26
- ) -> OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object
27
-
28
- def initialize: (
29
- id: String,
30
- created_at: Integer,
31
- data: OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data,
32
- ?object: OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object,
33
- ?type: :"safety_identifier.blocked"
34
- ) -> void
35
-
36
- def to_hash: -> {
37
- id: String,
38
- created_at: Integer,
39
- data: OpenAI::Webhooks::SafetyIdentifierBlockedWebhookEvent::Data,
40
- type: :"safety_identifier.blocked",
41
- object: OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object
42
- }
43
-
44
- type data =
45
- {
46
- safety_category: String,
47
- safety_identifier: String,
48
- model: String,
49
- project_id: String,
50
- request_id: String
51
- }
52
-
53
- class Data < OpenAI::Internal::Type::BaseModel
54
- attr_accessor safety_category: String
55
-
56
- attr_accessor safety_identifier: String
57
-
58
- attr_reader model: String?
59
-
60
- def model=: (String) -> String
61
-
62
- attr_reader project_id: String?
63
-
64
- def project_id=: (String) -> String
65
-
66
- attr_reader request_id: String?
67
-
68
- def request_id=: (String) -> String
69
-
70
- def initialize: (
71
- safety_category: String,
72
- safety_identifier: String,
73
- ?model: String,
74
- ?project_id: String,
75
- ?request_id: String
76
- ) -> void
77
-
78
- def to_hash: -> {
79
- safety_category: String,
80
- safety_identifier: String,
81
- model: String,
82
- project_id: String,
83
- request_id: String
84
- }
85
- end
86
-
87
- type object = :event
88
-
89
- module Object
90
- extend OpenAI::Internal::Type::Enum
91
-
92
- EVENT: :event
93
-
94
- def self?.values: -> ::Array[OpenAI::Models::Webhooks::SafetyIdentifierBlockedWebhookEvent::object]
95
- end
96
- end
97
- end
98
- end
99
- end