dub 0.12.9 → 0.12.10

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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +8 -6
  3. data/lib/open_api_sdk/models/operations/createlink_requestbody.rbi +2 -2
  4. data/lib/open_api_sdk/models/operations/data.rb +8 -6
  5. data/lib/open_api_sdk/models/operations/data.rbi +2 -2
  6. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_link.rb +8 -6
  7. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_link.rbi +2 -2
  8. data/lib/open_api_sdk/models/operations/listevents_responsebody_link.rb +8 -6
  9. data/lib/open_api_sdk/models/operations/listevents_responsebody_link.rbi +2 -2
  10. data/lib/open_api_sdk/models/operations/requestbody.rb +8 -6
  11. data/lib/open_api_sdk/models/operations/requestbody.rbi +2 -2
  12. data/lib/open_api_sdk/models/operations/responsebody_link.rb +8 -6
  13. data/lib/open_api_sdk/models/operations/responsebody_link.rbi +2 -2
  14. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +2 -2
  15. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +8 -6
  16. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rbi +2 -2
  17. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +8 -6
  18. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rbi +2 -2
  19. data/lib/open_api_sdk/models/shared/data.rb +8 -6
  20. data/lib/open_api_sdk/models/shared/data.rbi +2 -2
  21. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rb +8 -6
  22. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rbi +2 -2
  23. data/lib/open_api_sdk/models/shared/link.rb +8 -6
  24. data/lib/open_api_sdk/models/shared/link.rbi +2 -2
  25. data/lib/open_api_sdk/models/shared/linkschema.rb +8 -6
  26. data/lib/open_api_sdk/models/shared/linkschema.rbi +2 -2
  27. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rb +8 -6
  28. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rbi +2 -2
  29. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  30. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52ec7aff7d326a9d2624a428701752345bc1a22352fb411bd2e8640dce03605b
4
- data.tar.gz: 057b42c636e7f11624898bc88489e24635a2561066467aff0676f2d4221f6e00
3
+ metadata.gz: b801a270174549596ce49021b3a58402b43e0cd0cf19600781b9247df18d5b6b
4
+ data.tar.gz: 7dd3f2c4c9b6b78b5f81c9fa538bd9c513f5ebc137a4b7e04086fe6d5b3852ab
5
5
  SHA512:
6
- metadata.gz: a4421c671736bc3a1dc9fa5f3a6f20646a1649fbc79afae815969ea595489f2466910a09ddd23c745d1dcb8c8ced3dab7fc8031a3abc063a10722e63fb4409e9
7
- data.tar.gz: 0b60adb13adfb321bc0ccdce781176e0b7e5ec76015082757e9cb0b217487adfc484262ef4c354537ca72842e445263255f4339140e15b4679e4ba75f26b7402
6
+ metadata.gz: 7b55ef34df4302ca21e20f1f92602d53cb895c4197b3deaa0c9eb5acd9e769bc46d2b4159c33a2fe6f0a6edba50da46c03934abd3d2610dadd757b57ad66987a
7
+ data.tar.gz: c48f8bd5032c886091555193394922658d4ef5677b86a126132a2d287ff576868836892d9d9da47c12d5732e2085af888d9065e22fbec0fde81285efe1ca0ae4
@@ -84,8 +84,6 @@ module OpenApiSDK
84
84
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
85
85
  # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
86
86
  field :ref, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
87
- # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
88
- field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
89
87
  # An array of A/B test URLs and the percentage of traffic to send to each URL.
90
88
  field :test_variants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::TestVariants)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
91
89
  # The date and time when the tests started.
@@ -96,9 +94,13 @@ module OpenApiSDK
96
94
  #
97
95
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
98
96
  field :tag_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
97
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
98
+ #
99
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
100
+ field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
99
101
 
