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,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 CreateFolderResponse < ::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 created folder
25
+ field :folder_schema, T.nilable(::OpenApiSDK::Shared::FolderSchema)
26
+ # 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.
27
+ field :forbidden, T.nilable(::OpenApiSDK::Shared::Forbidden)
28
+ # The server has encountered a situation it does not know how to handle.
29
+ field :internal_server_error, T.nilable(::OpenApiSDK::Shared::InternalServerError)
30
+ # This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
31
+ field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
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), folder_schema: T.nilable(::OpenApiSDK::Shared::FolderSchema), 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), 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, folder_schema: nil, forbidden: nil, internal_server_error: nil, invite_expired: 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
+ @folder_schema = folder_schema
50
+ @forbidden = forbidden
51
+ @internal_server_error = internal_server_error
52
+ @invite_expired = invite_expired
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
@@ -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 CreateLinkRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class CreateLinkRequestBody < ::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::TestVariants]), { '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::TestVariants]), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
101
+ def initialize(url: nil, android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, image: nil, ios: nil, key: nil, key_length: nil, partner_id: nil, password: nil, prefix: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, test_completed_at: nil, test_started_at: nil, test_variants: nil, title: nil, track_conversion: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
68
102
  @url = url
69
103
  @android = android
70
104
  @archived = archived
@@ -75,20 +109,36 @@ module OpenApiSDK
75
109
  @expired_url = expired_url
76
110
  @expires_at = expires_at
77
111
  @external_id = external_id
112
+ @folder_id = folder_id
78
113
  @geo = geo
79
114
  @image = image
80
115
  @ios = ios
81
116
  @key = key
117
+ @key_length = key_length
118
+ @partner_id = partner_id
82
119
  @password = password
83
120
  @prefix = prefix
121
+ @program_id = program_id
84
122
  @proxy = proxy
85
123
  @public_stats = public_stats
124
+ @ref = ref
86
125
  @rewrite = rewrite
87
126
  @tag_id = tag_id
88
127
  @tag_ids = tag_ids
89
128
  @tag_names = tag_names
129
+ @tenant_id = tenant_id
130
+ @test_completed_at = test_completed_at
131
+ @test_started_at = test_started_at
132
+ @test_variants = test_variants
90
133
  @title = title
91
134
  @track_conversion = track_conversion
135
+ @utm_campaign = utm_campaign
136
+ @utm_content = utm_content
137
+ @utm_medium = utm_medium
138
+ @utm_source = utm_source
139
+ @utm_term = utm_term
140
+ @video = video
141
+ @webhook_ids = webhook_ids
92
142
  end
93
143
  end
94
144
  end
@@ -1,4 +1,4 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class CreateLinkResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class CreateLinkResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -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 CreatePartnerLink < ::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,45 @@
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 CreatePartnerRequestBody < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The partner's email address. Partners will be able to claim their profile by signing up at `partners.dub.co` with this email.
15
+ field :email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
16
+ # The partner's country of residence. Must be passed as a 2-letter ISO 3166-1 country code. Learn more: https://d.to/geo
17
+ field :country, T.nilable(::OpenApiSDK::Operations::Country), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::Country, true) } }
18
+ # A brief description of the partner and their background. Max 5,000 characters.
19
+ field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
20
+ # The partner's avatar image. If not provided, a default avatar will be used.
21
+ field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
22
+ # Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner.
23
+ field :link_props, T.nilable(::OpenApiSDK::Operations::LinkProps), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkProps') } }
24
+ # The partner's full name. If undefined, the partner's email will be used in lieu of their name (e.g. `john@acme.com`)
25
+ field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
26
+ # The partner's unique ID in your system. Useful for retrieving the partner's links and stats later on. If not provided, the partner will be created as a standalone partner.
27
+ field :tenant_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
28
+ # The partner's unique username in your system (max 100 characters). This will be used to create a short link for the partner using your program's default domain. If not provided, Dub will try to generate a username from the partner's name or email.
29
+ field :username, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('username') } }
30
+
31
+
32
+ sig { params(email: ::String, country: T.nilable(::OpenApiSDK::Operations::Country), description: T.nilable(::String), image: T.nilable(::String), link_props: T.nilable(::OpenApiSDK::Operations::LinkProps), name: T.nilable(::String), tenant_id: T.nilable(::String), username: T.nilable(::String)).void }
33
+ def initialize(email: nil, country: nil, description: nil, image: nil, link_props: nil, name: nil, tenant_id: nil, username: nil)
34
+ @email = email
35
+ @country = country
36
+ @description = description
37
+ @image = image
38
+ @link_props = link_props
39
+ @name = name
40
+ @tenant_id = tenant_id
41
+ @username = username
42
+ end
43
+ end
44
+ end
45
+ 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 TrackCustomerResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class CreatePartnerResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -29,8 +29,8 @@ module OpenApiSDK
29
29
  field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
30
30
  # The server cannot find the requested resource.
31
31
  field :not_found, T.nilable(::OpenApiSDK::Shared::NotFound)
32
- # A customer was tracked.
33
- field :object, T.nilable(::OpenApiSDK::Operations::TrackCustomerResponseBody)
32
+ # The created partner
33
+ field :object, T.nilable(::OpenApiSDK::Operations::CreatePartnerResponseBody)
34
34
  # The user has sent too many requests in a given amount of time ("rate limiting")
35
35
  field :rate_limit_exceeded, T.nilable(::OpenApiSDK::Shared::RateLimitExceeded)
36
36
  # Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
@@ -39,7 +39,7 @@ module OpenApiSDK
39
39
  field :unprocessable_entity, T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)
40
40
 
41
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), object: T.nilable(::OpenApiSDK::Operations::TrackCustomerResponseBody), rate_limit_exceeded: T.nilable(::OpenApiSDK::Shared::RateLimitExceeded), unauthorized: T.nilable(::OpenApiSDK::Shared::Unauthorized), unprocessable_entity: T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)).void }
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), object: T.nilable(::OpenApiSDK::Operations::CreatePartnerResponseBody), rate_limit_exceeded: T.nilable(::OpenApiSDK::Shared::RateLimitExceeded), unauthorized: T.nilable(::OpenApiSDK::Shared::Unauthorized), unprocessable_entity: T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)).void }
43
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, object: nil, rate_limit_exceeded: nil, unauthorized: nil, unprocessable_entity: nil)
44
44
  @content_type = content_type
45
45
  @raw_response = raw_response
