dub 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. checksums.yaml +4 -4
  2. data/lib/{open_api_sdk/utils → crystalline}/metadata_fields.rb +33 -20
  3. data/lib/{open_api_sdk/utils → crystalline}/t.rb +1 -1
  4. data/lib/crystalline/utils.rb +65 -0
  5. data/lib/crystalline.rb +12 -0
  6. data/lib/dub.rb +10 -6
  7. data/lib/open_api_sdk/analytics.rb +72 -17
  8. data/lib/open_api_sdk/commissions.rb +298 -0
  9. data/lib/open_api_sdk/customers.rb +709 -0
  10. data/lib/open_api_sdk/domains.rb +574 -88
  11. data/lib/open_api_sdk/dub.rb +57 -46
  12. data/lib/open_api_sdk/embed_tokens.rb +163 -0
  13. data/lib/open_api_sdk/events.rb +154 -0
  14. data/lib/open_api_sdk/folders.rb +570 -0
  15. data/lib/open_api_sdk/links.rb +799 -188
  16. data/lib/open_api_sdk/models/operations/accesslevel.rb +18 -0
  17. data/lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb +7 -7
  18. data/lib/open_api_sdk/models/operations/bulkcreatelinks_testvariants.rb +27 -0
  19. data/lib/open_api_sdk/models/operations/bulkdeletelinks_request.rb +24 -0
  20. data/lib/open_api_sdk/models/operations/bulkdeletelinks_response.rb +60 -0
  21. data/lib/open_api_sdk/models/operations/bulkdeletelinks_responsebody.rb +24 -0
  22. data/lib/open_api_sdk/models/operations/bulkupdatelinks_requestbody.rb +9 -6
  23. data/lib/open_api_sdk/models/operations/bulkupdatelinks_response.rb +2 -2
  24. data/lib/open_api_sdk/models/operations/bulkupdatelinks_testvariants.rb +27 -0
  25. data/lib/open_api_sdk/models/operations/checkdomainstatus_request.rb +24 -0
  26. data/lib/open_api_sdk/models/operations/checkdomainstatus_response.rb +60 -0
  27. data/lib/open_api_sdk/models/operations/click.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/color.rb +1 -2
  29. data/lib/open_api_sdk/models/operations/country.rb +266 -0
  30. data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +48 -0
  31. data/lib/open_api_sdk/models/operations/createcustomer_link.rb +39 -0
  32. data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +33 -0
  33. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +33 -0
  34. data/lib/open_api_sdk/models/operations/createcustomer_response.rb +60 -0
  35. data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +60 -0
  36. data/lib/open_api_sdk/models/operations/createcustomer_type.rb +18 -0
  37. data/lib/open_api_sdk/models/operations/createdomain_requestbody.rb +16 -4
  38. data/lib/open_api_sdk/models/operations/createdomain_response.rb +2 -2
  39. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +27 -0
  40. data/lib/open_api_sdk/models/operations/createfolder_response.rb +60 -0
  41. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +63 -13
  42. data/lib/open_api_sdk/models/operations/createlink_response.rb +2 -2
  43. data/lib/open_api_sdk/models/operations/createpartner_link.rb +48 -0
  44. data/lib/open_api_sdk/models/operations/createpartner_requestbody.rb +45 -0
  45. data/lib/open_api_sdk/models/operations/{trackcustomer_response.rb → createpartner_response.rb} +5 -5
  46. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +104 -0
  47. data/lib/open_api_sdk/models/operations/createpartner_status.rb +23 -0
  48. data/lib/open_api_sdk/models/operations/createpartner_testvariants.rb +27 -0
  49. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +111 -0
  50. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +39 -0
  51. data/lib/open_api_sdk/models/operations/createpartnerlink_response.rb +60 -0
  52. data/lib/open_api_sdk/models/operations/createpartnerlink_testvariants.rb +27 -0
  53. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_country.rb +266 -0
  54. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_linkprops.rb +111 -0
  55. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_requestbody.rb +30 -0
  56. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_response.rb +60 -0
  57. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_responsebody.rb +27 -0
  58. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_testvariants.rb +27 -0
  59. data/lib/open_api_sdk/models/operations/createtag_requestbody.rb +2 -2
  60. data/lib/open_api_sdk/models/operations/createtag_response.rb +2 -2
  61. data/lib/open_api_sdk/models/operations/customer.rb +33 -0
  62. data/lib/open_api_sdk/models/operations/data.rb +59 -12
  63. data/lib/open_api_sdk/models/operations/deletecustomer_request.rb +24 -0
  64. data/lib/open_api_sdk/models/operations/deletecustomer_response.rb +60 -0
  65. data/lib/open_api_sdk/models/operations/deletecustomer_responsebody.rb +24 -0
  66. data/lib/open_api_sdk/models/operations/deletedomain_request.rb +2 -2
  67. data/lib/open_api_sdk/models/operations/deletedomain_response.rb +2 -2
  68. data/lib/open_api_sdk/models/operations/deletedomain_responsebody.rb +2 -2
  69. data/lib/open_api_sdk/models/operations/deletefolder_request.rb +24 -0
  70. data/lib/open_api_sdk/models/operations/deletefolder_response.rb +60 -0
  71. data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +24 -0
  72. data/lib/open_api_sdk/models/operations/deletelink_request.rb +2 -2
  73. data/lib/open_api_sdk/models/operations/deletelink_response.rb +3 -3
  74. data/lib/open_api_sdk/models/operations/deletelink_responsebody.rb +3 -3
  75. data/lib/open_api_sdk/models/operations/deletetag_request.rb +24 -0
  76. data/lib/open_api_sdk/models/operations/deletetag_response.rb +60 -0
  77. data/lib/open_api_sdk/models/operations/deletetag_responsebody.rb +24 -0
  78. data/lib/open_api_sdk/models/operations/discount.rb +48 -0
  79. data/lib/open_api_sdk/models/operations/event.rb +2 -3
  80. data/lib/open_api_sdk/models/operations/getcustomer_discount.rb +48 -0
  81. data/lib/open_api_sdk/models/operations/getcustomer_link.rb +39 -0
  82. data/lib/open_api_sdk/models/operations/getcustomer_partner.rb +33 -0
  83. data/lib/open_api_sdk/models/operations/getcustomer_request.rb +27 -0
  84. data/lib/open_api_sdk/models/operations/getcustomer_response.rb +60 -0
  85. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +60 -0
  86. data/lib/open_api_sdk/models/operations/getcustomer_type.rb +18 -0
  87. data/lib/open_api_sdk/models/operations/getcustomers_link.rb +39 -0
  88. data/lib/open_api_sdk/models/operations/getcustomers_partner.rb +33 -0
  89. data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortby.rb +18 -0
  90. data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortorder.rb +18 -0
  91. data/lib/open_api_sdk/models/operations/getcustomers_request.rb +51 -0
  92. data/lib/open_api_sdk/models/operations/getcustomers_response.rb +60 -0
  93. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +60 -0
  94. data/lib/open_api_sdk/models/operations/getcustomers_type.rb +18 -0
  95. data/lib/open_api_sdk/models/operations/getlinkinfo_request.rb +3 -3
  96. data/lib/open_api_sdk/models/operations/getlinkinfo_response.rb +2 -2
  97. data/lib/open_api_sdk/models/operations/getlinks_request.rb +26 -11
  98. data/lib/open_api_sdk/models/operations/getlinks_response.rb +2 -2
  99. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +14 -8
  100. data/lib/open_api_sdk/models/operations/getlinkscount_response.rb +2 -2
  101. data/lib/open_api_sdk/models/operations/getqrcode_request.rb +14 -5
  102. data/lib/open_api_sdk/models/operations/getqrcode_response.rb +2 -2
  103. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rb +18 -0
  104. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rb +18 -0
  105. data/lib/open_api_sdk/models/operations/gettags_request.rb +39 -0
  106. data/lib/open_api_sdk/models/operations/gettags_response.rb +2 -2
  107. data/lib/open_api_sdk/models/operations/getworkspace_request.rb +2 -2
  108. data/lib/open_api_sdk/models/operations/getworkspace_response.rb +2 -2
  109. data/lib/open_api_sdk/models/operations/groupby.rb +13 -4
  110. data/lib/open_api_sdk/models/operations/interval.rb +5 -5
  111. data/lib/open_api_sdk/models/operations/level.rb +1 -2
  112. data/lib/open_api_sdk/models/operations/link.rb +48 -0
  113. data/lib/open_api_sdk/models/operations/linkprops.rb +111 -0
  114. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_interval.rb +25 -0
  115. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortby.rb +18 -0
  116. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortorder.rb +18 -0
  117. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +60 -0
  118. data/lib/open_api_sdk/models/operations/listcommissions_response.rb +60 -0
  119. data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +51 -0
  120. data/lib/open_api_sdk/models/operations/listcommissions_status.rb +23 -0
  121. data/lib/open_api_sdk/models/operations/listcommissions_type.rb +20 -0
  122. data/lib/open_api_sdk/models/operations/listdomains_request.rb +33 -0
  123. data/lib/open_api_sdk/models/operations/listdomains_response.rb +2 -2
  124. data/lib/open_api_sdk/models/operations/listevents_request.rb +138 -0
  125. data/lib/open_api_sdk/models/operations/listevents_response.rb +60 -0
  126. data/lib/open_api_sdk/models/operations/listfolders_request.rb +30 -0
  127. data/lib/open_api_sdk/models/operations/listfolders_response.rb +60 -0
  128. data/lib/open_api_sdk/models/operations/mode.rb +18 -0
  129. data/lib/open_api_sdk/models/operations/order.rb +20 -0
  130. data/lib/open_api_sdk/models/operations/partner.rb +45 -0
  131. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +3 -2
  132. data/lib/open_api_sdk/models/operations/queryparam_event.rb +19 -0
  133. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +19 -0
  134. data/lib/open_api_sdk/models/operations/queryparam_interval.rb +25 -0
  135. data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +17 -0
  136. data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +18 -0
  137. data/lib/open_api_sdk/models/operations/queryparam_status.rb +23 -0
  138. data/lib/open_api_sdk/models/operations/queryparam_trigger.rb +18 -0
  139. data/lib/open_api_sdk/models/operations/registerdomain_requestbody.rb +24 -0
  140. data/lib/open_api_sdk/models/operations/registerdomain_response.rb +60 -0
  141. data/lib/open_api_sdk/models/operations/registerdomain_responsebody.rb +30 -0
  142. data/lib/open_api_sdk/models/operations/requestbody.rb +63 -13
  143. data/lib/open_api_sdk/models/operations/responsebody.rb +33 -0
  144. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +60 -15
  145. data/lib/open_api_sdk/models/operations/retrieveanalytics_response.rb +2 -2
  146. data/lib/open_api_sdk/models/operations/retrievelinks_request.rb +27 -0
  147. data/lib/open_api_sdk/models/operations/retrievelinks_response.rb +60 -0
  148. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +25 -0
  149. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +42 -0
  150. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +60 -0
  151. data/lib/open_api_sdk/models/operations/sale.rb +36 -0
  152. data/lib/open_api_sdk/models/operations/sort.rb +5 -3
  153. data/lib/open_api_sdk/models/operations/sortby.rb +20 -0
  154. data/lib/open_api_sdk/models/operations/sortorder.rb +18 -0
  155. data/lib/open_api_sdk/models/operations/status.rb +20 -0
  156. data/lib/open_api_sdk/models/operations/testvariants.rb +27 -0
  157. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +19 -13
  158. data/lib/open_api_sdk/models/operations/tracklead_response.rb +2 -2
  159. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +8 -23
  160. data/lib/open_api_sdk/models/operations/tracksale_customer.rb +36 -0
  161. data/lib/open_api_sdk/models/operations/tracksale_requestbody.rb +15 -12
  162. data/lib/open_api_sdk/models/operations/tracksale_response.rb +2 -2
  163. data/lib/open_api_sdk/models/operations/tracksale_responsebody.rb +8 -20
  164. data/lib/open_api_sdk/models/operations/trigger.rb +18 -0
  165. data/lib/open_api_sdk/models/operations/type.rb +20 -0
  166. data/lib/open_api_sdk/models/operations/updatecommission_request.rb +27 -0
  167. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +33 -0
  168. data/lib/open_api_sdk/models/operations/updatecommission_response.rb +60 -0
  169. data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +51 -0
  170. data/lib/open_api_sdk/models/operations/updatecommission_status.rb +23 -0
  171. data/lib/open_api_sdk/models/operations/updatecommission_type.rb +20 -0
  172. data/lib/open_api_sdk/models/operations/updatecustomer_discount.rb +48 -0
  173. data/lib/open_api_sdk/models/operations/updatecustomer_link.rb +39 -0
  174. data/lib/open_api_sdk/models/operations/updatecustomer_partner.rb +33 -0
  175. data/lib/open_api_sdk/models/operations/updatecustomer_request.rb +30 -0
  176. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +33 -0
  177. data/lib/open_api_sdk/models/operations/updatecustomer_response.rb +60 -0
  178. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +60 -0
  179. data/lib/open_api_sdk/models/operations/updatecustomer_type.rb +18 -0
  180. data/lib/open_api_sdk/models/operations/updatedomain_request.rb +2 -2
  181. data/lib/open_api_sdk/models/operations/updatedomain_requestbody.rb +16 -4
  182. data/lib/open_api_sdk/models/operations/updatedomain_response.rb +2 -2
  183. data/lib/open_api_sdk/models/operations/updatefolder_accesslevel.rb +18 -0
  184. data/lib/open_api_sdk/models/operations/updatefolder_request.rb +27 -0
  185. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +27 -0
  186. data/lib/open_api_sdk/models/operations/updatefolder_response.rb +60 -0
  187. data/lib/open_api_sdk/models/operations/updatelink_request.rb +2 -2
  188. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +61 -17
  189. data/lib/open_api_sdk/models/operations/updatelink_response.rb +2 -2
  190. data/lib/open_api_sdk/models/operations/updatelink_testvariants.rb +27 -0
  191. data/lib/open_api_sdk/models/operations/updatetag_color.rb +1 -2
  192. data/lib/open_api_sdk/models/operations/updatetag_request.rb +2 -2
  193. data/lib/open_api_sdk/models/operations/updatetag_requestbody.rb +2 -2
  194. data/lib/open_api_sdk/models/operations/updatetag_response.rb +2 -2
  195. data/lib/open_api_sdk/models/operations/updateworkspace_request.rb +2 -2
  196. data/lib/open_api_sdk/models/operations/updateworkspace_requestbody.rb +13 -4
  197. data/lib/open_api_sdk/models/operations/updateworkspace_response.rb +2 -2
  198. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +63 -13
  199. data/lib/open_api_sdk/models/operations/upsertlink_response.rb +2 -2
  200. data/lib/open_api_sdk/models/operations/upsertlink_testvariants.rb +27 -0
  201. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +111 -0
  202. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +39 -0
  203. data/lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb +60 -0
  204. data/lib/open_api_sdk/models/operations/upsertpartnerlink_testvariants.rb +27 -0
  205. data/lib/open_api_sdk/models/operations.rb +149 -25
  206. data/lib/open_api_sdk/models/shared/accesslevel.rb +18 -0
  207. data/lib/open_api_sdk/models/shared/badrequest.rb +3 -3
  208. data/lib/open_api_sdk/models/shared/code.rb +1 -2
  209. data/lib/open_api_sdk/models/shared/color.rb +1 -2
  210. data/lib/open_api_sdk/models/shared/conflict.rb +3 -3
  211. data/lib/open_api_sdk/models/shared/conflict_code.rb +1 -2
  212. data/lib/open_api_sdk/models/shared/conflict_error.rb +2 -2
  213. data/lib/open_api_sdk/models/shared/continentcode.rb +23 -0
  214. data/lib/open_api_sdk/models/shared/countrycode.rb +2 -3
  215. data/lib/open_api_sdk/models/shared/domains.rb +7 -4
  216. data/lib/open_api_sdk/models/shared/domainschema.rb +19 -4
  217. data/lib/open_api_sdk/models/shared/error.rb +2 -2
  218. data/lib/open_api_sdk/models/shared/folderschema.rb +39 -0
  219. data/lib/open_api_sdk/models/shared/forbidden.rb +3 -3
  220. data/lib/open_api_sdk/models/shared/forbidden_code.rb +1 -2
  221. data/lib/open_api_sdk/models/shared/forbidden_error.rb +2 -2
  222. data/lib/open_api_sdk/models/shared/geo.rb +2 -2
  223. data/lib/open_api_sdk/models/shared/internalservererror.rb +3 -3
  224. data/lib/open_api_sdk/models/shared/internalservererror_code.rb +1 -2
  225. data/lib/open_api_sdk/models/shared/internalservererror_error.rb +2 -2
  226. data/lib/open_api_sdk/models/shared/inviteexpired.rb +3 -3
  227. data/lib/open_api_sdk/models/shared/inviteexpired_code.rb +1 -2
  228. data/lib/open_api_sdk/models/shared/inviteexpired_error.rb +2 -2
  229. data/lib/open_api_sdk/models/shared/linkgeotargeting.rb +2 -2
  230. data/lib/open_api_sdk/models/shared/linkschema.rb +42 -12
  231. data/lib/open_api_sdk/models/shared/notfound.rb +3 -3
  232. data/lib/open_api_sdk/models/shared/notfound_code.rb +1 -2
  233. data/lib/open_api_sdk/models/shared/notfound_error.rb +2 -2
  234. data/lib/open_api_sdk/models/shared/plan.rb +2 -2
  235. data/lib/open_api_sdk/models/shared/ratelimitexceeded.rb +3 -3
  236. data/lib/open_api_sdk/models/shared/ratelimitexceeded_code.rb +1 -2
  237. data/lib/open_api_sdk/models/shared/ratelimitexceeded_error.rb +2 -2
  238. data/lib/open_api_sdk/models/shared/registereddomain.rb +30 -0
  239. data/lib/open_api_sdk/models/shared/role.rb +1 -2
  240. data/lib/open_api_sdk/models/shared/security.rb +4 -4
  241. data/lib/open_api_sdk/models/shared/tagschema.rb +2 -2
  242. data/lib/open_api_sdk/models/shared/testvariants.rb +27 -0
  243. data/lib/open_api_sdk/models/shared/type.rb +18 -0
  244. data/lib/open_api_sdk/models/shared/unauthorized.rb +3 -3
  245. data/lib/open_api_sdk/models/shared/unauthorized_code.rb +1 -2
  246. data/lib/open_api_sdk/models/shared/unauthorized_error.rb +2 -2
  247. data/lib/open_api_sdk/models/shared/unprocessableentity.rb +3 -3
  248. data/lib/open_api_sdk/models/shared/unprocessableentity_code.rb +1 -2
  249. data/lib/open_api_sdk/models/shared/unprocessableentity_error.rb +2 -2
  250. data/lib/open_api_sdk/models/shared/users.rb +7 -4
  251. data/lib/open_api_sdk/models/shared/workspaceschema.rb +50 -8
  252. data/lib/open_api_sdk/models/shared.rb +8 -2
  253. data/lib/open_api_sdk/partners.rb +701 -0
  254. data/lib/open_api_sdk/qr_codes.rb +71 -17
  255. data/lib/open_api_sdk/sdk_hooks/hooks.rb +103 -0
  256. data/lib/open_api_sdk/sdk_hooks/registration.rb +35 -0
  257. data/lib/open_api_sdk/sdk_hooks/types.rb +152 -0
  258. data/lib/open_api_sdk/sdkconfiguration.rb +33 -10
  259. data/lib/open_api_sdk/tags.rb +366 -68
  260. data/lib/open_api_sdk/track.rb +148 -122
  261. data/lib/open_api_sdk/utils/retries.rb +95 -0
  262. data/lib/open_api_sdk/utils/utils.rb +26 -60
  263. data/lib/open_api_sdk/workspaces.rb +145 -36
  264. metadata +198 -15
  265. data/lib/open_api_sdk/metatags.rb +0 -54
  266. data/lib/open_api_sdk/models/operations/getmetatags_request.rb +0 -24
  267. data/lib/open_api_sdk/models/operations/getmetatags_response.rb +0 -33
  268. data/lib/open_api_sdk/models/operations/getmetatags_responsebody.rb +0 -30
  269. data/lib/open_api_sdk/models/operations/trackcustomer_requestbody.rb +0 -33
  270. data/lib/open_api_sdk/models/operations/trackcustomer_responsebody.rb +0 -33
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,16 +8,16 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateLinkRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateLinkRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # The Android destination URL for the short link for Android device targeting.
15
15
  field :android, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('android') } }
16
- # Whether the short link is archived.
16
+ # Whether the short link is archived. Defaults to `false` if not provided.
17
17
  field :archived, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('archived') } }
18
18
  # The comments for the short link.
19
19
  field :comments, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
20
- # The description of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true.
20
+ # The custom link preview description (og:description). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
21
21
  field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
22
22
  # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
23
23
  field :do_index, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
@@ -27,25 +27,33 @@ module OpenApiSDK
27
27
  field :expired_url, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiredUrl') } }
28
28
  # The date and time when the short link will expire at.
29
29
  field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
30
- # This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter.
30
+ # 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.
31
31
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
32
-
32
+ # The unique ID existing folder to assign the short link to.
33
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
34
+ # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.
33
35
  field :geo, T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
34
- # The image of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true.
36
+
35
37
  field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
36
38
  # The iOS destination URL for the short link for iOS device targeting.
37
39
  field :ios, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ios') } }
38
40
  # The short link slug. If not provided, a random 7-character slug will be generated.
39
41
  field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
42
+ # The ID of the partner the short link is associated with.
43
+ field :partner_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId') } }
40
44
  # The password required to access the destination URL of the short link.
41
45
  field :password, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('password') } }
42
- # The prefix of the short link slug for randomly-generated keys (e.g. if prefix is `/c/`, generated keys will be in the `/c/:key` format). Will be ignored if `key` is provided.
43
- field :prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('prefix') } }
44
- # Whether the short link uses Custom Social Media Cards feature.
46
+ # The ID of the program the short link is associated with.
47
+ field :program_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
48
+ # Whether the short link uses Custom Link Previews feature. Defaults to `false` if not provided.
45
49
  field :proxy, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('proxy') } }
