dub 0.12.8 → 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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/analytics.rb +4 -4
  3. data/lib/open_api_sdk/bounties.rb +12 -12
  4. data/lib/open_api_sdk/commissions.rb +16 -16
  5. data/lib/open_api_sdk/customers.rb +16 -16
  6. data/lib/open_api_sdk/domains.rb +24 -24
  7. data/lib/open_api_sdk/embed_tokens.rb +4 -4
  8. data/lib/open_api_sdk/events.rb +4 -4
  9. data/lib/open_api_sdk/folders.rb +16 -16
  10. data/lib/open_api_sdk/links.rb +40 -40
  11. data/lib/open_api_sdk/models/operations/accesslevel.rb +1 -1
  12. data/lib/open_api_sdk/models/operations/checkdomainstatus_responsebody.rb +12 -6
  13. data/lib/open_api_sdk/models/operations/checkdomainstatus_responsebody.rbi +4 -2
  14. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +2 -2
  15. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +8 -6
  16. data/lib/open_api_sdk/models/operations/createlink_requestbody.rbi +2 -2
  17. data/lib/open_api_sdk/models/operations/createpartner_defaultpayoutmethod.rb +1 -0
  18. data/lib/open_api_sdk/models/operations/data.rb +8 -6
  19. data/lib/open_api_sdk/models/operations/data.rbi +2 -2
  20. data/lib/open_api_sdk/models/operations/defaultpayoutmethod.rb +1 -0
  21. data/lib/open_api_sdk/models/operations/listevents_responsebody_click.rb +6 -2
  22. data/lib/open_api_sdk/models/operations/listevents_responsebody_click.rbi +2 -0
  23. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_click.rb +6 -2
  24. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_click.rbi +2 -0
  25. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_link.rb +8 -6
  26. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_link.rbi +2 -2
  27. data/lib/open_api_sdk/models/operations/listevents_responsebody_link.rb +8 -6
  28. data/lib/open_api_sdk/models/operations/listevents_responsebody_link.rbi +2 -2
  29. data/lib/open_api_sdk/models/operations/listpayouts_defaultpayoutmethod.rb +1 -0
  30. data/lib/open_api_sdk/models/operations/listpayouts_request.rb +6 -2
  31. data/lib/open_api_sdk/models/operations/listpayouts_request.rbi +2 -0
  32. data/lib/open_api_sdk/models/operations/method.rb +1 -0
  33. data/lib/open_api_sdk/models/operations/prices.rb +36 -0
  34. data/lib/open_api_sdk/models/operations/prices.rbi +15 -0
  35. data/lib/open_api_sdk/models/operations/requestbody.rb +8 -6
  36. data/lib/open_api_sdk/models/operations/requestbody.rbi +2 -2
  37. data/lib/open_api_sdk/models/operations/responsebody_click.rb +6 -2
  38. data/lib/open_api_sdk/models/operations/responsebody_click.rbi +2 -0
  39. data/lib/open_api_sdk/models/operations/responsebody_link.rb +8 -6
  40. data/lib/open_api_sdk/models/operations/responsebody_link.rbi +2 -2
  41. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +2 -2
  42. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +8 -6
  43. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rbi +2 -2
  44. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +8 -6
  45. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rbi +2 -2
  46. data/lib/open_api_sdk/models/operations.rb +1 -0
  47. data/lib/open_api_sdk/models/shared/accesslevel.rb +1 -1
  48. data/lib/open_api_sdk/models/shared/click.rb +6 -2
  49. data/lib/open_api_sdk/models/shared/click.rbi +2 -0
  50. data/lib/open_api_sdk/models/shared/data.rb +8 -6
  51. data/lib/open_api_sdk/models/shared/data.rbi +2 -2
  52. data/lib/open_api_sdk/models/shared/defaultpayoutmethod.rb +1 -0
  53. data/lib/open_api_sdk/models/shared/folderschema.rb +2 -2
  54. data/lib/open_api_sdk/models/shared/leadcreatedevent_click.rb +6 -2
  55. data/lib/open_api_sdk/models/shared/leadcreatedevent_click.rbi +2 -0
  56. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rb +8 -6
  57. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rbi +2 -2
  58. data/lib/open_api_sdk/models/shared/link.rb +8 -6
  59. data/lib/open_api_sdk/models/shared/link.rbi +2 -2
  60. data/lib/open_api_sdk/models/shared/linkschema.rb +8 -6
  61. data/lib/open_api_sdk/models/shared/linkschema.rbi +2 -2
  62. data/lib/open_api_sdk/models/shared/salecreatedevent_click.rb +6 -2
  63. data/lib/open_api_sdk/models/shared/salecreatedevent_click.rbi +2 -0
  64. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rb +8 -6
  65. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rbi +2 -2
  66. data/lib/open_api_sdk/partner_applications.rb +12 -12
  67. data/lib/open_api_sdk/partners.rb +32 -32
  68. data/lib/open_api_sdk/payouts.rb +4 -4
  69. data/lib/open_api_sdk/qr_codes.rb +4 -4
  70. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  71. data/lib/open_api_sdk/tags.rb +16 -16
  72. data/lib/open_api_sdk/track.rb +8 -8
  73. data/lib/open_api_sdk/utils/retries.rb +4 -1
  74. metadata +6 -4