@@ -0,0 +1,104 @@
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
+ # The created partner
11
+ class CreatePartnerResponseBody < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The total number of clicks on the partner's links.
15
+ field :clicks, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
16
+ # The partner's country (required for tax purposes).
17
+ field :country, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }
18
+ # The date when the partner was created on Dub.
19
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
20
+ # DEPRECATED: The total earnings/commissions accrued by the partner's links.
21
+ #
22
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
23
+ field :earnings, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('earnings') } }
24
+ # The partner's email address. Should be a unique value across Dub.
25
+ field :email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
26
+ # The partner's unique ID on Dub.
27
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
28
+ # The partner's avatar image.
29
+ field :image, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
30
+ # The partner's Instagram username (e.g. `johndoe`).
31
+ field :instagram, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
32
+ # The total number of leads generated by the partner's links.
33
+ field :leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
34
+ # The partner's LinkedIn username (e.g. `johndoe`).
35
+ field :linkedin, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedin') } }
36
+ # The partner's referral links in this program.
37
+ field :links, T::Array[::OpenApiSDK::Operations::CreatePartnerLink], { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('links') } }
38
+ # The partner's full legal name.
39
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
40
+ # The total net revenue generated by the partner.
41
+ field :net_revenue, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('netRevenue') } }
42
+ # The date when the partner enabled payouts.
43
+ field :payouts_enabled_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt') } }
44
+ # The partner's PayPal email (for receiving payouts via PayPal).
45
+ field :paypal_email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paypalEmail') } }
46
+ # The program's unique ID on Dub.
47
+ field :program_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
48
+ # The total amount of sales (in cents) generated by the partner's links.
49
+ field :sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
50
+ # The total number of sales generated by the partner's links.
51
+ field :sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
52
+ # The status of the partner's enrollment in the program.
53
+ field :status, ::OpenApiSDK::Operations::CreatePartnerStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::CreatePartnerStatus, false) } }
54
+ # The partner's Stripe Connect ID (for receiving payouts via Stripe).
55
+ field :stripe_connect_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeConnectId') } }
56
+ # The partner's unique ID within your database. Can be useful for associating the partner with a user in your database and retrieving/update their data in the future.
57
+ field :tenant_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
58
+ # The partner's TikTok username (e.g. `johndoe`).
59
+ field :tiktok, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
60
+ # The total commissions paid to the partner for their referrals.
61
+ field :total_commissions, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalCommissions') } }
62
+ # The partner's Twitter username (e.g. `johndoe`).
63
+ field :twitter, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitter') } }
64
+ # The partner's website URL (including the https protocol).
65
+ field :website, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
66
+ # The partner's YouTube channel username (e.g. `johndoe`).
67
+ field :youtube, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtube') } }
68
+ # A brief description of the partner and their background.
69
+ field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
70
+
71
+
72
+ sig { params(clicks: ::Float, country: ::String, created_at: ::String, earnings: ::Float, email: ::String, id: ::String, image: ::String, instagram: ::String, leads: ::Float, linkedin: ::String, links: T::Array[::OpenApiSDK::Operations::CreatePartnerLink], name: ::String, net_revenue: ::Float, payouts_enabled_at: ::String, paypal_email: ::String, program_id: ::String, sale_amount: ::Float, sales: ::Float, status: ::OpenApiSDK::Operations::CreatePartnerStatus, stripe_connect_id: ::String, tenant_id: ::String, tiktok: ::String, total_commissions: ::Float, twitter: ::String, website: ::String, youtube: ::String, description: T.nilable(::String)).void }
73
+ def initialize(clicks: nil, country: nil, created_at: nil, earnings: nil, email: nil, id: nil, image: nil, instagram: nil, leads: nil, linkedin: nil, links: nil, name: nil, net_revenue: nil, payouts_enabled_at: nil, paypal_email: nil, program_id: nil, sale_amount: nil, sales: nil, status: nil, stripe_connect_id: nil, tenant_id: nil, tiktok: nil, total_commissions: nil, twitter: nil, website: nil, youtube: nil, description: nil)
74
+ @clicks = clicks
75
+ @country = country
76
+ @created_at = created_at
77
+ @earnings = earnings
78
+ @email = email
79
+ @id = id
80
+ @image = image
81
+ @instagram = instagram
82
+ @leads = leads
83
+ @linkedin = linkedin
84
+ @links = links
85
+ @name = name
86
+ @net_revenue = net_revenue
87
+ @payouts_enabled_at = payouts_enabled_at
88
+ @paypal_email = paypal_email
89
+ @program_id = program_id
90
+ @sale_amount = sale_amount
91
+ @sales = sales
92
+ @status = status
93
+ @stripe_connect_id = stripe_connect_id
94
+ @tenant_id = tenant_id
95
+ @tiktok = tiktok
96
+ @total_commissions = total_commissions
97
+ @twitter = twitter
98
+ @website = website
99
+ @youtube = youtube
100
+ @description = description
101
+ end
102
+ end
103
+ end
104
+ 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
+ # CreatePartnerStatus - The status of the partner's enrollment in the program.
11
+ class CreatePartnerStatus < T::Enum
12
+ enums do
13
+ PENDING = new('pending')
14
+ APPROVED = new('approved')
15
+ REJECTED = new('rejected')
16
+ INVITED = new('invited')
17
+ DECLINED = new('declined')
18
+ BANNED = new('banned')
19
+ ARCHIVED = new('archived')
20
+ end
21
+ end
22
+ end
23
+ end
@@ -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 CreatePartnerTestVariants < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :percentage, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('percentage') } }
16
+
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
18
+
19
+
20
+ sig { params(percentage: ::Float, url: ::String).void }
21
+ def initialize(percentage: nil, url: nil)
22
+ @percentage = percentage
23
+ @url = url
24
+ end
25
+ end
26
+ end
27
+ end