100
- sig { params(url: ::String, domain: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), prefix: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String]), test_variants: T.nilable(T::Array[Models::Operations::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String)).void }
101
- def initialize(url:, domain: nil, key: nil, key_length: nil, prefix: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, webhook_ids: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil)
102
+ sig { params(url: ::String, domain: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), prefix: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
103
+ def initialize(url:, domain: nil, key: nil, key_length: nil, prefix: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil, webhook_ids: nil)
102
104
  @url = url
103
105
  @domain = domain
104
106
  @key = key
@@ -134,11 +136,11 @@ module OpenApiSDK
134
136
  @utm_term = utm_term
135
137
  @utm_content = utm_content
136
138
  @ref = ref
137
- @webhook_ids = webhook_ids
138
139
  @test_variants = test_variants
139
140
  @test_started_at = test_started_at
140
141
  @test_completed_at = test_completed_at
141
142
  @tag_id = tag_id
143
+ @webhook_ids = webhook_ids
142
144
  end
143
145
 
144
146
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -179,11 +181,11 @@ module OpenApiSDK
179
181
  return false unless @utm_term == other.utm_term
180
182
  return false unless @utm_content == other.utm_content
181
183
  return false unless @ref == other.ref
182
- return false unless @webhook_ids == other.webhook_ids
183
184
  return false unless @test_variants == other.test_variants
184
185
  return false unless @test_started_at == other.test_started_at
185
186
  return false unless @test_completed_at == other.test_completed_at
186
187
  return false unless @tag_id == other.tag_id
188
+ return false unless @webhook_ids == other.webhook_ids
187
189
  true
188
190
  end
189
191
  end
@@ -78,8 +78,6 @@ class OpenApiSDK::Models::Operations::CreateLinkRequestBody
78
78
  def utm_content=(str_); end
79
79
  def ref(); end
80
80
  def ref=(str_); end
81
- def webhook_ids(); end
82
- def webhook_ids=(str_); end
83
81
  def test_variants(); end
84
82
  def test_variants=(str_); end
85
83
  def test_started_at(); end
@@ -88,4 +86,6 @@ class OpenApiSDK::Models::Operations::CreateLinkRequestBody
88
86
  def test_completed_at=(str_); end
89
87
  def tag_id(); end
90
88
  def tag_id=(str_); end
89
+ def webhook_ids(); end
90
+ def webhook_ids=(str_); end
91
91
  end
@@ -74,8 +74,6 @@ module OpenApiSDK
74
74
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
75
75
  # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
76
76
  field :ref, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
77
- # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
78
- field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
79
77
  # An array of A/B test URLs and the percentage of traffic to send to each URL.
80
78
  field :test_variants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::BulkUpdateLinksTestVariants)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
81
79
  # The date and time when the tests started.
@@ -86,9 +84,13 @@ module OpenApiSDK
86
84
  #
87
85
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
88
86
  field :tag_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
87
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
88
+ #
89
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
90
+ field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
89
91
 