@@ -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
@@ -222,6 +222,7 @@ module OpenApiSDK
222
222
  autoload :Order, 'open_api_sdk/models/operations/order.rb'
223
223
  autoload :Partner, 'open_api_sdk/models/operations/partner.rb'
224
224
  autoload :PaymentProcessor, 'open_api_sdk/models/operations/paymentprocessor.rb'
225
+ autoload :Prices, 'open_api_sdk/models/operations/prices.rb'
225
226
  autoload :QueryParamEvent, 'open_api_sdk/models/operations/queryparam_event.rb'
226
227
  autoload :QueryParamGroupBy, 'open_api_sdk/models/operations/queryparam_groupby.rb'
227
228
  autoload :QueryParamInterval, 'open_api_sdk/models/operations/queryparam_interval.rb'
@@ -7,7 +7,7 @@
7
7
  module OpenApiSDK
8
8
  module Models
9
9
  module Shared
10
- # AccessLevel - The access level of the folder within the workspace.
10
+ # AccessLevel - The workspace-level access level settings for the folder. Default is `write` which allows full access to the folder for all team members. The other options are `read` (view-only access) and `null` (no access) and are only available on Business plans and above.
11
11
  class AccessLevel < T::Enum
12
12
  enums do
13
13
  WRITE = new('write')
@@ -41,10 +41,12 @@ module OpenApiSDK
41
41
 
42
42
  field :ip, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ip'), required: true } }
43
43
 
44
+ field :ua, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ua') } }
45
+
44
46
  field :trigger, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trigger') } }
45
47
 
46
- sig { params(id: ::String, timestamp: ::String, url: ::String, country: ::String, city: ::String, region: ::String, continent: ::String, device: ::String, browser: ::String, os: ::String, referer: ::String, referer_url: ::String, qr: T::Boolean, ip: ::String, trigger: T.nilable(::String)).void }
47
- def initialize(id:, timestamp:, url:, country:, city:, region:, continent:, device:, browser:, os:, referer:, referer_url:, qr:, ip:, trigger: nil)
48
+ sig { params(id: ::String, timestamp: ::String, url: ::String, country: ::String, city: ::String, region: ::String, continent: ::String, device: ::String, browser: ::String, os: ::String, referer: ::String, referer_url: ::String, qr: T::Boolean, ip: ::String, ua: T.nilable(::String), trigger: T.nilable(::String)).void }
49
+ def initialize(id:, timestamp:, url:, country:, city:, region:, continent:, device:, browser:, os:, referer:, referer_url:, qr:, ip:, ua: nil, trigger: nil)
48
50
  @id = id
49
51
  @timestamp = timestamp
50
52
  @url = url
@@ -59,6 +61,7 @@ module OpenApiSDK
59
61
  @referer_url = referer_url
60
62
  @qr = qr
61
63
  @ip = ip
64
+ @ua = ua
62
65
  @trigger = trigger
63
66
  end
64
67
 
@@ -79,6 +82,7 @@ module OpenApiSDK
79
82
  return false unless @referer_url == other.referer_url
80
83
  return false unless @qr == other.qr
81
84
  return false unless @ip == other.ip
85
+ return false unless @ua == other.ua
82
86
  return false unless @trigger == other.trigger
83
87
  true
84
88
  end
@@ -36,6 +36,8 @@ class OpenApiSDK::Models::Shared::Click
36
36
  def qr=(str_); end
37
37
  def ip(); end
38
38
  def ip=(str_); end
39
+ def ua(); end
40
+ def ua=(str_); end
39
41
  def trigger(); end
40
42
  def trigger=(str_); end
41
43
  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
@@ -13,6 +13,7 @@ module OpenApiSDK
13
13
  CONNECT = new('connect')
14
14
  STABLECOIN = new('stablecoin')
15
15
  PAYPAL = new('paypal')
16
+ TREMENDOUS = new('tremendous')
16
17
  end
17
18
  end
18
19
  end
@@ -24,11 +24,11 @@ module OpenApiSDK
24
24
  field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt'), required: true } }
25
25
  # The description of the folder.
26
26
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
27
- # The access level of the folder within the workspace.
27
+ # The workspace-level access level settings for the folder. Default is `write` which allows full access to the folder for all team members. The other options are `read` (view-only access) and `null` (no access) and are only available on Business plans and above.
28
28
  field :access_level, Crystalline::Nilable.new(Models::Shared::AccessLevel), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Shared::AccessLevel, true) } }
29
29
 
30
30
  sig { params(id: ::String, name: ::String, type: Models::Shared::Type, created_at: ::String, updated_at: ::String, description: T.nilable(::String), access_level: T.nilable(Models::Shared::AccessLevel)).void }
31
- def initialize(id:, name:, type:, created_at:, updated_at:, description: nil, access_level: nil)
31
+ def initialize(id:, name:, type:, created_at:, updated_at:, description: nil, access_level: Models::Shared::AccessLevel::WRITE)
32
32
  @id = id
33
33
  @name = name
34
34
  @type = type
@@ -41,10 +41,12 @@ module OpenApiSDK
41
41
 
42
42
  field :ip, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ip'), required: true } }
43
43
 
44
+ field :ua, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ua') } }
45
+
44
46
  field :trigger, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trigger') } }
45
47
 
46
- sig { params(id: ::String, timestamp: ::String, url: ::String, country: ::String, city: ::String, region: ::String, continent: ::String, device: ::String, browser: ::String, os: ::String, referer: ::String, referer_url: ::String, qr: T::Boolean, ip: ::String, trigger: T.nilable(::String)).void }
47
- def initialize(id:, timestamp:, url:, country:, city:, region:, continent:, device:, browser:, os:, referer:, referer_url:, qr:, ip:, trigger: nil)
48
+ sig { params(id: ::String, timestamp: ::String, url: ::String, country: ::String, city: ::String, region: ::String, continent: ::String, device: ::String, browser: ::String, os: ::String, referer: ::String, referer_url: ::String, qr: T::Boolean, ip: ::String, ua: T.nilable(::String), trigger: T.nilable(::String)).void }
49
+ def initialize(id:, timestamp:, url:, country:, city:, region:, continent:, device:, browser:, os:, referer:, referer_url:, qr:, ip:, ua: nil, trigger: nil)
48
50
  @id = id
49
51
  @timestamp = timestamp
50
52
  @url = url
@@ -59,6 +61,7 @@ module OpenApiSDK
59
61
  @referer_url = referer_url
60
62
  @qr = qr
61
63
  @ip = ip
64
+ @ua = ua
62
65
  @trigger = trigger
63
66
  end
64
67
 
@@ -79,6 +82,7 @@ module OpenApiSDK
79
82
  return false unless @referer_url == other.referer_url
80
83
  return false unless @qr == other.qr
81
84
  return false unless @ip == other.ip
85
+ return false unless @ua == other.ua
82
86
  return false unless @trigger == other.trigger
83
87
  true
84
88
  end
@@ -36,6 +36,8 @@ class OpenApiSDK::Models::Shared::LeadCreatedEventClick
36
36
  def qr=(str_); end
37
37
  def ip(); end
38
38
  def ip=(str_); end
39
+ def ua(); end
40
+ def ua=(str_); end
39
41
  def trigger(); end
40
42
  def trigger=(str_); end
41
43
  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