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
@@ -0,0 +1,48 @@
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 Link < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The number of clicks on the short link.
15
+ field :clicks, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
16
+ # The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
17
+ field :domain, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
18
+ # The unique ID of the short link.
19
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
+ # The short link slug. If not provided, a random 7-character slug will be generated.
21
+ field :key, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
22
+ # The number of leads the short links has generated.
23
+ field :leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
24
+ # The total dollar amount of sales the short links has generated (in cents).
25
+ field :sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
26
+ # The number of sales the short links has generated.
27
+ field :sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
28
+ # The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
29
+ field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink') } }
30
+ # The destination URL of the short link.
31
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
32
+
33
+
34
+ sig { params(clicks: ::Float, domain: ::String, id: ::String, key: ::String, leads: ::Float, sale_amount: ::Float, sales: ::Float, short_link: ::String, url: ::String).void }
35
+ def initialize(clicks: nil, domain: nil, id: nil, key: nil, leads: nil, sale_amount: nil, sales: nil, short_link: nil, url: nil)
36
+ @clicks = clicks
37
+ @domain = domain
38
+ @id = id
39
+ @key = key
40
+ @leads = leads
41
+ @sale_amount = sale_amount
42
+ @sales = sales
43
+ @short_link = short_link
44
+ @url = url
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,111 @@
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
+ # Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner.
11
+ class LinkProps < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The Android destination URL for the short link for Android device targeting.
15
+ field :android, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('android') } }
16
+ # Whether the short link is archived. Defaults to `false` if not provided.
17
+ field :archived, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('archived') } }
18
+ # The comments for the short link.
19
+ field :comments, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
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
+ field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
22
+ # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
23
+ field :do_index, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
24
+ # The URL to redirect to when the short link has expired.
25
+ field :expired_url, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiredUrl') } }
26
+ # The date and time when the short link will expire at.
27
+ field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
28
+ # 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.
29
+ field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
30
+ # The unique ID existing folder to assign the short link to.
31
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
32
+ # The custom link preview image (og:image). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
33
+ field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
34
+ # The iOS destination URL for the short link for iOS device targeting.
35
+ field :ios, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ios') } }
36
+ # 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`.
37
+ field :key_length, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('keyLength') } }
38
+ # The password required to access the destination URL of the short link.
39
+ field :password, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('password') } }
40
+ # 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.
41
+ field :prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('prefix') } }
42
+ # Whether the short link uses Custom Link Previews feature. Defaults to `false` if not provided.
43
+ field :proxy, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('proxy') } }
44
+ # The referral tag of the short link. If set, this will populate or override the `ref` query parameter in the destination URL.
45
+ field :ref, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
46
+ # Whether the short link uses link cloaking. Defaults to `false` if not provided.
47
+ field :rewrite, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
48
+ # The unique IDs of the tags assigned to the short link.
49
+ field :tag_ids, T.nilable(::Object), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagIds') } }
50
+ # The unique name of the tags assigned to the short link (case insensitive).
51
+ field :tag_names, T.nilable(::Object), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagNames') } }
52
+ # 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.
53
+ field :tenant_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
54
+ # The date and time when the tests were or will be completed.
55
+ field :test_completed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt') } }
56
+ # The date and time when the tests started.
57
+ field :test_started_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt') } }
58
+ # An array of A/B test URLs and the percentage of traffic to send to each URL.
59
+ field :test_variants, T.nilable(T::Array[::OpenApiSDK::Operations::CreatePartnerTestVariants]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testVariants') } }
60
+ # 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
+ field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('title') } }
62
+ # The UTM campaign of the short link. If set, this will populate or override the UTM campaign in the destination URL.
63
+ field :utm_campaign, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_campaign') } }
64
+ # The UTM content of the short link. If set, this will populate or override the UTM content in the destination URL.
65
+ field :utm_content, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content') } }
66
+ # The UTM medium of the short link. If set, this will populate or override the UTM medium in the destination URL.
67
+ field :utm_medium, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_medium') } }
68
+ # The UTM source of the short link. If set, this will populate or override the UTM source in the destination URL.
69
+ field :utm_source, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_source') } }
70
+ # The UTM term of the short link. If set, this will populate or override the UTM term in the destination URL.
71
+ field :utm_term, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_term') } }
72
+ # The custom link preview video (og:video). Will be used for Custom Link Previews if `proxy` is true. Learn more: https://d.to/og
73
+ field :video, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('video') } }
74
+
75
+
76
+ 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), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), folder_id: T.nilable(::String), image: T.nilable(::String), ios: T.nilable(::String), key_length: T.nilable(::Float), password: T.nilable(::String), prefix: T.nilable(::String), proxy: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), 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::CreatePartnerTestVariants]), title: 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)).void }
77
+ def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, image: nil, ios: nil, key_length: nil, password: nil, prefix: nil, proxy: nil, ref: nil, rewrite: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, test_completed_at: nil, test_started_at: nil, test_variants: nil, title: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil)
78
+ @android = android
79
+ @archived = archived
80
+ @comments = comments
81
+ @description = description
82
+ @do_index = do_index
83
+ @expired_url = expired_url
84
+ @expires_at = expires_at
85
+ @external_id = external_id
86
+ @folder_id = folder_id
87
+ @image = image
88
+ @ios = ios
89
+ @key_length = key_length
90
+ @password = password
91
+ @prefix = prefix
92
+ @proxy = proxy
93
+ @ref = ref
94
+ @rewrite = rewrite
95
+ @tag_ids = tag_ids
96
+ @tag_names = tag_names
97
+ @tenant_id = tenant_id
98
+ @test_completed_at = test_completed_at
99
+ @test_started_at = test_started_at
100
+ @test_variants = test_variants
101
+ @title = title
102
+ @utm_campaign = utm_campaign
103
+ @utm_content = utm_content
104
+ @utm_medium = utm_medium
105
+ @utm_source = utm_source
106
+ @utm_term = utm_term
107
+ @video = video
108
+ end
109
+ end
110
+ end
111
+ 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
+ # ListCommissionsQueryParamInterval - The interval to retrieve commissions for.
11
+ class ListCommissionsQueryParamInterval < 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,18 @@
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
+ # ListCommissionsQueryParamSortBy - The field to sort the list of commissions by.
11
+ class ListCommissionsQueryParamSortBy < T::Enum
12
+ enums do
13
+ CREATED_AT = new('createdAt')
14
+ AMOUNT = new('amount')
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
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
+ # ListCommissionsQueryParamSortOrder - The sort order for the list of commissions.
11
+ class ListCommissionsQueryParamSortOrder < T::Enum
12
+ enums do
13
+ ASC = new('asc')
14
+ DESC = new('desc')
15
+ end
16
+ end
17
+ end
18
+ 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 ListCommissionsRequest < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Filter the list of commissions by the associated customer.
15
+ field :customer_id, T.nilable(::String), { 'query_param': { 'field_name': 'customerId', 'style': 'form', 'explode': true } }
16
+ # The end date of the date range to filter the commissions by.
17
+ field :end_, T.nilable(::String), { 'query_param': { 'field_name': 'end', 'style': 'form', 'explode': true } }
18
+ # The interval to retrieve commissions for.
19
+ field :interval, T.nilable(::OpenApiSDK::Operations::ListCommissionsQueryParamInterval), { 'query_param': { 'field_name': 'interval', 'style': 'form', 'explode': true } }
20
+ # Filter the list of commissions by the associated invoice. Since invoiceId is unique on a per-program basis, this will only return one commission per invoice.
21
+ field :invoice_id, T.nilable(::String), { 'query_param': { 'field_name': 'invoiceId', 'style': 'form', 'explode': true } }
22
+ # The page number for pagination.
23
+ field :page, T.nilable(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
24
+ # The number of items per page.
25
+ field :page_size, T.nilable(::Float), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
26
+ # Filter the list of commissions by the associated partner.
27
+ field :partner_id, T.nilable(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
28
+ # Filter the list of commissions by the associated payout.
29
+ field :payout_id, T.nilable(::String), { 'query_param': { 'field_name': 'payoutId', 'style': 'form', 'explode': true } }
30
+ # The field to sort the list of commissions by.
31
+ field :sort_by, T.nilable(::OpenApiSDK::Operations::ListCommissionsQueryParamSortBy), { 'query_param': { 'field_name': 'sortBy', 'style': 'form', 'explode': true } }
32
+ # The sort order for the list of commissions.
33
+ field :sort_order, T.nilable(::OpenApiSDK::Operations::ListCommissionsQueryParamSortOrder), { 'query_param': { 'field_name': 'sortOrder', 'style': 'form', 'explode': true } }
34
+ # The start date of the date range to filter the commissions by.
35
+ field :start, T.nilable(::String), { 'query_param': { 'field_name': 'start', 'style': 'form', 'explode': true } }
36
+ # Filter the list of commissions by their corresponding status.
37
+ field :status, T.nilable(::OpenApiSDK::Operations::QueryParamStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': true } }
38
+
39
+ field :type, T.nilable(::OpenApiSDK::Operations::Type), { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } }
40
+
41
+
42
+ sig { params(customer_id: T.nilable(::String), end_: T.nilable(::String), interval: T.nilable(::OpenApiSDK::Operations::ListCommissionsQueryParamInterval), invoice_id: T.nilable(::String), page: T.nilable(::Float), page_size: T.nilable(::Float), partner_id: T.nilable(::String), payout_id: T.nilable(::String), sort_by: T.nilable(::OpenApiSDK::Operations::ListCommissionsQueryParamSortBy), sort_order: T.nilable(::OpenApiSDK::Operations::ListCommissionsQueryParamSortOrder), start: T.nilable(::String), status: T.nilable(::OpenApiSDK::Operations::QueryParamStatus), type: T.nilable(::OpenApiSDK::Operations::Type)).void }
43
+ def initialize(customer_id: nil, end_: nil, interval: nil, invoice_id: nil, page: nil, page_size: nil, partner_id: nil, payout_id: nil, sort_by: nil, sort_order: nil, start: nil, status: nil, type: nil)
44
+ @customer_id = customer_id
45
+ @end_ = end_
46
+ @interval = interval
47
+ @invoice_id = invoice_id
48
+ @page = page
49
+ @page_size = page_size
50
+ @partner_id = partner_id
51
+ @payout_id = payout_id
52
+ @sort_by = sort_by
53
+ @sort_order = sort_order
54
+ @start = start
55
+ @status = status
56
+ @type = type
57
+ end
58
+ end
59
+ end
60
+ 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 ListCommissionsResponse < ::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
+ # The user has sent too many requests in a given amount of time ("rate limiting")
33
+ field :rate_limit_exceeded, T.nilable(::OpenApiSDK::Shared::RateLimitExceeded)
34
+ # The list of commissions.
35
+ field :response_bodies, T.nilable(T::Array[::OpenApiSDK::Operations::ListCommissionsResponseBody])
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), rate_limit_exceeded: T.nilable(::OpenApiSDK::Shared::RateLimitExceeded), response_bodies: T.nilable(T::Array[::OpenApiSDK::Operations::ListCommissionsResponseBody]), 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, rate_limit_exceeded: nil, response_bodies: 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
+ @rate_limit_exceeded = rate_limit_exceeded
54
+ @response_bodies = response_bodies
55
+ @unauthorized = unauthorized
56
+ @unprocessable_entity = unprocessable_entity
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,51 @@
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 ListCommissionsResponseBody < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
+
17
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
18
+
19
+ field :currency, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
20
+
21
+ field :earnings, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('earnings') } }
22
+ # The commission's unique ID on Dub.
23
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
24
+
25
+ field :status, ::OpenApiSDK::Operations::ListCommissionsStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::ListCommissionsStatus, false) } }
26
+
27
+ field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }
28
+
29
+ field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
30
+
31
+ field :invoice_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
32
+
33
+ field :type, T.nilable(::OpenApiSDK::Operations::ListCommissionsType), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::ListCommissionsType, true) } }
34
+
35
+
36
+ sig { params(amount: ::Float, created_at: ::String, currency: ::String, earnings: ::Float, id: ::String, status: ::OpenApiSDK::Operations::ListCommissionsStatus, updated_at: ::String, description: T.nilable(::String), invoice_id: T.nilable(::String), type: T.nilable(::OpenApiSDK::Operations::ListCommissionsType)).void }
37
+ def initialize(amount: nil, created_at: nil, currency: nil, earnings: nil, id: nil, status: nil, updated_at: nil, description: nil, invoice_id: nil, type: nil)
38
+ @amount = amount
39
+ @created_at = created_at
40
+ @currency = currency
41
+ @earnings = earnings
42
+ @id = id
43
+ @status = status
44
+ @updated_at = updated_at
45
+ @description = description
46
+ @invoice_id = invoice_id
47
+ @type = type
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,23 @@
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 ListCommissionsStatus < T::Enum
12
+ enums do
13
+ PENDING = new('pending')
14
+ PROCESSED = new('processed')
15
+ PAID = new('paid')
16
+ REFUNDED = new('refunded')
17
+ DUPLICATE = new('duplicate')
18
+ FRAUD = new('fraud')
19
+ CANCELED = new('canceled')
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,20 @@
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 ListCommissionsType < T::Enum
12
+ enums do
13
+ CLICK = new('click')
14
+ LEAD = new('lead')
15
+ SALE = new('sale')
16
+ CUSTOM = new('custom')
17
+ end
18
+ end
19
+ end
20
+ 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 ListDomainsRequest < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Whether to include archived domains in the response. Defaults to `false` if not provided.
15
+ field :archived, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'archived', 'style': 'form', 'explode': true } }
16
+ # The page number for pagination.
17
+ field :page, T.nilable(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
18
+ # The number of items per page.
19
+ field :page_size, T.nilable(::Float), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
20
+ # The search term to filter the domains by.
21
+ field :search, T.nilable(::String), { 'query_param': { 'field_name': 'search', 'style': 'form', 'explode': true } }
22
+
23
+
24
+ sig { params(archived: T.nilable(T::Boolean), page: T.nilable(::Float), page_size: T.nilable(::Float), search: T.nilable(::String)).void }
25
+ def initialize(archived: nil, page: nil, page_size: nil, search: nil)
26
+ @archived = archived
27
+ @page = page
28
+ @page_size = page_size
29
+ @search = search
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,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class ListDomainsResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class ListDomainsResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -0,0 +1,138 @@
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 ListEventsRequest < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The browser to retrieve analytics for.
15
+ field :browser, T.nilable(::String), { 'query_param': { 'field_name': 'browser', 'style': 'form', 'explode': true } }
16
+ # The city to retrieve analytics for.
17
+ field :city, T.nilable(::String), { 'query_param': { 'field_name': 'city', 'style': 'form', 'explode': true } }
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
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 } }
24
+ # The device to retrieve analytics for.
25
+ field :device, T.nilable(::String), { 'query_param': { 'field_name': 'device', 'style': 'form', 'explode': true } }
26
+ # The domain to filter analytics for.
27
+ field :domain, T.nilable(::String), { 'query_param': { 'field_name': 'domain', 'style': 'form', 'explode': true } }
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`.
29
+ field :end_, T.nilable(::String), { 'query_param': { 'field_name': 'end', 'style': 'form', 'explode': true } }
30
+ # The type of event to retrieve analytics for. Defaults to 'clicks'.
31
+ field :event, T.nilable(::OpenApiSDK::Operations::QueryParamEvent), { 'query_param': { 'field_name': 'event', 'style': 'form', 'explode': true } }
32
+ # The ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.
33
+ field :external_id, T.nilable(::String), { 'query_param': { 'field_name': 'externalId', 'style': 'form', 'explode': true } }
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 interval to retrieve analytics for. If undefined, defaults to 24h.
37
+ field :interval, T.nilable(::OpenApiSDK::Operations::QueryParamInterval), { 'query_param': { 'field_name': 'interval', 'style': 'form', 'explode': true } }
38
+ # 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.
39
+ field :key, T.nilable(::String), { 'query_param': { 'field_name': 'key', 'style': 'form', 'explode': true } }
40
+
41
+ field :limit, T.nilable(::Float), { 'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': true } }
42
+ # The unique ID of the short link on Dub to retrieve analytics for.
43
+ field :link_id, T.nilable(::String), { 'query_param': { 'field_name': 'linkId', 'style': 'form', 'explode': true } }
44
+ # DEPRECATED. Use `sortOrder` instead.
45
+ field :order, T.nilable(::OpenApiSDK::Operations::Order), { 'query_param': { 'field_name': 'order', 'style': 'form', 'explode': true } }
46
+ # The OS to retrieve analytics for.
47
+ field :os, T.nilable(::String), { 'query_param': { 'field_name': 'os', 'style': 'form', 'explode': true } }
48
+
49
+ field :page, T.nilable(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
50
+ # The ID of the partner to retrieve analytics for.
51
+ field :partner_id, T.nilable(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
52
+ # The ID of the program to retrieve analytics for.
53
+ field :program_id, T.nilable(::String), { 'query_param': { 'field_name': 'programId', 'style': 'form', 'explode': true } }
54
+ # 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.
55
+ field :qr, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'qr', 'style': 'form', 'explode': true } }
56
+ # The referer to retrieve analytics for.
57
+ field :referer, T.nilable(::String), { 'query_param': { 'field_name': 'referer', 'style': 'form', 'explode': true } }
58
+ # The full referer URL to retrieve analytics for.
59
+ field :referer_url, T.nilable(::String), { 'query_param': { 'field_name': 'refererUrl', 'style': 'form', 'explode': true } }
60
+ # The ISO 3166-2 region code to retrieve analytics for.
61
+ field :region, T.nilable(::String), { 'query_param': { 'field_name': 'region', 'style': 'form', 'explode': true } }
62
+ # Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.
63
+ field :root, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'root', 'style': 'form', 'explode': true } }
64
+ # The field to sort the events by. The default is `timestamp`.
65
+ field :sort_by, T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), { 'query_param': { 'field_name': 'sortBy', 'style': 'form', 'explode': true } }
66
+ # The sort order. The default is `desc`.
67
+ field :sort_order, T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), { 'query_param': { 'field_name': 'sortOrder', 'style': 'form', 'explode': true } }
68
+ # The start date and time when to retrieve analytics from. If set, takes precedence over `interval`.
69
+ field :start, T.nilable(::String), { 'query_param': { 'field_name': 'start', 'style': 'form', 'explode': true } }
70
+ # Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for.
71
+ field :tag_id, T.nilable(::String), { 'query_param': { 'field_name': 'tagId', 'style': 'form', 'explode': true } }
72
+ # The tag IDs to retrieve analytics for.
73
+ field :tag_ids, T.nilable(::Object), { 'query_param': { 'field_name': 'tagIds', 'style': 'form', 'explode': true } }
74
+ # The ID of the tenant that created the link inside your system.
75
+ field :tenant_id, T.nilable(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
76
+ # The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.
77
+ field :timezone, T.nilable(::String), { 'query_param': { 'field_name': 'timezone', 'style': 'form', 'explode': true } }
78
+ # The trigger to retrieve analytics for. If undefined, return both QR and link clicks.
79
+ field :trigger, T.nilable(::OpenApiSDK::Operations::QueryParamTrigger), { 'query_param': { 'field_name': 'trigger', 'style': 'form', 'explode': true } }
80
+ # The URL to retrieve analytics for.
81
+ field :url, T.nilable(::String), { 'query_param': { 'field_name': 'url', 'style': 'form', 'explode': true } }
82
+ # The UTM campaign of the short link.
83
+ field :utm_campaign, T.nilable(::String), { 'query_param': { 'field_name': 'utm_campaign', 'style': 'form', 'explode': true } }
84
+ # The UTM content of the short link.
85
+ field :utm_content, T.nilable(::String), { 'query_param': { 'field_name': 'utm_content', 'style': 'form', 'explode': true } }
86
+ # The UTM medium of the short link.
87
+ field :utm_medium, T.nilable(::String), { 'query_param': { 'field_name': 'utm_medium', 'style': 'form', 'explode': true } }
88
+ # The UTM source of the short link.
89
+ field :utm_source, T.nilable(::String), { 'query_param': { 'field_name': 'utm_source', 'style': 'form', 'explode': true } }
90
+ # The UTM term of the short link.
91
+ field :utm_term, T.nilable(::String), { 'query_param': { 'field_name': 'utm_term', 'style': 'form', 'explode': true } }
92
+
93
+
94
+ 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::QueryParamEvent), external_id: T.nilable(::String), folder_id: T.nilable(::String), interval: T.nilable(::OpenApiSDK::Operations::QueryParamInterval), key: T.nilable(::String), limit: T.nilable(::Float), link_id: T.nilable(::String), order: T.nilable(::OpenApiSDK::Operations::Order), os: T.nilable(::String), page: T.nilable(::Float), 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), sort_by: T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), sort_order: T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), 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::QueryParamTrigger), 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 }
95
+ 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, interval: nil, key: nil, limit: nil, link_id: nil, order: nil, os: nil, page: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, sort_by: nil, sort_order: 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)
96
+ @browser = browser
97
+ @city = city
98
+ @continent = continent
99
+ @country = country
100
+ @customer_id = customer_id
101
+ @device = device
102
+ @domain = domain
103
+ @end_ = end_
104
+ @event = event
105
+ @external_id = external_id
106
+ @folder_id = folder_id
107
+ @interval = interval
108
+ @key = key
109
+ @limit = limit
110
+ @link_id = link_id
111
+ @order = order
112
+ @os = os
113
+ @page = page
114
+ @partner_id = partner_id
115
+ @program_id = program_id
116
+ @qr = qr
117
+ @referer = referer
118
+ @referer_url = referer_url
119
+ @region = region
120
+ @root = root
121
+ @sort_by = sort_by
122
+ @sort_order = sort_order
123
+ @start = start
124
+ @tag_id = tag_id
125
+ @tag_ids = tag_ids
126
+ @tenant_id = tenant_id
127
+ @timezone = timezone
128
+ @trigger = trigger
129
+ @url = url
130
+ @utm_campaign = utm_campaign
131
+ @utm_content = utm_content
132
+ @utm_medium = utm_medium
133
+ @utm_source = utm_source
134
+ @utm_term = utm_term
135
+ end
136
+ end
137
+ end
138
+ end