90
- sig { params(url: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String]), test_variants: T.nilable(T::Array[Models::Operations::BulkUpdateLinksTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String)).void }
91
- def initialize(url: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, webhook_ids: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil)
92
+ sig { params(url: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::BulkUpdateLinksTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
93
+ def initialize(url: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil, webhook_ids: nil)
92
94
  @url = url
93
95
  @track_conversion = track_conversion
94
96
  @archived = archived
@@ -119,11 +121,11 @@ module OpenApiSDK
119
121
  @utm_term = utm_term
120
122
  @utm_content = utm_content
121
123
  @ref = ref
122
- @webhook_ids = webhook_ids
123
124
  @test_variants = test_variants
124
125
  @test_started_at = test_started_at
125
126
  @test_completed_at = test_completed_at
126
127
  @tag_id = tag_id
128
+ @webhook_ids = webhook_ids
127
129
  end
128
130
 
129
131
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -159,11 +161,11 @@ module OpenApiSDK
159
161
  return false unless @utm_term == other.utm_term
160
162
  return false unless @utm_content == other.utm_content
161
163
  return false unless @ref == other.ref
162
- return false unless @webhook_ids == other.webhook_ids
163
164
  return false unless @test_variants == other.test_variants
164
165
  return false unless @test_started_at == other.test_started_at
165
166
  return false unless @test_completed_at == other.test_completed_at
166
167
  return false unless @tag_id == other.tag_id
168
+ return false unless @webhook_ids == other.webhook_ids
167
169
  true
168
170
  end
169
171
  end
@@ -68,8 +68,6 @@ class OpenApiSDK::Models::Operations::Data
68
68
  def utm_content=(str_); end
69
69
  def ref(); end
70
70
  def ref=(str_); end
71
- def webhook_ids(); end
72
- def webhook_ids=(str_); end
73
71
  def test_variants(); end
74
72
  def test_variants=(str_); end
75
73
  def test_started_at(); end
@@ -78,4 +76,6 @@ class OpenApiSDK::Models::Operations::Data
78
76
  def test_completed_at=(str_); end
79
77
  def tag_id(); end
80
78
  def tag_id=(str_); end
79
+ def webhook_ids(); end
80
+ def webhook_ids=(str_); end
81
81
  end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::ResponseBodyTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::ResponseBodyTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Operations::ListEventsResponseBodyEventsLink
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Operations::ListEventsResponseBodyEventsLink
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::ListEventsResponseBodyEventsTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::ListEventsResponseBodyEventsTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Operations::ListEventsResponseBodyLink
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Operations::ListEventsResponseBodyLink
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -84,8 +84,6 @@ module OpenApiSDK
84
84
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
85
85
  # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
86
86
  field :ref, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
87
- # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
88
- field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
89
87
  # An array of A/B test URLs and the percentage of traffic to send to each URL.
90
88
  field :test_variants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::BulkCreateLinksTestVariants)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
91
89
  # The date and time when the tests started.
@@ -96,9 +94,13 @@ module OpenApiSDK
96
94
  #
97
95
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
98
96
  field :tag_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
97
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
98
+ #
99
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
100
+ field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
99
101
 
100
- sig { params(url: ::String, domain: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), prefix: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String]), test_variants: T.nilable(T::Array[Models::Operations::BulkCreateLinksTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String)).void }
101
- def initialize(url:, domain: nil, key: nil, key_length: nil, prefix: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, webhook_ids: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil)
102
+ sig { params(url: ::String, domain: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), prefix: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::BulkCreateLinksTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
103
+ def initialize(url:, domain: nil, key: nil, key_length: nil, prefix: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil, webhook_ids: nil)
102
104
  @url = url
103
105
  @domain = domain
104
106
  @key = key
@@ -134,11 +136,11 @@ module OpenApiSDK
134
136
  @utm_term = utm_term
135
137
  @utm_content = utm_content
136
138
  @ref = ref
137
- @webhook_ids = webhook_ids
138
139
  @test_variants = test_variants
139
140
  @test_started_at = test_started_at
140
141
  @test_completed_at = test_completed_at
141
142
  @tag_id = tag_id
143
+ @webhook_ids = webhook_ids
142
144
  end
143
145
 
144
146
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -179,11 +181,11 @@ module OpenApiSDK
179
181
  return false unless @utm_term == other.utm_term
180
182
  return false unless @utm_content == other.utm_content
181
183
  return false unless @ref == other.ref
182
- return false unless @webhook_ids == other.webhook_ids
183
184
  return false unless @test_variants == other.test_variants
184
185
  return false unless @test_started_at == other.test_started_at
185
186
  return false unless @test_completed_at == other.test_completed_at
186
187
  return false unless @tag_id == other.tag_id
188
+ return false unless @webhook_ids == other.webhook_ids
187
189
  true
188
190
  end
189
191
  end
@@ -78,8 +78,6 @@ class OpenApiSDK::Models::Operations::RequestBody
78
78
  def utm_content=(str_); end
79
79
  def ref(); end
80
80
  def ref=(str_); end
81
- def webhook_ids(); end
82
- def webhook_ids=(str_); end
83
81
  def test_variants(); end
84
82
  def test_variants=(str_); end
85
83
  def test_started_at(); end
@@ -88,4 +86,6 @@ class OpenApiSDK::Models::Operations::RequestBody
88
86
  def test_completed_at=(str_); end
89
87
  def tag_id(); end
90
88
  def tag_id=(str_); end
89
+ def webhook_ids(); end
90
+ def webhook_ids=(str_); end
91
91
  end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::ListEventsResponseBodyTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::ListEventsResponseBodyTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Operations::ResponseBodyLink
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Operations::ResponseBodyLink
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -21,7 +21,7 @@ module OpenApiSDK
21
21
  # The mode to use for tracking the lead event. `async` will not block the request; `wait` will block the request until the lead event is fully recorded in Dub; `deferred` will defer the lead event creation to a subsequent request.
22
22
  field :mode, Crystalline::Nilable.new(Models::Operations::Mode), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('mode'), 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::Mode, true) } }
23
23
  # The numerical value associated with this lead event (e.g., number of provisioned seats in a free trial). If defined as N, the lead event will be tracked N times.
24
- field :event_quantity, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventQuantity') } }
24
+ field :event_quantity, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventQuantity') } }
25
25
  # Additional metadata to be stored with the lead event. Max 10,000 characters.
26
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }
27
27
  # The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).
@@ -31,7 +31,7 @@ module OpenApiSDK
31
31
  # The avatar URL of the customer.
32
32
  field :customer_avatar, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerAvatar') } }
33
33
 
34
- sig { params(click_id: ::String, event_name: ::String, customer_external_id: ::String, mode: T.nilable(Models::Operations::Mode), event_quantity: T.nilable(::Float), metadata: T.nilable(T::Hash[Symbol, ::Object]), customer_name: T.nilable(::String), customer_email: T.nilable(::String), customer_avatar: T.nilable(::String)).void }
34
+ sig { params(click_id: ::String, event_name: ::String, customer_external_id: ::String, mode: T.nilable(Models::Operations::Mode), event_quantity: T.nilable(::Integer), metadata: T.nilable(T::Hash[Symbol, ::Object]), customer_name: T.nilable(::String), customer_email: T.nilable(::String), customer_avatar: T.nilable(::String)).void }
35
35
  def initialize(click_id:, event_name:, customer_external_id:, mode: Models::Operations::Mode::ASYNC, event_quantity: nil, metadata: nil, customer_name: nil, customer_email: nil, customer_avatar: nil)
36
36
  @click_id = click_id
37
37
  @event_name = event_name
@@ -80,8 +80,6 @@ module OpenApiSDK
80
80
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
81
81
  # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
82
82
  field :ref, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
83
- # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
84
- field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
85
83
  # An array of A/B test URLs and the percentage of traffic to send to each URL.
86
84
  field :test_variants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::UpdateLinkTestVariants)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
87
85
  # The date and time when the tests started.
@@ -92,9 +90,13 @@ module OpenApiSDK
92
90
  #
93
91
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
94
92
  field :tag_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
93
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
94
+ #
95
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
96
+ field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
95
97
 
96
- sig { params(url: T.nilable(::String), domain: T.nilable(::String), key: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String]), test_variants: T.nilable(T::Array[Models::Operations::UpdateLinkTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String)).void }
97
- def initialize(url: nil, domain: nil, key: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, webhook_ids: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil)
98
+ sig { params(url: T.nilable(::String), domain: T.nilable(::String), key: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::UpdateLinkTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
99
+ def initialize(url: nil, domain: nil, key: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil, webhook_ids: nil)
98
100
  @url = url
99
101
  @domain = domain
100
102
  @key = key
@@ -128,11 +130,11 @@ module OpenApiSDK
128
130
  @utm_term = utm_term
129
131
  @utm_content = utm_content
130
132
  @ref = ref
131
- @webhook_ids = webhook_ids
132
133
  @test_variants = test_variants
133
134
  @test_started_at = test_started_at
134
135
  @test_completed_at = test_completed_at
135
136
  @tag_id = tag_id
137
+ @webhook_ids = webhook_ids
136
138
  end
137
139
 
138
140
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -171,11 +173,11 @@ module OpenApiSDK
171
173
  return false unless @utm_term == other.utm_term
172
174
  return false unless @utm_content == other.utm_content
173
175
  return false unless @ref == other.ref
174
- return false unless @webhook_ids == other.webhook_ids
175
176
  return false unless @test_variants == other.test_variants
176
177
  return false unless @test_started_at == other.test_started_at
177
178
  return false unless @test_completed_at == other.test_completed_at
178
179
  return false unless @tag_id == other.tag_id
180
+ return false unless @webhook_ids == other.webhook_ids
179
181
  true
180
182
  end
181
183
  end
@@ -74,8 +74,6 @@ class OpenApiSDK::Models::Operations::UpdateLinkRequestBody
74
74
  def utm_content=(str_); end
75
75
  def ref(); end
76
76
  def ref=(str_); end
77
- def webhook_ids(); end
78
- def webhook_ids=(str_); end
79
77
  def test_variants(); end
80
78
  def test_variants=(str_); end
81
79
  def test_started_at(); end
@@ -84,4 +82,6 @@ class OpenApiSDK::Models::Operations::UpdateLinkRequestBody
84
82
  def test_completed_at=(str_); end
85
83
  def tag_id(); end
86
84
  def tag_id=(str_); end
85
+ def webhook_ids(); end
86
+ def webhook_ids=(str_); end
87
87
  end
@@ -84,8 +84,6 @@ module OpenApiSDK
84
84
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
85
85
  # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
86
86
  field :ref, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
87
- # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
88
- field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
89
87
  # An array of A/B test URLs and the percentage of traffic to send to each URL.
90
88
  field :test_variants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::UpsertLinkTestVariants)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
91
89
  # The date and time when the tests started.
@@ -96,9 +94,13 @@ module OpenApiSDK
96
94
  #
97
95
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
98
96
  field :tag_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
97
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
98
+ #
99
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
100
+ field :webhook_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
99
101
 
100
- sig { params(url: ::String, domain: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), prefix: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String]), test_variants: T.nilable(T::Array[Models::Operations::UpsertLinkTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String)).void }
101
- def initialize(url:, domain: nil, key: nil, key_length: nil, prefix: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, webhook_ids: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil)
102
+ sig { params(url: ::String, domain: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), prefix: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), tag_ids: T.nilable(T.any(::String, T::Array[::String])), tag_names: T.nilable(T.any(::String, T::Array[::String])), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), folder_id: T.nilable(::String), comments: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Operations::UpsertLinkTestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), tag_id: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
103
+ def initialize(url:, domain: nil, key: nil, key_length: nil, prefix: nil, track_conversion: nil, archived: nil, tag_ids: nil, tag_names: nil, proxy: nil, rewrite: nil, do_index: nil, public_stats: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, folder_id: nil, comments: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, test_variants: nil, test_started_at: nil, test_completed_at: nil, tag_id: nil, webhook_ids: nil)
102
104
  @url = url
103
105
  @domain = domain
104
106
  @key = key
@@ -134,11 +136,11 @@ module OpenApiSDK
134
136
  @utm_term = utm_term
135
137
  @utm_content = utm_content
136
138
  @ref = ref
137
- @webhook_ids = webhook_ids
138
139
  @test_variants = test_variants
139
140
  @test_started_at = test_started_at
140
141
  @test_completed_at = test_completed_at
141
142
  @tag_id = tag_id
143
+ @webhook_ids = webhook_ids
142
144
  end
143
145
 
144
146
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -179,11 +181,11 @@ module OpenApiSDK
179
181
  return false unless @utm_term == other.utm_term
180
182
  return false unless @utm_content == other.utm_content
181
183
  return false unless @ref == other.ref
182
- return false unless @webhook_ids == other.webhook_ids
183
184
  return false unless @test_variants == other.test_variants
184
185
  return false unless @test_started_at == other.test_started_at
185
186
  return false unless @test_completed_at == other.test_completed_at
186
187
  return false unless @tag_id == other.tag_id
188
+ return false unless @webhook_ids == other.webhook_ids
187
189
  true
188
190
  end
189
191
  end
@@ -78,8 +78,6 @@ class OpenApiSDK::Models::Operations::UpsertLinkRequestBody
78
78
  def utm_content=(str_); end
79
79
  def ref(); end
80
80
  def ref=(str_); end
81
- def webhook_ids(); end
82
- def webhook_ids=(str_); end
83
81
  def test_variants(); end
84
82
  def test_variants=(str_); end
85
83
  def test_started_at(); end
@@ -88,4 +86,6 @@ class OpenApiSDK::Models::Operations::UpsertLinkRequestBody
88
86
  def test_completed_at=(str_); end
89
87
  def tag_id(); end
90
88
  def tag_id=(str_); end
89
+ def webhook_ids(); end
90
+ def webhook_ids=(str_); end
91
91
  end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkWebhookEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkWebhookEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Shared::Data
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Shared::Data
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Shared::LeadCreatedEventLink
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Shared::LeadCreatedEventLink
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkClickedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkClickedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Shared::Link
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Shared::Link
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -20,8 +20,6 @@ module OpenApiSDK
20
20
  field :key, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key'), required: true } }
21
21
  # The destination URL of the short link.
22
22
  field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
23
- # The IDs of the webhooks that the short link is associated with.
24
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
25
23
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
26
24
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
27
25
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -36,6 +34,10 @@ module OpenApiSDK
36
34
  #
37
35
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
38
36
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
37
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
38
+ #
39
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
40
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
39
41
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
40
42
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
41
43
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,19 +121,19 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), disabled_at: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), last_clicked: T.nilable(::String), tag_id: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), test_variants: T.nilable(T::Array[Models::Shared::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, webhook_ids:, short_link:, qr_code:, workspace_id:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expires_at: nil, expired_url: nil, disabled_at: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, last_clicked: nil, tag_id: nil, track_conversion: false, archived: false, proxy: false, rewrite: false, do_index: false, public_stats: false, test_variants: nil, test_started_at: nil, test_completed_at: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, short_link: ::String, qr_code: ::String, workspace_id: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), disabled_at: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchemaOutput]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), last_clicked: T.nilable(::String), tag_id: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), test_variants: T.nilable(T::Array[Models::Shared::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, short_link:, qr_code:, workspace_id:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expires_at: nil, expired_url: nil, disabled_at: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, last_clicked: nil, tag_id: nil, track_conversion: false, archived: false, proxy: false, rewrite: false, do_index: false, public_stats: false, test_variants: nil, test_started_at: nil, test_completed_at: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
127
129
  @url = url
128
- @webhook_ids = webhook_ids
129
130
  @short_link = short_link
130
131
  @qr_code = qr_code
131
132
  @workspace_id = workspace_id
132
133
  @created_at = created_at
133
134
  @updated_at = updated_at
134
135
  @project_id = project_id
136
+ @webhook_ids = webhook_ids
135
137
  @external_id = external_id
136
138
  @tenant_id = tenant_id
137
139
  @program_id = program_id
@@ -181,13 +183,13 @@ module OpenApiSDK
181
183
  return false unless @domain == other.domain
182
184
  return false unless @key == other.key
183
185
  return false unless @url == other.url
184
- return false unless @webhook_ids == other.webhook_ids
185
186
  return false unless @short_link == other.short_link
186
187
  return false unless @qr_code == other.qr_code
187
188
  return false unless @workspace_id == other.workspace_id
188
189
  return false unless @created_at == other.created_at
189
190
  return false unless @updated_at == other.updated_at
190
191
  return false unless @project_id == other.project_id
192
+ return false unless @webhook_ids == other.webhook_ids
191
193
  return false unless @external_id == other.external_id
192
194
  return false unless @tenant_id == other.tenant_id
193
195
  return false unless @program_id == other.program_id
@@ -16,8 +16,6 @@ class OpenApiSDK::Models::Shared::LinkSchema
16
16
  def key=(str_); end
17
17
  def url(); end
18
18
  def url=(str_); end
19
- def webhook_ids(); end
20
- def webhook_ids=(str_); end
21
19
  def short_link(); end
22
20
  def short_link=(str_); end
23
21
  def qr_code(); end
@@ -30,6 +28,8 @@ class OpenApiSDK::Models::Shared::LinkSchema
30
28
  def updated_at=(str_); end
31
29
  def project_id(); end
32
30
  def project_id=(str_); end
31
+ def webhook_ids(); end
32
+ def webhook_ids=(str_); end
33
33
  def external_id(); end
34
34
  def external_id=(str_); end
35
35
  def tenant_id(); end
@@ -36,8 +36,6 @@ module OpenApiSDK
36
36
  field :do_index, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex'), required: true } }
37
37
 
38
38
  field :public_stats, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats'), required: true } }
39
- # The IDs of the webhooks that the short link is associated with.
40
- field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
41
39
  # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
42
40
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
43
41
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
@@ -58,6 +56,10 @@ module OpenApiSDK
58
56
  #
59
57
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
60
58
  field :project_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('projectId'), required: true } }
