knockapi 1.41.0 → 1.43.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 212bf583c0371646f77848cc48f260cff14d6c5584bcf1013e0ebc0ebddedfe5
4
- data.tar.gz: 279beca19bd0961751d7db0ffdddf9767ae83668045da3bd815931a539f119a8
3
+ metadata.gz: e007375ac8e8c2b288f7606d5c046a1cfec0d4dfec30821096fc9e3efca07177
4
+ data.tar.gz: 7c3d64e0447482098348e1c2625fcc1588b7723ee7b07001f9aa42dc58a316d2
5
5
  SHA512:
6
- metadata.gz: 67f582068a735e628429ed09543faf0272be0e10216505c04520ae449c6cb2652f1c257c81bcbc35701c6d433e1170445e1f6e00a2b5a7ec4a2ca469c661c67a
7
- data.tar.gz: 6928887a997bfd52da13def979bcfda2846585cdb1ae596c5337b283acbd42b8c417eecb67d15461297aa496bf720529e6b1bace32a2c2d182f2bf27b1969c06
6
+ metadata.gz: aa165c50a85d40c45bb1a730a2284ff0974f68216f2385c2f063eeb9a778edb5e82968ca7d83f54dd015f527042b78b2690f1ab330dbfdf04b704e74fc93afdf
7
+ data.tar.gz: b7306040d31ad026f10990e569d08f0fc6ead31d2124b331d043cc1abf8ca9f8ca977e0e406edcb77e0a1b7b4b0aac3bf4f7d1cb0a2d3b8ecd0b6fa86b1eac3a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.43.0](https://github.com/knocklabs/knock-ruby/compare/v1.42.0...v1.43.0) (2026-10-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * List users can now be sorted with the new order parameter (v0.1.1781) ([8c9a7f1](https://github.com/knocklabs/knock-ruby/commit/8c9a7f13bcfd0ddc39c5f99aeb08b3dc68eb297b))
9
+ * update api spec to v0.1.1757 ([cfb7fdc](https://github.com/knocklabs/knock-ruby/commit/cfb7fdc332b33ec609b7c6f98617c7403afb73dd))
10
+ * update api spec to v0.1.1759 ([0df4223](https://github.com/knocklabs/knock-ruby/commit/0df422360adf6690fab64ff6e8da2cdefaa28d8f))
11
+ * update api spec to v0.1.1760 ([608426f](https://github.com/knocklabs/knock-ruby/commit/608426f5ce331a9e45b324978d8e2df35afa2e3c))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * Messages now report branch path, and listUsers no longer accepts the order parameter (v0.1.1782) ([43415ec](https://github.com/knocklabs/knock-ruby/commit/43415ec87750332bc1d4226eec27191ef75b8ec6))
17
+
18
+ ## [1.42.0](https://github.com/knocklabs/knock-ruby/compare/v1.41.0...v1.42.0) (2026-09-17)
19
+
20
+
21
+ ### Features
22
+
23
+ * update api spec to v0.1.1699 ([3b8a336](https://github.com/knocklabs/knock-ruby/commit/3b8a336570ae3c51bef9044dafcbcc03c50425d3))
24
+ * update api spec to v0.1.1707 ([6b60fa7](https://github.com/knocklabs/knock-ruby/commit/6b60fa7fa700edb7324bc373e29a135b7a84d7d0))
25
+ * update api spec to v0.1.1712 ([5f68394](https://github.com/knocklabs/knock-ruby/commit/5f683948e074e9e534aa5ba176de4198471f57ed))
26
+
3
27
  ## [1.41.0](https://github.com/knocklabs/knock-ruby/compare/v1.40.0...v1.41.0) (2026-09-09)
4
28
 
5
29
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "knockapi", "~> 1.41.0"
20
+ gem "knockapi", "~> 1.43.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -250,6 +250,16 @@ module Knockapi
250
250
  # @return [String]
251
251
  required :version_id, String
252
252
 
253
+ # @!attribute branch_path
254
+ # The branch ancestry of the step that generated the message, outermost first.
255
+ # Each segment is the branching step and the branch taken. Omitted when the step
256
+ # is not nested under a branch.
257
+ #
258
+ # @return [Array<Knockapi::Models::Message::Source::BranchPath>, nil]
259
+ optional :branch_path,
260
+ -> { Knockapi::Internal::Type::ArrayOf[Knockapi::Message::Source::BranchPath] },
261
+ nil?: true
262
+
253
263
  # @!attribute step_ref
254
264
  # The step reference for the step in the workflow that generated the message.
255
265
  #
@@ -276,7 +286,7 @@ module Knockapi
276
286
  # @return [String, nil]
277
287
  optional :workflow_run_id, String, nil?: true
278
288
 
279
- # @!method initialize(_typename:, categories:, key:, version_id:, step_ref: nil, type: nil, workflow_recipient_run_id: nil, workflow_run_id: nil)
289
+ # @!method initialize(_typename:, categories:, key:, version_id:, branch_path: nil, step_ref: nil, type: nil, workflow_recipient_run_id: nil, workflow_run_id: nil)
280
290
  # Some parameter documentations has been truncated, see
281
291
  # {Knockapi::Models::Message::Source} for more details.
282
292
  #
@@ -290,6 +300,8 @@ module Knockapi
290
300
  #
291
301
  # @param version_id [String] The ID of the version of the workflow or guide that triggered the message.
292
302
  #
303
+ # @param branch_path [Array<Knockapi::Models::Message::Source::BranchPath>, nil] The branch ancestry of the step that generated the message, outermost first. Eac
304
+ #
293
305
  # @param step_ref [String, nil] The step reference for the step in the workflow that generated the message.
294
306
  #
295
307
  # @param type [Symbol, Knockapi::Models::Message::Source::Type] Whether this message was generated from a workflow, broadcast, or guide.
@@ -298,6 +310,33 @@ module Knockapi
298
310
  #
299
311
  # @param workflow_run_id [String, nil] The unique identifier for the workflow run that generated this message. Only pre
300
312
 
313
+ class BranchPath < Knockapi::Internal::Type::BaseModel
314
+ # @!attribute branch_id
315
+ # The ID of the branch taken.
316
+ #
317
+ # @return [String]
318
+ required :branch_id, String
319
+
320
+ # @!attribute step_ref
321
+ # The reference of the branching step.
322
+ #
323
+ # @return [String]
324
+ required :step_ref, String
325
+
326
+ # @!attribute step_type
327
+ # The type of the branching step.
328
+ #
329
+ # @return [String]
330
+ required :step_type, String
331
+
332
+ # @!method initialize(branch_id:, step_ref:, step_type:)
333
+ # @param branch_id [String] The ID of the branch taken.
334
+ #
335
+ # @param step_ref [String] The reference of the branching step.
336
+ #
337
+ # @param step_type [String] The type of the branching step.
338
+ end
339
+
301
340
  # Whether this message was generated from a workflow, broadcast, or guide.
302
341
  #
303
342
  # @see Knockapi::Models::Message::Source#type
@@ -66,22 +66,23 @@ module Knockapi
66
66
  module Type
67
67
  extend Knockapi::Internal::Type::Enum
68
68
 
69
- MESSAGE_READ = :"message.read"
70
- MESSAGE_SENT = :"message.sent"
71
- MESSAGE_SEEN = :"message.seen"
72
69
  MESSAGE_CREATED = :"message.created"
73
70
  MESSAGE_QUEUED = :"message.queued"
71
+ MESSAGE_SENT = :"message.sent"
72
+ MESSAGE_NOT_SENT = :"message.not_sent"
74
73
  MESSAGE_DELIVERED = :"message.delivered"
75
74
  MESSAGE_DELIVERY_ATTEMPTED = :"message.delivery_attempted"
76
75
  MESSAGE_UNDELIVERED = :"message.undelivered"
77
76
  MESSAGE_BOUNCED = :"message.bounced"
78
- MESSAGE_NOT_SENT = :"message.not_sent"
79
- MESSAGE_ARCHIVED = :"message.archived"
80
- MESSAGE_LINK_CLICKED = :"message.link_clicked"
81
- MESSAGE_INTERACTED = :"message.interacted"
77
+ MESSAGE_COMPLAINT = :"message.complaint"
78
+ MESSAGE_READ = :"message.read"
82
79
  MESSAGE_UNREAD = :"message.unread"
80
+ MESSAGE_SEEN = :"message.seen"
83
81
  MESSAGE_UNSEEN = :"message.unseen"
82
+ MESSAGE_ARCHIVED = :"message.archived"
84
83
  MESSAGE_UNARCHIVED = :"message.unarchived"
84
+ MESSAGE_INTERACTED = :"message.interacted"
85
+ MESSAGE_LINK_CLICKED = :"message.link_clicked"
85
86
 
86
87
  # @!method self.values
87
88
  # @return [Array<Symbol>]
@@ -34,10 +34,24 @@ module Knockapi
34
34
  # @return [String]
35
35
  required :channel_id, String
36
36
 
37
- # @!method initialize(channel_id:)
37
+ # @!attribute knock_tenant_id
38
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
39
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
40
+ # this tenant, Knock prefers this connection over untagged connections.
41
+ #
42
+ # @return [String, nil]
43
+ optional :knock_tenant_id, String, nil?: true
44
+
45
+ # @!method initialize(channel_id:, knock_tenant_id: nil)
46
+ # Some parameter documentations has been truncated, see
47
+ # {Knockapi::Models::Recipients::DiscordChannelData::Connection::DiscordChannelConnection}
48
+ # for more details.
49
+ #
38
50
  # Discord channel connection.
39
51
  #
40
52
  # @param channel_id [String] Discord channel ID.
53
+ #
54
+ # @param knock_tenant_id [String, nil] An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection. Dis
41
55
  end
42
56
 
43
57
  class DiscordIncomingWebhookConnection < Knockapi::Internal::Type::BaseModel
@@ -48,10 +62,24 @@ module Knockapi
48
62
  required :incoming_webhook,
49
63
  -> { Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook }
50
64
 
51
- # @!method initialize(incoming_webhook:)
65
+ # @!attribute knock_tenant_id
66
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
67
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
68
+ # this tenant, Knock prefers this connection over untagged connections.
69
+ #
70
+ # @return [String, nil]
71
+ optional :knock_tenant_id, String, nil?: true
72
+
73
+ # @!method initialize(incoming_webhook:, knock_tenant_id: nil)
74
+ # Some parameter documentations has been truncated, see
75
+ # {Knockapi::Models::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection}
76
+ # for more details.
77
+ #
52
78
  # Discord incoming webhook connection.
53
79
  #
54
80
  # @param incoming_webhook [Knockapi::Models::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook] Discord incoming webhook object.
81
+ #
82
+ # @param knock_tenant_id [String, nil] An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection. Dis
55
83
 
56
84
  # @see Knockapi::Models::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection#incoming_webhook
57
85
  class IncomingWebhook < Knockapi::Internal::Type::BaseModel
@@ -35,6 +35,14 @@ module Knockapi
35
35
  variant -> { Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection }
36
36
 
37
37
  class MsTeamsTokenConnection < Knockapi::Internal::Type::BaseModel
38
+ # @!attribute knock_tenant_id
39
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
40
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
41
+ # this tenant, Knock prefers this connection over untagged connections.
42
+ #
43
+ # @return [String, nil]
44
+ optional :knock_tenant_id, String, nil?: true
45
+
38
46
  # @!attribute ms_teams_channel_id
39
47
  # Microsoft Teams channel ID.
40
48
  #
@@ -59,9 +67,15 @@ module Knockapi
59
67
  # @return [String, nil]
60
68
  optional :ms_teams_user_id, String, nil?: true
61
69
 
62
- # @!method initialize(ms_teams_channel_id: nil, ms_teams_team_id: nil, ms_teams_tenant_id: nil, ms_teams_user_id: nil)
70
+ # @!method initialize(knock_tenant_id: nil, ms_teams_channel_id: nil, ms_teams_team_id: nil, ms_teams_tenant_id: nil, ms_teams_user_id: nil)
71
+ # Some parameter documentations has been truncated, see
72
+ # {Knockapi::Models::Recipients::MsTeamsChannelData::Connection::MsTeamsTokenConnection}
73
+ # for more details.
74
+ #
63
75
  # Microsoft Teams token connection.
64
76
  #
77
+ # @param knock_tenant_id [String, nil] An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection. Dis
78
+ #
65
79
  # @param ms_teams_channel_id [String, nil] Microsoft Teams channel ID.
66
80
  #
67
81
  # @param ms_teams_team_id [String, nil] Microsoft Teams team ID.
@@ -79,10 +93,24 @@ module Knockapi
79
93
  required :incoming_webhook,
80
94
  -> { Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook }
81
95
 
82
- # @!method initialize(incoming_webhook:)
96
+ # @!attribute knock_tenant_id
97
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
98
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
99
+ # this tenant, Knock prefers this connection over untagged connections.
100
+ #
101
+ # @return [String, nil]
102
+ optional :knock_tenant_id, String, nil?: true
103
+
104
+ # @!method initialize(incoming_webhook:, knock_tenant_id: nil)
105
+ # Some parameter documentations has been truncated, see
106
+ # {Knockapi::Models::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection}
107
+ # for more details.
108
+ #
83
109
  # Microsoft Teams incoming webhook connection.
84
110
  #
85
111
  # @param incoming_webhook [Knockapi::Models::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook] Microsoft Teams incoming webhook.
112
+ #
113
+ # @param knock_tenant_id [String, nil] An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection. Dis
86
114
 
87
115
  # @see Knockapi::Models::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection#incoming_webhook
88
116
  class IncomingWebhook < Knockapi::Internal::Type::BaseModel
@@ -53,13 +53,25 @@ module Knockapi
53
53
  # @return [String, nil]
54
54
  optional :channel_name, String, nil?: true
55
55
 
56
+ # @!attribute knock_tenant_id
57
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
58
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
59
+ # this tenant, Knock prefers this connection over untagged connections.
60
+ #
61
+ # @return [String, nil]
62
+ optional :knock_tenant_id, String, nil?: true
63
+
56
64
  # @!attribute user_id
57
65
  # A Slack user ID from the Slack provider.
58
66
  #
59
67
  # @return [String, nil]
60
68
  optional :user_id, String, nil?: true
61
69
 
62
- # @!method initialize(access_token: nil, channel_id: nil, channel_name: nil, user_id: nil)
70
+ # @!method initialize(access_token: nil, channel_id: nil, channel_name: nil, knock_tenant_id: nil, user_id: nil)
71
+ # Some parameter documentations has been truncated, see
72
+ # {Knockapi::Models::Recipients::SlackChannelData::Connection::SlackTokenConnection}
73
+ # for more details.
74
+ #
63
75
  # A Slack connection token.
64
76
  #
65
77
  # @param access_token [String, nil] A Slack access token.
@@ -68,6 +80,8 @@ module Knockapi
68
80
  #
69
81
  # @param channel_name [String, nil] Slack channel name.
70
82
  #
83
+ # @param knock_tenant_id [String, nil] An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection. Dis
84
+ #
71
85
  # @param user_id [String, nil] A Slack user ID from the Slack provider.
72
86
  end
73
87
 
@@ -79,10 +93,24 @@ module Knockapi
79
93
  required :incoming_webhook,
80
94
  -> { Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook }
81
95
 
82
- # @!method initialize(incoming_webhook:)
96
+ # @!attribute knock_tenant_id
97
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
98
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
99
+ # this tenant, Knock prefers this connection over untagged connections.
100
+ #
101
+ # @return [String, nil]
102
+ optional :knock_tenant_id, String, nil?: true
103
+
104
+ # @!method initialize(incoming_webhook:, knock_tenant_id: nil)
105
+ # Some parameter documentations has been truncated, see
106
+ # {Knockapi::Models::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection}
107
+ # for more details.
108
+ #
83
109
  # A Slack connection incoming webhook.
84
110
  #
85
111
  # @param incoming_webhook [Knockapi::Models::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook] A Slack connection incoming webhook.
112
+ #
113
+ # @param knock_tenant_id [String, nil] An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection. Dis
86
114
 
87
115
  # @see Knockapi::Models::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection#incoming_webhook
88
116
  class IncomingWebhook < Knockapi::Internal::Type::BaseModel
@@ -29,7 +29,7 @@ module Knockapi
29
29
  # {Knockapi::Models::UserUpdateParams} for more details.
30
30
  #
31
31
  # Create or update a user with the provided identification data. When you identify
32
- # an existing user, the system merges the properties you specific with what is
32
+ # an existing user, the system merges the properties you specify with what is
33
33
  # currently set on the user, updating only the fields included in your requests.
34
34
  #
35
35
  # @overload update(user_id, avatar: nil, channel_data: nil, created_at: nil, email: nil, locale: nil, name: nil, phone_number: nil, preferences: nil, timezone: nil, request_options: {})
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knockapi
4
- VERSION = "1.41.0"
4
+ VERSION = "1.43.0"
5
5
  end
@@ -324,6 +324,14 @@ module Knockapi
324
324
  sig { returns(String) }
325
325
  attr_accessor :version_id
326
326
 
327
+ # The branch ancestry of the step that generated the message, outermost first.
328
+ # Each segment is the branching step and the branch taken. Omitted when the step
329
+ # is not nested under a branch.
330
+ sig do
331
+ returns(T.nilable(T::Array[Knockapi::Message::Source::BranchPath]))
332
+ end
333
+ attr_accessor :branch_path
334
+
327
335
  # The step reference for the step in the workflow that generated the message.
328
336
  sig { returns(T.nilable(String)) }
329
337
  attr_accessor :step_ref
@@ -354,6 +362,10 @@ module Knockapi
354
362
  categories: T::Array[String],
355
363
  key: String,
356
364
  version_id: String,
365
+ branch_path:
366
+ T.nilable(
367
+ T::Array[Knockapi::Message::Source::BranchPath::OrHash]
368
+ ),
357
369
  step_ref: T.nilable(String),
358
370
  type: Knockapi::Message::Source::Type::OrSymbol,
359
371
  workflow_recipient_run_id: T.nilable(String),
@@ -368,6 +380,10 @@ module Knockapi
368
380
  key:,
369
381
  # The ID of the version of the workflow or guide that triggered the message.
370
382
  version_id:,
383
+ # The branch ancestry of the step that generated the message, outermost first.
384
+ # Each segment is the branching step and the branch taken. Omitted when the step
385
+ # is not nested under a branch.
386
+ branch_path: nil,
371
387
  # The step reference for the step in the workflow that generated the message.
372
388
  step_ref: nil,
373
389
  # Whether this message was generated from a workflow, broadcast, or guide.
@@ -388,6 +404,8 @@ module Knockapi
388
404
  categories: T::Array[String],
389
405
  key: String,
390
406
  version_id: String,
407
+ branch_path:
408
+ T.nilable(T::Array[Knockapi::Message::Source::BranchPath]),
391
409
  step_ref: T.nilable(String),
392
410
  type: Knockapi::Message::Source::Type::TaggedSymbol,
393
411
  workflow_recipient_run_id: T.nilable(String),
@@ -398,6 +416,53 @@ module Knockapi
398
416
  def to_hash
399
417
  end
400
418
 
419
+ class BranchPath < Knockapi::Internal::Type::BaseModel
420
+ OrHash =
421
+ T.type_alias do
422
+ T.any(
423
+ Knockapi::Message::Source::BranchPath,
424
+ Knockapi::Internal::AnyHash
425
+ )
426
+ end
427
+
428
+ # The ID of the branch taken.
429
+ sig { returns(String) }
430
+ attr_accessor :branch_id
431
+
432
+ # The reference of the branching step.
433
+ sig { returns(String) }
434
+ attr_accessor :step_ref
435
+
436
+ # The type of the branching step.
437
+ sig { returns(String) }
438
+ attr_accessor :step_type
439
+
440
+ sig do
441
+ params(
442
+ branch_id: String,
443
+ step_ref: String,
444
+ step_type: String
445
+ ).returns(T.attached_class)
446
+ end
447
+ def self.new(
448
+ # The ID of the branch taken.
449
+ branch_id:,
450
+ # The reference of the branching step.
451
+ step_ref:,
452
+ # The type of the branching step.
453
+ step_type:
454
+ )
455
+ end
456
+
457
+ sig do
458
+ override.returns(
459
+ { branch_id: String, step_ref: String, step_type: String }
460
+ )
461
+ end
462
+ def to_hash
463
+ end
464
+ end
465
+
401
466
  # Whether this message was generated from a workflow, broadcast, or guide.
402
467
  module Type
403
468
  extend Knockapi::Internal::Type::Enum
@@ -89,16 +89,14 @@ module Knockapi
89
89
  T.type_alias { T.all(Symbol, Knockapi::MessageEvent::Type) }
90
90
  OrSymbol = T.type_alias { T.any(Symbol, String) }
91
91
 
92
- MESSAGE_READ =
93
- T.let(:"message.read", Knockapi::MessageEvent::Type::TaggedSymbol)
94
- MESSAGE_SENT =
95
- T.let(:"message.sent", Knockapi::MessageEvent::Type::TaggedSymbol)
96
- MESSAGE_SEEN =
97
- T.let(:"message.seen", Knockapi::MessageEvent::Type::TaggedSymbol)
98
92
  MESSAGE_CREATED =
99
93
  T.let(:"message.created", Knockapi::MessageEvent::Type::TaggedSymbol)
100
94
  MESSAGE_QUEUED =
101
95
  T.let(:"message.queued", Knockapi::MessageEvent::Type::TaggedSymbol)
96
+ MESSAGE_SENT =
97
+ T.let(:"message.sent", Knockapi::MessageEvent::Type::TaggedSymbol)
98
+ MESSAGE_NOT_SENT =
99
+ T.let(:"message.not_sent", Knockapi::MessageEvent::Type::TaggedSymbol)
102
100
  MESSAGE_DELIVERED =
103
101
  T.let(
104
102
  :"message.delivered",
@@ -116,13 +114,24 @@ module Knockapi
116
114
  )
117
115
  MESSAGE_BOUNCED =
118
116
  T.let(:"message.bounced", Knockapi::MessageEvent::Type::TaggedSymbol)
119
- MESSAGE_NOT_SENT =
120
- T.let(:"message.not_sent", Knockapi::MessageEvent::Type::TaggedSymbol)
117
+ MESSAGE_COMPLAINT =
118
+ T.let(
119
+ :"message.complaint",
120
+ Knockapi::MessageEvent::Type::TaggedSymbol
121
+ )
122
+ MESSAGE_READ =
123
+ T.let(:"message.read", Knockapi::MessageEvent::Type::TaggedSymbol)
124
+ MESSAGE_UNREAD =
125
+ T.let(:"message.unread", Knockapi::MessageEvent::Type::TaggedSymbol)
126
+ MESSAGE_SEEN =
127
+ T.let(:"message.seen", Knockapi::MessageEvent::Type::TaggedSymbol)
128
+ MESSAGE_UNSEEN =
129
+ T.let(:"message.unseen", Knockapi::MessageEvent::Type::TaggedSymbol)
121
130
  MESSAGE_ARCHIVED =
122
131
  T.let(:"message.archived", Knockapi::MessageEvent::Type::TaggedSymbol)
123
- MESSAGE_LINK_CLICKED =
132
+ MESSAGE_UNARCHIVED =
124
133
  T.let(
125
- :"message.link_clicked",
134
+ :"message.unarchived",
126
135
  Knockapi::MessageEvent::Type::TaggedSymbol
127
136
  )
128
137
  MESSAGE_INTERACTED =
@@ -130,13 +139,9 @@ module Knockapi
130
139
  :"message.interacted",
131
140
  Knockapi::MessageEvent::Type::TaggedSymbol
132
141
  )
133
- MESSAGE_UNREAD =
134
- T.let(:"message.unread", Knockapi::MessageEvent::Type::TaggedSymbol)
135
- MESSAGE_UNSEEN =
136
- T.let(:"message.unseen", Knockapi::MessageEvent::Type::TaggedSymbol)
137
- MESSAGE_UNARCHIVED =
142
+ MESSAGE_LINK_CLICKED =
138
143
  T.let(
139
- :"message.unarchived",
144
+ :"message.link_clicked",
140
145
  Knockapi::MessageEvent::Type::TaggedSymbol
141
146
  )
142
147
 
@@ -85,15 +85,34 @@ module Knockapi
85
85
  sig { returns(String) }
86
86
  attr_accessor :channel_id
87
87
 
88
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
89
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
90
+ # this tenant, Knock prefers this connection over untagged connections.
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :knock_tenant_id
93
+
88
94
  # Discord channel connection.
89
- sig { params(channel_id: String).returns(T.attached_class) }
95
+ sig do
96
+ params(
97
+ channel_id: String,
98
+ knock_tenant_id: T.nilable(String)
99
+ ).returns(T.attached_class)
100
+ end
90
101
  def self.new(
91
102
  # Discord channel ID.
92
- channel_id:
103
+ channel_id:,
104
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
105
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
106
+ # this tenant, Knock prefers this connection over untagged connections.
107
+ knock_tenant_id: nil
93
108
  )
94
109
  end
95
110
 
96
- sig { override.returns({ channel_id: String }) }
111
+ sig do
112
+ override.returns(
113
+ { channel_id: String, knock_tenant_id: T.nilable(String) }
114
+ )
115
+ end
97
116
  def to_hash
98
117
  end
99
118
  end
@@ -123,16 +142,27 @@ module Knockapi
123
142
  end
124
143
  attr_writer :incoming_webhook
125
144
 
145
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
146
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
147
+ # this tenant, Knock prefers this connection over untagged connections.
148
+ sig { returns(T.nilable(String)) }
149
+ attr_accessor :knock_tenant_id
150
+
126
151
  # Discord incoming webhook connection.
127
152
  sig do
128
153
  params(
129
154
  incoming_webhook:
130
- Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook::OrHash
155
+ Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook::OrHash,
156
+ knock_tenant_id: T.nilable(String)
131
157
  ).returns(T.attached_class)
132
158
  end
133
159
  def self.new(
134
160
  # Discord incoming webhook object.
135
- incoming_webhook:
161
+ incoming_webhook:,
162
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
163
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
164
+ # this tenant, Knock prefers this connection over untagged connections.
165
+ knock_tenant_id: nil
136
166
  )
137
167
  end
138
168
 
@@ -140,7 +170,8 @@ module Knockapi
140
170
  override.returns(
141
171
  {
142
172
  incoming_webhook:
143
- Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook
173
+ Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook,
174
+ knock_tenant_id: T.nilable(String)
144
175
  }
145
176
  )
146
177
  end
@@ -88,6 +88,12 @@ module Knockapi
88
88
  )
89
89
  end
90
90
 
91
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
92
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
93
+ # this tenant, Knock prefers this connection over untagged connections.
94
+ sig { returns(T.nilable(String)) }
95
+ attr_accessor :knock_tenant_id
96
+
91
97
  # Microsoft Teams channel ID.
92
98
  sig { returns(T.nilable(String)) }
93
99
  attr_accessor :ms_teams_channel_id
@@ -107,6 +113,7 @@ module Knockapi
107
113
  # Microsoft Teams token connection.
108
114
  sig do
109
115
  params(
116
+ knock_tenant_id: T.nilable(String),
110
117
  ms_teams_channel_id: T.nilable(String),
111
118
  ms_teams_team_id: T.nilable(String),
112
119
  ms_teams_tenant_id: T.nilable(String),
@@ -114,6 +121,10 @@ module Knockapi
114
121
  ).returns(T.attached_class)
115
122
  end
116
123
  def self.new(
124
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
125
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
126
+ # this tenant, Knock prefers this connection over untagged connections.
127
+ knock_tenant_id: nil,
117
128
  # Microsoft Teams channel ID.
118
129
  ms_teams_channel_id: nil,
119
130
  # Microsoft Teams team ID.
@@ -128,6 +139,7 @@ module Knockapi
128
139
  sig do
129
140
  override.returns(
130
141
  {
142
+ knock_tenant_id: T.nilable(String),
131
143
  ms_teams_channel_id: T.nilable(String),
132
144
  ms_teams_team_id: T.nilable(String),
133
145
  ms_teams_tenant_id: T.nilable(String),
@@ -164,16 +176,27 @@ module Knockapi
164
176
  end
165
177
  attr_writer :incoming_webhook
166
178
 
179
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
180
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
181
+ # this tenant, Knock prefers this connection over untagged connections.
182
+ sig { returns(T.nilable(String)) }
183
+ attr_accessor :knock_tenant_id
184
+
167
185
  # Microsoft Teams incoming webhook connection.
168
186
  sig do
169
187
  params(
170
188
  incoming_webhook:
171
- Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook::OrHash
189
+ Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook::OrHash,
190
+ knock_tenant_id: T.nilable(String)
172
191
  ).returns(T.attached_class)
173
192
  end
174
193
  def self.new(
175
194
  # Microsoft Teams incoming webhook.
176
- incoming_webhook:
195
+ incoming_webhook:,
196
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
197
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
198
+ # this tenant, Knock prefers this connection over untagged connections.
199
+ knock_tenant_id: nil
177
200
  )
178
201
  end
179
202
 
@@ -181,7 +204,8 @@ module Knockapi
181
204
  override.returns(
182
205
  {
183
206
  incoming_webhook:
184
- Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook
207
+ Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook,
208
+ knock_tenant_id: T.nilable(String)
185
209
  }
186
210
  )
187
211
  end
@@ -111,6 +111,12 @@ module Knockapi
111
111
  sig { returns(T.nilable(String)) }
112
112
  attr_accessor :channel_name
113
113
 
114
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
115
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
116
+ # this tenant, Knock prefers this connection over untagged connections.
117
+ sig { returns(T.nilable(String)) }
118
+ attr_accessor :knock_tenant_id
119
+
114
120
  # A Slack user ID from the Slack provider.
115
121
  sig { returns(T.nilable(String)) }
116
122
  attr_accessor :user_id
@@ -121,6 +127,7 @@ module Knockapi
121
127
  access_token: T.nilable(String),
122
128
  channel_id: T.nilable(String),
123
129
  channel_name: T.nilable(String),
130
+ knock_tenant_id: T.nilable(String),
124
131
  user_id: T.nilable(String)
125
132
  ).returns(T.attached_class)
126
133
  end
@@ -131,6 +138,10 @@ module Knockapi
131
138
  channel_id: nil,
132
139
  # Slack channel name.
133
140
  channel_name: nil,
141
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
142
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
143
+ # this tenant, Knock prefers this connection over untagged connections.
144
+ knock_tenant_id: nil,
134
145
  # A Slack user ID from the Slack provider.
135
146
  user_id: nil
136
147
  )
@@ -142,6 +153,7 @@ module Knockapi
142
153
  access_token: T.nilable(String),
143
154
  channel_id: T.nilable(String),
144
155
  channel_name: T.nilable(String),
156
+ knock_tenant_id: T.nilable(String),
145
157
  user_id: T.nilable(String)
146
158
  }
147
159
  )
@@ -175,16 +187,27 @@ module Knockapi
175
187
  end
176
188
  attr_writer :incoming_webhook
177
189
 
190
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
191
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
192
+ # this tenant, Knock prefers this connection over untagged connections.
193
+ sig { returns(T.nilable(String)) }
194
+ attr_accessor :knock_tenant_id
195
+
178
196
  # A Slack connection incoming webhook.
179
197
  sig do
180
198
  params(
181
199
  incoming_webhook:
182
- Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook::OrHash
200
+ Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook::OrHash,
201
+ knock_tenant_id: T.nilable(String)
183
202
  ).returns(T.attached_class)
184
203
  end
185
204
  def self.new(
186
205
  # A Slack connection incoming webhook.
187
- incoming_webhook:
206
+ incoming_webhook:,
207
+ # An optional Knock tenant ID (`knock_tenant_id`) that scopes this connection.
208
+ # Distinct from provider-specific tenant IDs. When a workflow is triggered with
209
+ # this tenant, Knock prefers this connection over untagged connections.
210
+ knock_tenant_id: nil
188
211
  )
189
212
  end
190
213
 
@@ -192,7 +215,8 @@ module Knockapi
192
215
  override.returns(
193
216
  {
194
217
  incoming_webhook:
195
- Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook
218
+ Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook,
219
+ knock_tenant_id: T.nilable(String)
196
220
  }
197
221
  )
198
222
  end
@@ -26,7 +26,7 @@ module Knockapi
26
26
  attr_reader :preference_center
27
27
 
28
28
  # Create or update a user with the provided identification data. When you identify
29
- # an existing user, the system merges the properties you specific with what is
29
+ # an existing user, the system merges the properties you specify with what is
30
30
  # currently set on the user, updating only the fields included in your requests.
31
31
  sig do
32
32
  params(
@@ -153,6 +153,7 @@ module Knockapi
153
153
  categories: ::Array[String],
154
154
  key: String,
155
155
  version_id: String,
156
+ branch_path: ::Array[Knockapi::Message::Source::BranchPath]?,
156
157
  step_ref: String?,
157
158
  type: Knockapi::Models::Message::Source::type_,
158
159
  workflow_recipient_run_id: String?,
@@ -168,6 +169,8 @@ module Knockapi
168
169
 
169
170
  attr_accessor version_id: String
170
171
 
172
+ attr_accessor branch_path: ::Array[Knockapi::Message::Source::BranchPath]?
173
+
171
174
  attr_accessor step_ref: String?
172
175
 
173
176
  attr_reader type: Knockapi::Models::Message::Source::type_?
@@ -185,6 +188,7 @@ module Knockapi
185
188
  categories: ::Array[String],
186
189
  key: String,
187
190
  version_id: String,
191
+ ?branch_path: ::Array[Knockapi::Message::Source::BranchPath]?,
188
192
  ?step_ref: String?,
189
193
  ?type: Knockapi::Models::Message::Source::type_,
190
194
  ?workflow_recipient_run_id: String?,
@@ -196,12 +200,36 @@ module Knockapi
196
200
  categories: ::Array[String],
197
201
  key: String,
198
202
  version_id: String,
203
+ branch_path: ::Array[Knockapi::Message::Source::BranchPath]?,
199
204
  step_ref: String?,
200
205
  type: Knockapi::Models::Message::Source::type_,
201
206
  workflow_recipient_run_id: String?,
202
207
  workflow_run_id: String?
203
208
  }
204
209
 
210
+ type branch_path =
211
+ { branch_id: String, step_ref: String, step_type: String }
212
+
213
+ class BranchPath < Knockapi::Internal::Type::BaseModel
214
+ attr_accessor branch_id: String
215
+
216
+ attr_accessor step_ref: String
217
+
218
+ attr_accessor step_type: String
219
+
220
+ def initialize: (
221
+ branch_id: String,
222
+ step_ref: String,
223
+ step_type: String
224
+ ) -> void
225
+
226
+ def to_hash: -> {
227
+ branch_id: String,
228
+ step_ref: String,
229
+ step_type: String
230
+ }
231
+ end
232
+
205
233
  type type_ = :broadcast | :workflow | :guide
206
234
 
207
235
  module Type
@@ -42,42 +42,44 @@ module Knockapi
42
42
  }
43
43
 
44
44
  type type_ =
45
- :"message.read"
46
- | :"message.sent"
47
- | :"message.seen"
48
- | :"message.created"
45
+ :"message.created"
49
46
  | :"message.queued"
47
+ | :"message.sent"
48
+ | :"message.not_sent"
50
49
  | :"message.delivered"
51
50
  | :"message.delivery_attempted"
52
51
  | :"message.undelivered"
53
52
  | :"message.bounced"
54
- | :"message.not_sent"
55
- | :"message.archived"
56
- | :"message.link_clicked"
57
- | :"message.interacted"
53
+ | :"message.complaint"
54
+ | :"message.read"
58
55
  | :"message.unread"
56
+ | :"message.seen"
59
57
  | :"message.unseen"
58
+ | :"message.archived"
60
59
  | :"message.unarchived"
60
+ | :"message.interacted"
61
+ | :"message.link_clicked"
61
62
 
62
63
  module Type
63
64
  extend Knockapi::Internal::Type::Enum
64
65
 
65
- MESSAGE_READ: :"message.read"
66
- MESSAGE_SENT: :"message.sent"
67
- MESSAGE_SEEN: :"message.seen"
68
66
  MESSAGE_CREATED: :"message.created"
69
67
  MESSAGE_QUEUED: :"message.queued"
68
+ MESSAGE_SENT: :"message.sent"
69
+ MESSAGE_NOT_SENT: :"message.not_sent"
70
70
  MESSAGE_DELIVERED: :"message.delivered"
71
71
  MESSAGE_DELIVERY_ATTEMPTED: :"message.delivery_attempted"
72
72
  MESSAGE_UNDELIVERED: :"message.undelivered"
73
73
  MESSAGE_BOUNCED: :"message.bounced"
74
- MESSAGE_NOT_SENT: :"message.not_sent"
75
- MESSAGE_ARCHIVED: :"message.archived"
76
- MESSAGE_LINK_CLICKED: :"message.link_clicked"
77
- MESSAGE_INTERACTED: :"message.interacted"
74
+ MESSAGE_COMPLAINT: :"message.complaint"
75
+ MESSAGE_READ: :"message.read"
78
76
  MESSAGE_UNREAD: :"message.unread"
77
+ MESSAGE_SEEN: :"message.seen"
79
78
  MESSAGE_UNSEEN: :"message.unseen"
79
+ MESSAGE_ARCHIVED: :"message.archived"
80
80
  MESSAGE_UNARCHIVED: :"message.unarchived"
81
+ MESSAGE_INTERACTED: :"message.interacted"
82
+ MESSAGE_LINK_CLICKED: :"message.link_clicked"
81
83
 
82
84
  def self?.values: -> ::Array[Knockapi::Models::MessageEvent::type_]
83
85
  end
@@ -24,30 +24,41 @@ module Knockapi
24
24
  module Connection
25
25
  extend Knockapi::Internal::Type::Union
26
26
 
27
- type discord_channel_connection = { channel_id: String }
27
+ type discord_channel_connection =
28
+ { channel_id: String, knock_tenant_id: String? }
28
29
 
29
30
  class DiscordChannelConnection < Knockapi::Internal::Type::BaseModel
30
31
  attr_accessor channel_id: String
31
32
 
32
- def initialize: (channel_id: String) -> void
33
+ attr_accessor knock_tenant_id: String?
33
34
 
34
- def to_hash: -> { channel_id: String }
35
+ def initialize: (
36
+ channel_id: String,
37
+ ?knock_tenant_id: String?
38
+ ) -> void
39
+
40
+ def to_hash: -> { channel_id: String, knock_tenant_id: String? }
35
41
  end
36
42
 
37
43
  type discord_incoming_webhook_connection =
38
44
  {
39
- incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook
45
+ incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook,
46
+ knock_tenant_id: String?
40
47
  }
41
48
 
42
49
  class DiscordIncomingWebhookConnection < Knockapi::Internal::Type::BaseModel
43
50
  attr_accessor incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook
44
51
 
52
+ attr_accessor knock_tenant_id: String?
53
+
45
54
  def initialize: (
46
- incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook
55
+ incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook,
56
+ ?knock_tenant_id: String?
47
57
  ) -> void
48
58
 
49
59
  def to_hash: -> {
50
- incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook
60
+ incoming_webhook: Knockapi::Recipients::DiscordChannelData::Connection::DiscordIncomingWebhookConnection::IncomingWebhook,
61
+ knock_tenant_id: String?
51
62
  }
52
63
 
53
64
  type incoming_webhook = { url: String }
@@ -31,6 +31,7 @@ module Knockapi
31
31
 
32
32
  type ms_teams_token_connection =
33
33
  {
34
+ knock_tenant_id: String?,
34
35
  ms_teams_channel_id: String?,
35
36
  ms_teams_team_id: String?,
36
37
  ms_teams_tenant_id: String?,
@@ -38,6 +39,8 @@ module Knockapi
38
39
  }
39
40
 
40
41
  class MsTeamsTokenConnection < Knockapi::Internal::Type::BaseModel
42
+ attr_accessor knock_tenant_id: String?
43
+
41
44
  attr_accessor ms_teams_channel_id: String?
42
45
 
43
46
  attr_accessor ms_teams_team_id: String?
@@ -47,6 +50,7 @@ module Knockapi
47
50
  attr_accessor ms_teams_user_id: String?
48
51
 
49
52
  def initialize: (
53
+ ?knock_tenant_id: String?,
50
54
  ?ms_teams_channel_id: String?,
51
55
  ?ms_teams_team_id: String?,
52
56
  ?ms_teams_tenant_id: String?,
@@ -54,6 +58,7 @@ module Knockapi
54
58
  ) -> void
55
59
 
56
60
  def to_hash: -> {
61
+ knock_tenant_id: String?,
57
62
  ms_teams_channel_id: String?,
58
63
  ms_teams_team_id: String?,
59
64
  ms_teams_tenant_id: String?,
@@ -63,18 +68,23 @@ module Knockapi
63
68
 
64
69
  type ms_teams_incoming_webhook_connection =
65
70
  {
66
- incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook
71
+ incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook,
72
+ knock_tenant_id: String?
67
73
  }
68
74
 
69
75
  class MsTeamsIncomingWebhookConnection < Knockapi::Internal::Type::BaseModel
70
76
  attr_accessor incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook
71
77
 
78
+ attr_accessor knock_tenant_id: String?
79
+
72
80
  def initialize: (
73
- incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook
81
+ incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook,
82
+ ?knock_tenant_id: String?
74
83
  ) -> void
75
84
 
76
85
  def to_hash: -> {
77
- incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook
86
+ incoming_webhook: Knockapi::Recipients::MsTeamsChannelData::Connection::MsTeamsIncomingWebhookConnection::IncomingWebhook,
87
+ knock_tenant_id: String?
78
88
  }
79
89
 
80
90
  type incoming_webhook = { url: String }
@@ -34,6 +34,7 @@ module Knockapi
34
34
  access_token: String?,
35
35
  channel_id: String?,
36
36
  channel_name: String?,
37
+ knock_tenant_id: String?,
37
38
  user_id: String?
38
39
  }
39
40
 
@@ -44,12 +45,15 @@ module Knockapi
44
45
 
45
46
  attr_accessor channel_name: String?
46
47
 
48
+ attr_accessor knock_tenant_id: String?
49
+
47
50
  attr_accessor user_id: String?
48
51
 
49
52
  def initialize: (
50
53
  ?access_token: String?,
51
54
  ?channel_id: String?,
52
55
  ?channel_name: String?,
56
+ ?knock_tenant_id: String?,
53
57
  ?user_id: String?
54
58
  ) -> void
55
59
 
@@ -57,24 +61,30 @@ module Knockapi
57
61
  access_token: String?,
58
62
  channel_id: String?,
59
63
  channel_name: String?,
64
+ knock_tenant_id: String?,
60
65
  user_id: String?
61
66
  }
62
67
  end
63
68
 
64
69
  type slack_incoming_webhook_connection =
65
70
  {
66
- incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook
71
+ incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook,
72
+ knock_tenant_id: String?
67
73
  }
68
74
 
69
75
  class SlackIncomingWebhookConnection < Knockapi::Internal::Type::BaseModel
70
76
  attr_accessor incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook
71
77
 
78
+ attr_accessor knock_tenant_id: String?
79
+
72
80
  def initialize: (
73
- incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook
81
+ incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook,
82
+ ?knock_tenant_id: String?
74
83
  ) -> void
75
84
 
76
85
  def to_hash: -> {
77
- incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook
86
+ incoming_webhook: Knockapi::Recipients::SlackChannelData::Connection::SlackIncomingWebhookConnection::IncomingWebhook,
87
+ knock_tenant_id: String?
78
88
  }
79
89
 
80
90
  type incoming_webhook = { url: String }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knockapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.41.0
4
+ version: 1.43.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Knock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-10 00:00:00.000000000 Z
11
+ date: 2026-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi