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,18 +8,18 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class RequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class RequestBody < ::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::BulkCreateLinksTestVariants]), { '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::BulkCreateLinksTestVariants]), 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
@@ -0,0 +1,33 @@
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 ResponseBody < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Whether the domain is available.
15
+ field :available, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('available') } }
16
+ # The domain name.
17
+ field :domain, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
18
+ # Whether the domain is a premium domain.
19
+ field :premium, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('premium') } }
20
+ # The price description.
21
+ field :price, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('price') } }
22
+
23
+
24
+ sig { params(available: T::Boolean, domain: ::String, premium: T::Boolean, price: ::String).void }
25
+ def initialize(available: nil, domain: nil, premium: nil, price: nil)
26
+ @available = available
27
+ @domain = domain
28
+ @premium = premium
29
+ @price = price
30
+ end
31
+ end
32
+ end
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,73 +8,118 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class RetrieveAnalyticsRequest < ::OpenApiSDK::Utils::FieldAugmented
11
+ class RetrieveAnalyticsRequest < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # The browser to retrieve analytics for.
15
15
  field :browser, T.nilable(::String), { 'query_param': { 'field_name': 'browser', 'style': 'form', 'explode': true } }
16
16
  # The city to retrieve analytics for.
17
17
  field :city, T.nilable(::String), { 'query_param': { 'field_name': 'city', 'style': 'form', 'explode': true } }
18
- # The country to retrieve analytics for.
18
+ # The continent to retrieve analytics for.
19
+ field :continent, T.nilable(::OpenApiSDK::Shared::ContinentCode), { 'query_param': { 'field_name': 'continent', 'style': 'form', 'explode': true } }
20
+ # The country to retrieve analytics for. Must be passed as a 2-letter ISO 3166-1 country code. Learn more: https://d.to/geo
19
21
  field :country, T.nilable(::OpenApiSDK::Shared::CountryCode), { 'query_param': { 'field_name': 'country', 'style': 'form', 'explode': true } }
22
+ # The ID of the customer to retrieve analytics for.
23
+ field :customer_id, T.nilable(::String), { 'query_param': { 'field_name': 'customerId', 'style': 'form', 'explode': true } }
20
24
  # The device to retrieve analytics for.
21
25
  field :device, T.nilable(::String), { 'query_param': { 'field_name': 'device', 'style': 'form', 'explode': true } }
22
26
  # The domain to filter analytics for.
23
27
  field :domain, T.nilable(::String), { 'query_param': { 'field_name': 'domain', 'style': 'form', 'explode': true } }
24
- # The end date and time when to retrieve analytics from. If not provided, defaults to the current date.
28
+ # The end date and time when to retrieve analytics from. If not provided, defaults to the current date. If set along with `start`, takes precedence over `interval`.
25
29
  field :end_, T.nilable(::String), { 'query_param': { 'field_name': 'end', 'style': 'form', 'explode': true } }
26
- # The type of event to retrieve analytics for. Defaults to 'clicks'.
30
+ # The type of event to retrieve analytics for. Defaults to `clicks`.
27
31
  field :event, T.nilable(::OpenApiSDK::Operations::Event), { 'query_param': { 'field_name': 'event', 'style': 'form', 'explode': true } }
28
- # This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.
32
+ # The ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.
29
33
  field :external_id, T.nilable(::String), { 'query_param': { 'field_name': 'externalId', 'style': 'form', 'explode': true } }
30
- # The parameter to group the analytics data points by. Defaults to 'count' if undefined.
34
+ # The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links.
35
+ field :folder_id, T.nilable(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
36
+ # The parameter to group the analytics data points by. Defaults to `count` if undefined.
31
37
  field :group_by, T.nilable(::OpenApiSDK::Operations::GroupBy), { 'query_param': { 'field_name': 'groupBy', 'style': 'form', 'explode': true } }
32
- # The interval to retrieve analytics for. Takes precedence over start and end. If undefined, defaults to 24h.
38
+ # The interval to retrieve analytics for. If undefined, defaults to 24h.
33
39
  field :interval, T.nilable(::OpenApiSDK::Operations::Interval), { 'query_param': { 'field_name': 'interval', 'style': 'form', 'explode': true } }
34
- # The short link slug.
40
+ # The slug of the short link to retrieve analytics for. Must be used along with the corresponding `domain` of the short link to fetch analytics for a specific short link.
35
41
  field :key, T.nilable(::String), { 'query_param': { 'field_name': 'key', 'style': 'form', 'explode': true } }
36
- # The unique ID of the short link on Dub.
42
+ # The unique ID of the short link on Dub to retrieve analytics for.
37
43
  field :link_id, T.nilable(::String), { 'query_param': { 'field_name': 'linkId', 'style': 'form', 'explode': true } }
38
44
  # The OS to retrieve analytics for.
39
45
  field :os, T.nilable(::String), { 'query_param': { 'field_name': 'os', 'style': 'form', 'explode': true } }
40
- # Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both.
46
+ # The ID of the partner to retrieve analytics for.
47
+ field :partner_id, T.nilable(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
48
+ # The ID of the program to retrieve analytics for.
49
+ field :program_id, T.nilable(::String), { 'query_param': { 'field_name': 'programId', 'style': 'form', 'explode': true } }
50
+ # Deprecated. Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both.
41
51
  field :qr, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'qr', 'style': 'form', 'explode': true } }
42
52
  # The referer to retrieve analytics for.
43
53
  field :referer, T.nilable(::String), { 'query_param': { 'field_name': 'referer', 'style': 'form', 'explode': true } }
54
+ # The full referer URL to retrieve analytics for.
55
+ field :referer_url, T.nilable(::String), { 'query_param': { 'field_name': 'refererUrl', 'style': 'form', 'explode': true } }
56
+ # The ISO 3166-2 region code to retrieve analytics for.
57
+ field :region, T.nilable(::String), { 'query_param': { 'field_name': 'region', 'style': 'form', 'explode': true } }
44
58
  # Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.
45
59
  field :root, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'root', 'style': 'form', 'explode': true } }
46
- # The start date and time when to retrieve analytics from.
60
+ # The start date and time when to retrieve analytics from. If set, takes precedence over `interval`.
47
61
  field :start, T.nilable(::String), { 'query_param': { 'field_name': 'start', 'style': 'form', 'explode': true } }
48
- # The tag ID to retrieve analytics for.
62
+ # Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for.
49
63
  field :tag_id, T.nilable(::String), { 'query_param': { 'field_name': 'tagId', 'style': 'form', 'explode': true } }
64
+ # The tag IDs to retrieve analytics for.
65
+ field :tag_ids, T.nilable(::Object), { 'query_param': { 'field_name': 'tagIds', 'style': 'form', 'explode': true } }
66
+ # The ID of the tenant that created the link inside your system.
67
+ field :tenant_id, T.nilable(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
50
68
  # The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.
51
69
  field :timezone, T.nilable(::String), { 'query_param': { 'field_name': 'timezone', 'style': 'form', 'explode': true } }
70
+ # The trigger to retrieve analytics for. If undefined, return both QR and link clicks.
71
+ field :trigger, T.nilable(::OpenApiSDK::Operations::Trigger), { 'query_param': { 'field_name': 'trigger', 'style': 'form', 'explode': true } }
52
72
  # The URL to retrieve analytics for.
53
73
  field :url, T.nilable(::String), { 'query_param': { 'field_name': 'url', 'style': 'form', 'explode': true } }
74
+ # The UTM campaign of the short link.
75
+ field :utm_campaign, T.nilable(::String), { 'query_param': { 'field_name': 'utm_campaign', 'style': 'form', 'explode': true } }
76
+ # The UTM content of the short link.
77
+ field :utm_content, T.nilable(::String), { 'query_param': { 'field_name': 'utm_content', 'style': 'form', 'explode': true } }
78
+ # The UTM medium of the short link.
79
+ field :utm_medium, T.nilable(::String), { 'query_param': { 'field_name': 'utm_medium', 'style': 'form', 'explode': true } }
80
+ # The UTM source of the short link.
81
+ field :utm_source, T.nilable(::String), { 'query_param': { 'field_name': 'utm_source', 'style': 'form', 'explode': true } }
82
+ # The UTM term of the short link.
83
+ field :utm_term, T.nilable(::String), { 'query_param': { 'field_name': 'utm_term', 'style': 'form', 'explode': true } }
54
84
 
55
85
 
56
- sig { params(browser: T.nilable(::String), city: T.nilable(::String), country: T.nilable(::OpenApiSDK::Shared::CountryCode), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::Event), external_id: T.nilable(::String), group_by: T.nilable(::OpenApiSDK::Operations::GroupBy), interval: T.nilable(::OpenApiSDK::Operations::Interval), key: T.nilable(::String), link_id: T.nilable(::String), os: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), root: T.nilable(T::Boolean), start: T.nilable(::String), tag_id: T.nilable(::String), timezone: T.nilable(::String), url: T.nilable(::String)).void }
57
- def initialize(browser: nil, city: nil, country: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, group_by: nil, interval: nil, key: nil, link_id: nil, os: nil, qr: nil, referer: nil, root: nil, start: nil, tag_id: nil, timezone: nil, url: nil)
86
+ sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), customer_id: T.nilable(::String), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::Event), external_id: T.nilable(::String), folder_id: T.nilable(::String), group_by: T.nilable(::OpenApiSDK::Operations::GroupBy), interval: T.nilable(::OpenApiSDK::Operations::Interval), key: T.nilable(::String), link_id: T.nilable(::String), os: T.nilable(::String), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::Trigger), 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)).void }
87
+ def initialize(browser: nil, city: nil, continent: nil, country: nil, customer_id: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, folder_id: nil, group_by: nil, interval: nil, key: nil, link_id: nil, os: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
58
88
  @browser = browser
59
89
  @city = city
90
+ @continent = continent
60
91
  @country = country
92
+ @customer_id = customer_id
61
93
  @device = device
62
94
  @domain = domain
63
95
  @end_ = end_
64
96
  @event = event
65
97
  @external_id = external_id
98
+ @folder_id = folder_id
66
99
  @group_by = group_by
67
100
  @interval = interval
68
101
  @key = key
69
102
  @link_id = link_id
70
103
  @os = os
104
+ @partner_id = partner_id
105
+ @program_id = program_id
71
106
  @qr = qr
72
107
  @referer = referer
108
+ @referer_url = referer_url
109
+ @region = region
73
110
  @root = root
74
111
  @start = start
75
112
  @tag_id = tag_id
113
+ @tag_ids = tag_ids
114
+ @tenant_id = tenant_id
76
115
  @timezone = timezone
116
+ @trigger = trigger
77
117
  @url = url
118
+ @utm_campaign = utm_campaign
119
+ @utm_content = utm_content
120
+ @utm_medium = utm_medium
121
+ @utm_source = utm_source
122
+ @utm_term = utm_term
78
123
  end
79
124
  end
80
125
  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 RetrieveAnalyticsResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class RetrieveAnalyticsResponse < ::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 RetrieveLinksRequest < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :partner_id, T.nilable(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
16
+
17
+ field :tenant_id, T.nilable(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
18
+
19
+
20
+ sig { params(partner_id: T.nilable(::String), tenant_id: T.nilable(::String)).void }
21
+ def initialize(partner_id: nil, tenant_id: nil)
22
+ @partner_id = partner_id
23
+ @tenant_id = tenant_id
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,60 @@
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 RetrieveLinksResponse < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # HTTP response content type for this operation
15
+ field :content_type, ::String
16
+ # Raw HTTP response; suitable for custom response parsing
17
+ field :raw_response, ::Faraday::Response
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
21
+ field :bad_request, T.nilable(::OpenApiSDK::Shared::BadRequest)
22
+ # This response is sent when a request conflicts with the current state of the server.
23
+ field :conflict, T.nilable(::OpenApiSDK::Shared::Conflict)
24
+ # The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401 Unauthorized, the client's identity is known to the server.
25
+ field :forbidden, T.nilable(::OpenApiSDK::Shared::Forbidden)
26
+ # The server has encountered a situation it does not know how to handle.
27
+ field :internal_server_error, T.nilable(::OpenApiSDK::Shared::InternalServerError)
28
+ # This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
29
+ field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
30
+ # The retrieved partner links.
31
+ field :links, T.nilable(T::Array[::OpenApiSDK::Operations::Link])
32
+ # The server cannot find the requested resource.
33
+ field :not_found, T.nilable(::OpenApiSDK::Shared::NotFound)
34
+ # The user has sent too many requests in a given amount of time ("rate limiting")
35
+ field :rate_limit_exceeded, T.nilable(::OpenApiSDK::Shared::RateLimitExceeded)
36
+ # Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
37
+ field :unauthorized, T.nilable(::OpenApiSDK::Shared::Unauthorized)
38
+ # The request was well-formed but was unable to be followed due to semantic errors.
39
+ field :unprocessable_entity, T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)
40
+
41
+
42
+ sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::OpenApiSDK::Shared::BadRequest), conflict: T.nilable(::OpenApiSDK::Shared::Conflict), forbidden: T.nilable(::OpenApiSDK::Shared::Forbidden), internal_server_error: T.nilable(::OpenApiSDK::Shared::InternalServerError), invite_expired: T.nilable(::OpenApiSDK::Shared::InviteExpired), links: T.nilable(T::Array[::OpenApiSDK::Operations::Link]), not_found: T.nilable(::OpenApiSDK::Shared::NotFound), rate_limit_exceeded: T.nilable(::OpenApiSDK::Shared::RateLimitExceeded), unauthorized: T.nilable(::OpenApiSDK::Shared::Unauthorized), unprocessable_entity: T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)).void }
43
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, conflict: nil, forbidden: nil, internal_server_error: nil, invite_expired: nil, links: nil, not_found: nil, rate_limit_exceeded: nil, unauthorized: nil, unprocessable_entity: nil)
44
+ @content_type = content_type
45
+ @raw_response = raw_response
46
+ @status_code = status_code
47
+ @bad_request = bad_request
48
+ @conflict = conflict
49
+ @forbidden = forbidden
50
+ @internal_server_error = internal_server_error
51
+ @invite_expired = invite_expired
52
+ @links = links
53
+ @not_found = not_found
54
+ @rate_limit_exceeded = rate_limit_exceeded
55
+ @unauthorized = unauthorized
56
+ @unprocessable_entity = unprocessable_entity
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,25 @@
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
+ # RetrievePartnerAnalyticsQueryParamInterval - The interval to retrieve analytics for. If undefined, defaults to 24h.
11
+ class RetrievePartnerAnalyticsQueryParamInterval < T::Enum
12
+ enums do
13
+ TWENTY_FOURH = new('24h')
14
+ SEVEND = new('7d')
15
+ THIRTYD = new('30d')
16
+ NINETYD = new('90d')
17
+ ONEY = new('1y')
18
+ MTD = new('mtd')
19
+ QTD = new('qtd')
20
+ YTD = new('ytd')
21
+ ALL = new('all')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,42 @@
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 RetrievePartnerAnalyticsRequest < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The end date and time when to retrieve analytics from. If not provided, defaults to the current date. If set along with `start`, takes precedence over `interval`.
15
+ field :end_, T.nilable(::String), { 'query_param': { 'field_name': 'end', 'style': 'form', 'explode': true } }
16
+ # The parameter to group the analytics data points by. Defaults to `count` if undefined.
17
+ field :group_by, T.nilable(::OpenApiSDK::Operations::QueryParamGroupBy), { 'query_param': { 'field_name': 'groupBy', 'style': 'form', 'explode': true } }
18
+ # The interval to retrieve analytics for. If undefined, defaults to 24h.
19
+ field :interval, T.nilable(::OpenApiSDK::Operations::RetrievePartnerAnalyticsQueryParamInterval), { 'query_param': { 'field_name': 'interval', 'style': 'form', 'explode': true } }
20
+ # The ID of the partner to retrieve analytics for.
21
+ field :partner_id, T.nilable(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
22
+ # The start date and time when to retrieve analytics from. If set, takes precedence over `interval`.
23
+ field :start, T.nilable(::String), { 'query_param': { 'field_name': 'start', 'style': 'form', 'explode': true } }
24
+ # The ID of the tenant that created the link inside your system.
25
+ field :tenant_id, T.nilable(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
26
+ # The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.
27
+ field :timezone, T.nilable(::String), { 'query_param': { 'field_name': 'timezone', 'style': 'form', 'explode': true } }
28
+
29
+
30
+ sig { params(end_: T.nilable(::String), group_by: T.nilable(::OpenApiSDK::Operations::QueryParamGroupBy), interval: T.nilable(::OpenApiSDK::Operations::RetrievePartnerAnalyticsQueryParamInterval), partner_id: T.nilable(::String), start: T.nilable(::String), tenant_id: T.nilable(::String), timezone: T.nilable(::String)).void }
31
+ def initialize(end_: nil, group_by: nil, interval: nil, partner_id: nil, start: nil, tenant_id: nil, timezone: nil)
32
+ @end_ = end_
33
+ @group_by = group_by
34
+ @interval = interval
35
+ @partner_id = partner_id
36
+ @start = start
37
+ @tenant_id = tenant_id
38
+ @timezone = timezone
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,60 @@
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 RetrievePartnerAnalyticsResponse < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # HTTP response content type for this operation
15
+ field :content_type, ::String
16
+ # Raw HTTP response; suitable for custom response parsing
17
+ field :raw_response, ::Faraday::Response
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
21
+ field :bad_request, T.nilable(::OpenApiSDK::Shared::BadRequest)
22
+ # This response is sent when a request conflicts with the current state of the server.
23
+ field :conflict, T.nilable(::OpenApiSDK::Shared::Conflict)
24
+ # The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401 Unauthorized, the client's identity is known to the server.
25
+ field :forbidden, T.nilable(::OpenApiSDK::Shared::Forbidden)
26
+ # The server has encountered a situation it does not know how to handle.
27
+ field :internal_server_error, T.nilable(::OpenApiSDK::Shared::InternalServerError)
28
+ # This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
29
+ field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
30
+ # The server cannot find the requested resource.
31
+ field :not_found, T.nilable(::OpenApiSDK::Shared::NotFound)
32
+ # Partner analytics data
33
+ field :one_of, T.nilable(::Object)
34
+ # The user has sent too many requests in a given amount of time ("rate limiting")
35
+ field :rate_limit_exceeded, T.nilable(::OpenApiSDK::Shared::RateLimitExceeded)
36
+ # Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
37
+ field :unauthorized, T.nilable(::OpenApiSDK::Shared::Unauthorized)
38
+ # The request was well-formed but was unable to be followed due to semantic errors.
39
+ field :unprocessable_entity, T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)
40
+
41
+
42
+ sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::OpenApiSDK::Shared::BadRequest), conflict: T.nilable(::OpenApiSDK::Shared::Conflict), forbidden: T.nilable(::OpenApiSDK::Shared::Forbidden), internal_server_error: T.nilable(::OpenApiSDK::Shared::InternalServerError), invite_expired: T.nilable(::OpenApiSDK::Shared::InviteExpired), not_found: T.nilable(::OpenApiSDK::Shared::NotFound), one_of: T.nilable(::Object), rate_limit_exceeded: T.nilable(::OpenApiSDK::Shared::RateLimitExceeded), unauthorized: T.nilable(::OpenApiSDK::Shared::Unauthorized), unprocessable_entity: T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)).void }
43
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, conflict: nil, forbidden: nil, internal_server_error: nil, invite_expired: nil, not_found: nil, one_of: nil, rate_limit_exceeded: nil, unauthorized: nil, unprocessable_entity: nil)
44
+ @content_type = content_type
45
+ @raw_response = raw_response
46
+ @status_code = status_code
47
+ @bad_request = bad_request
48
+ @conflict = conflict
49
+ @forbidden = forbidden
50
+ @internal_server_error = internal_server_error
51
+ @invite_expired = invite_expired
52
+ @not_found = not_found
53
+ @one_of = one_of
54
+ @rate_limit_exceeded = rate_limit_exceeded
55
+ @unauthorized = unauthorized
56
+ @unprocessable_entity = unprocessable_entity
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,36 @@
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 Sale < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
+
17
+ field :currency, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
18
+
19
+ field :invoice_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
20
+
21
+ field :metadata, T::Hash[Symbol, ::Object], { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }
22
+
23
+ field :payment_processor, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paymentProcessor') } }
24
+
25
+
26
+ sig { params(amount: ::Float, currency: ::String, invoice_id: ::String, metadata: T::Hash[Symbol, ::Object], payment_processor: ::String).void }
27
+ def initialize(amount: nil, currency: nil, invoice_id: nil, metadata: nil, payment_processor: nil)
28
+ @amount = amount
29
+ @currency = currency
30
+ @invoice_id = invoice_id
31
+ @metadata = metadata
32
+ @payment_processor = payment_processor
33
+ end
34
+ end
35
+ end
36
+ 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
@@ -7,14 +7,16 @@
7
7
  module OpenApiSDK
8
8
  module Operations
9
9
 
10
- # Sort - The field to sort the links by. The default is `createdAt`, and sort order is always descending.
10
+ # Sort - DEPRECATED. Use `sortBy` instead.
11
+ #
12
+ # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
11
13
  class Sort < T::Enum
12
14
  enums do
13
15
  CREATED_AT = new('createdAt')
14
16
  CLICKS = new('clicks')
17
+ SALE_AMOUNT = new('saleAmount')
15
18
  LAST_CLICKED = new('lastClicked')
16
19
  end
17
20
  end
18
-
19
21
  end
20
22
  end