46
- # Whether the short link's stats are publicly accessible.
50
+ # Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided.
51
+ #
52
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
47
53
  field :public_stats, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats') } }
48
- # Whether the short link uses link cloaking.
54
+ # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
55
+ field :ref, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
56
+ # Whether the short link uses link cloaking. Defaults to `false` if not provided.
49
57
  field :rewrite, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
50
58
  # The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead.
51
59
  #
@@ -55,16 +63,38 @@ module OpenApiSDK
55
63
  field :tag_ids, T.nilable(::Object), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagIds') } }
56
64
  # The unique name of the tags assigned to the short link (case insensitive).
57
65
  field :tag_names, T.nilable(::Object), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagNames') } }
58
- # The title of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true.
66
+ # 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.
67
+ field :tenant_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
68
+ # The date and time when the tests were or will be completed.
69
+ field :test_completed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt') } }
70
+ # The date and time when the tests started.
71
+ field :test_started_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt') } }
72
+ # An array of A/B test URLs and the percentage of traffic to send to each URL.
73
+ field :test_variants, T.nilable(T::Array[::OpenApiSDK::Operations::UpdateLinkTestVariants]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
74
+ # The custom link preview title (og:title). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
59
75
  field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('title') } }
60
- # Whether to track conversions for the short link.
76
+ # Whether to track conversions for the short link. Defaults to `false` if not provided.
61
77
  field :track_conversion, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trackConversion') } }
62
78
  # The destination URL of the short link.
63
79
  field :url, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
80
+ # The UTM campaign of the short link. If set, this will populate or override the UTM campaign in the destination URL.
81
+ field :utm_campaign, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_campaign') } }
82
+ # The UTM content of the short link. If set, this will populate or override the UTM content in the destination URL.
83
+ field :utm_content, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
84
+ # The UTM medium of the short link. If set, this will populate or override the UTM medium in the destination URL.
85
+ field :utm_medium, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_medium') } }
86
+ # The UTM source of the short link. If set, this will populate or override the UTM source in the destination URL.
87
+ field :utm_source, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_source') } }
88
+ # The UTM term of the short link. If set, this will populate or override the UTM term in the destination URL.
89
+ field :utm_term, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_term') } }
90
+ # The custom link preview video (og:video). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
91
+ field :video, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('video') } }
92
+ # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
93
+ field :webhook_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
64
94
 
65
95
 
66
- sig { params(android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), url: T.nilable(::String)).void }
67
- def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, image: nil, ios: nil, key: nil, password: nil, prefix: nil, proxy: nil, public_stats: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, title: nil, track_conversion: nil, url: nil)
96
+ sig { params(android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), folder_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), program_id: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), test_completed_at: T.nilable(::String), test_started_at: T.nilable(::String), test_variants: T.nilable(T::Array[::OpenApiSDK::Operations::UpdateLinkTestVariants]), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), url: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
97
+ def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, image: nil, ios: nil, key: nil, partner_id: nil, password: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, test_completed_at: nil, test_started_at: nil, test_variants: nil, title: nil, track_conversion: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
68
98
  @android = android
69
99
  @archived = archived
70
100
  @comments = comments
@@ -74,21 +104,35 @@ module OpenApiSDK
74
104
  @expired_url = expired_url
75
105
  @expires_at = expires_at
76
106
  @external_id = external_id
107
+ @folder_id = folder_id
77
108
  @geo = geo
78
109
  @image = image
79
110
  @ios = ios
80
111
  @key = key
112
+ @partner_id = partner_id
81
113
  @password = password
82
- @prefix = prefix
114
+ @program_id = program_id
83
115
  @proxy = proxy
84
116
  @public_stats = public_stats
117
+ @ref = ref
85
118
  @rewrite = rewrite
86
119
  @tag_id = tag_id
87
120
  @tag_ids = tag_ids
88
121
  @tag_names = tag_names
122
+ @tenant_id = tenant_id
123
+ @test_completed_at = test_completed_at
124
+ @test_started_at = test_started_at
125
+ @test_variants = test_variants
89
126
  @title = title
90
127
  @track_conversion = track_conversion
91
128
  @url = url
129
+ @utm_campaign = utm_campaign
130
+ @utm_content = utm_content
131
+ @utm_medium = utm_medium
132
+ @utm_source = utm_source
133
+ @utm_term = utm_term
134
+ @video = video
135
+ @webhook_ids = webhook_ids
92
136
  end
93
137
  end
94
138
  end
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateLinkResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateLinkResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateLinkTestVariants < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :percentage, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('percentage') } }
16
+
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
18
+
19
+
20
+ sig { params(percentage: ::Float, url: ::String).void }
21
+ def initialize(percentage: nil, url: nil)
22
+ @percentage = percentage
23
+ @url = url
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -19,6 +19,5 @@ module OpenApiSDK
19
19
  BROWN = new('brown')
20
20
  end
21
21
  end
22
-
23
22
  end
24
23
  end
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateTagRequest < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateTagRequest < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # The ID of the tag to update.
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateTagRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateTagRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # The color of the tag. If not provided, a random color will be used from the list: red, yellow, green, blue, purple, pink, brown.
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateTagResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateTagResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateWorkspaceRequest < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateWorkspaceRequest < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # The ID or slug of the workspace to update.
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,17 +8,26 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateWorkspaceRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateWorkspaceRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
 
15
+ field :allowed_hostnames, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('allowedHostnames') } }
16
+
17
+ field :conversion_enabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('conversionEnabled') } }
18
+
19
+ field :logo, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('logo') } }
20
+
15
21
  field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
16
22
 
17
23
  field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('slug') } }
18
24
 
19
25
 
20
- sig { params(name: T.nilable(::String), slug: T.nilable(::String)).void }
21
- def initialize(name: nil, slug: nil)
26
+ sig { params(allowed_hostnames: T.nilable(T::Array[::String]), conversion_enabled: T.nilable(T::Boolean), logo: T.nilable(::String), name: T.nilable(::String), slug: T.nilable(::String)).void }
27
+ def initialize(allowed_hostnames: nil, conversion_enabled: nil, logo: nil, name: nil, slug: nil)
28
+ @allowed_hostnames = allowed_hostnames
29
+ @conversion_enabled = conversion_enabled
30
+ @logo = logo
22
31
  @name = name
23
32
  @slug = slug
24
33
  end
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpdateWorkspaceResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpdateWorkspaceResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,18 +8,18 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpsertLinkRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpsertLinkRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # The destination URL of the short link.
15
15
  field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
16
16
  # The Android destination URL for the short link for Android device targeting.
17
17
  field :android, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('android') } }
18
- # Whether the short link is archived.
18
+ # Whether the short link is archived. Defaults to `false` if not provided.
19
19
  field :archived, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('archived') } }
20
20
  # The comments for the short link.
21
21
  field :comments, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
22
- # The description of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true.
22
+ # The custom link preview description (og:description). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
23
23
  field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
24
24
  # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
25
25
  field :do_index, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
@@ -29,25 +29,37 @@ module OpenApiSDK
29
29
  field :expired_url, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiredUrl') } }
30
30
  # The date and time when the short link will expire at.
31
31
  field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
32
- # This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter.
32
+ # 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.
33
33
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
34
+ # The unique ID existing folder to assign the short link to.
35
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
34
36
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.
35
37
  field :geo, T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
36
- # The image of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true.
38
+ # The custom link preview image (og:image). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
37
39
  field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
38
40
  # The iOS destination URL for the short link for iOS device targeting.
39
41
  field :ios, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ios') } }
40
42
  # The short link slug. If not provided, a random 7-character slug will be generated.
41
43
  field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
44
+ # The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`.
45
+ field :key_length, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('keyLength') } }
46
+ # The ID of the partner the short link is associated with.
47
+ field :partner_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId') } }
42
48
  # The password required to access the destination URL of the short link.
43
49
  field :password, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('password') } }
44
50
  # The prefix of the short link slug for randomly-generated keys (e.g. if prefix is `/c/`, generated keys will be in the `/c/:key` format). Will be ignored if `key` is provided.
45
51
  field :prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('prefix') } }
46
- # Whether the short link uses Custom Social Media Cards feature.
52
+ # The ID of the program the short link is associated with.
53
+ field :program_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
54
+ # Whether the short link uses Custom Link Previews feature. Defaults to `false` if not provided.
47
55
  field :proxy, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('proxy') } }
48
- # Whether the short link's stats are publicly accessible.
56
+ # Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided.
57
+ #
58
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
49
59
  field :public_stats, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats') } }
50
- # Whether the short link uses link cloaking.
60
+ # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
61
+ field :ref, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
62
+ # Whether the short link uses link cloaking. Defaults to `false` if not provided.
51
63
  field :rewrite, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
52
64
  # The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead.
53
65
  #
@@ -57,14 +69,36 @@ module OpenApiSDK
57
69
  field :tag_ids, T.nilable(::Object), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagIds') } }
58
70
  # The unique name of the tags assigned to the short link (case insensitive).
59
71
  field :tag_names, T.nilable(::Object), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagNames') } }
60
- # The title of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true.
72
+ # 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.
73
+ field :tenant_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
74
+ # The date and time when the tests were or will be completed.
75
+ field :test_completed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt') } }
76
+ # The date and time when the tests started.
77
+ field :test_started_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt') } }
78
+ # An array of A/B test URLs and the percentage of traffic to send to each URL.
79
+ field :test_variants, T.nilable(T::Array[::OpenApiSDK::Operations::UpsertLinkTestVariants]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
80
+ # The custom link preview title (og:title). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
61
81
  field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('title') } }
62
- # Whether to track conversions for the short link.
82
+ # Whether to track conversions for the short link. Defaults to `false` if not provided.
63
83
  field :track_conversion, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trackConversion') } }
84
+ # The UTM campaign of the short link. If set, this will populate or override the UTM campaign in the destination URL.
85
+ field :utm_campaign, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_campaign') } }
86
+ # The UTM content of the short link. If set, this will populate or override the UTM content in the destination URL.
87
+ field :utm_content, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
88
+ # The UTM medium of the short link. If set, this will populate or override the UTM medium in the destination URL.
89
+ field :utm_medium, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_medium') } }
90
+ # The UTM source of the short link. If set, this will populate or override the UTM source in the destination URL.
91
+ field :utm_source, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_source') } }
92
+ # The UTM term of the short link. If set, this will populate or override the UTM term in the destination URL.
93
+ field :utm_term, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_term') } }
94
+ # The custom link preview video (og:video). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
95
+ field :video, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('video') } }
96
+ # An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
97
+ field :webhook_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
64
98
 
65
99
 
66
- sig { params(url: ::String, android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean)).void }
67
- def initialize(url: nil, android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, image: nil, ios: nil, key: nil, password: nil, prefix: nil, proxy: nil, public_stats: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, title: nil, track_conversion: nil)
100
+ sig { params(url: ::String, android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), folder_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), key_length: T.nilable(::Float), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), program_id: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), test_completed_at: T.nilable(::String), test_started_at: T.nilable(::String), test_variants: T.nilable(T::Array[::OpenApiSDK::Operations::UpsertLinkTestVariants]), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
101
+ def initialize(url: nil, android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, image: nil, ios: nil, key: nil, key_length: nil, partner_id: nil, password: nil, prefix: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, test_completed_at: nil, test_started_at: nil, test_variants: nil, title: nil, track_conversion: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
68
102
  @url = url
69
103
  @android = android
70
104
  @archived = archived
@@ -75,20 +109,36 @@ module OpenApiSDK
75
109
  @expired_url = expired_url
76
110
  @expires_at = expires_at
77
111
  @external_id = external_id
112
+ @folder_id = folder_id
78
113
  @geo = geo
79
114
  @image = image
80
115
  @ios = ios
81
116
  @key = key
117
+ @key_length = key_length
118
+ @partner_id = partner_id
82
119
  @password = password
83
120
  @prefix = prefix
121
+ @program_id = program_id
84
122
  @proxy = proxy
85
123
  @public_stats = public_stats
124
+ @ref = ref
86
125
  @rewrite = rewrite
87
126
  @tag_id = tag_id
88
127
  @tag_ids = tag_ids
89
128
  @tag_names = tag_names
129
+ @tenant_id = tenant_id
130
+ @test_completed_at = test_completed_at
131
+ @test_started_at = test_started_at
132
+ @test_variants = test_variants
90
133
  @title = title
91
134
  @track_conversion = track_conversion
135
+ @utm_campaign = utm_campaign
136
+ @utm_content = utm_content
137
+ @utm_medium = utm_medium
138
+ @utm_source = utm_source
139
+ @utm_term = utm_term
140
+ @video = video
141
+ @webhook_ids = webhook_ids
92
142
  end
93
143
  end
94
144
  end
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class UpsertLinkResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class UpsertLinkResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpsertLinkTestVariants < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :percentage, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('percentage') } }
16
+
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
18
+
19
+
20
+ sig { params(percentage: ::Float, url: ::String).void }
21
+ def initialize(percentage: nil, url: nil)
22
+ @percentage = percentage
23
+ @url = url
24
+ end
25
+ end
26
+ end
27
+ end