59
+ # Deprecated: You can now enable link.clicked webhooks for all links in a workspace or folder without passing this field manually. An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
60
+ #
61
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
62
+ field :webhook_ids, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds'), required: true } }
61
63
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
62
64
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
63
65
  # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # The total dollar value of sales (in cents) generated by the short link.
120
122
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
121
123
 
122
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::SaleCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
123
- def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, short_link: ::String, qr_code: ::String, test_started_at: ::String, test_completed_at: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, webhook_ids: T::Array[::String], external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::SaleCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
125
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, short_link:, qr_code:, test_started_at:, test_completed_at:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, webhook_ids:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
124
126
  @id = id
125
127
  @domain = domain
126
128
  @key = key
@@ -133,7 +135,6 @@ module OpenApiSDK
133
135
  @rewrite = rewrite
134
136
  @do_index = do_index
135
137
  @public_stats = public_stats
136
- @webhook_ids = webhook_ids
137
138
  @short_link = short_link
138
139
  @qr_code = qr_code
139
140
  @test_started_at = test_started_at
@@ -143,6 +144,7 @@ module OpenApiSDK
143
144
  @created_at = created_at
144
145
  @updated_at = updated_at
145
146
  @project_id = project_id
147
+ @webhook_ids = webhook_ids
146
148
  @external_id = external_id
147
149
  @tenant_id = tenant_id
148
150
  @program_id = program_id
@@ -189,7 +191,6 @@ module OpenApiSDK
189
191
  return false unless @rewrite == other.rewrite
190
192
  return false unless @do_index == other.do_index
191
193
  return false unless @public_stats == other.public_stats
192
- return false unless @webhook_ids == other.webhook_ids
193
194
  return false unless @short_link == other.short_link
194
195
  return false unless @qr_code == other.qr_code
195
196
  return false unless @test_started_at == other.test_started_at
@@ -199,6 +200,7 @@ module OpenApiSDK
199
200
  return false unless @created_at == other.created_at
200
201
  return false unless @updated_at == other.updated_at
201
202
  return false unless @project_id == other.project_id
203
+ return false unless @webhook_ids == other.webhook_ids
202
204
  return false unless @external_id == other.external_id
203
205
  return false unless @tenant_id == other.tenant_id
204
206
  return false unless @program_id == other.program_id
@@ -32,8 +32,6 @@ class OpenApiSDK::Models::Shared::SaleCreatedEventLink
32
32
  def do_index=(str_); end
33
33
  def public_stats(); end
34
34
  def public_stats=(str_); end
35
- def webhook_ids(); end
36
- def webhook_ids=(str_); end
37
35
  def short_link(); end
38
36
  def short_link=(str_); end
39
37
  def qr_code(); end
@@ -52,6 +50,8 @@ class OpenApiSDK::Models::Shared::SaleCreatedEventLink
52
50
  def updated_at=(str_); end
53
51
  def project_id(); end
54
52
  def project_id=(str_); end
53
+ def webhook_ids(); end
54
+ def webhook_ids=(str_); end
55
55
  def external_id(); end
56
56
  def external_id=(str_); end
57
57
  def tenant_id(); end
@@ -88,9 +88,9 @@ module OpenApiSDK
88
88
  end
89
89
  @language = 'ruby'
90
90
  @openapi_doc_version = '0.0.1'
91
- @sdk_version = '0.12.9'
92
- @gen_version = '2.914.0'
93
- @user_agent = 'speakeasy-sdk/ruby 0.12.9 2.914.0 0.0.1 dub'
91
+ @sdk_version = '0.12.10'
92
+ @gen_version = '2.915.1'
93
+ @user_agent = 'speakeasy-sdk/ruby 0.12.10 2.915.1 0.0.1 dub'
94
94
  end
95
95
 
96
96
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.9
4
+ version: 0.12.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-03 00:00:00.000000000 Z
11
+ date: 2026-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64