@snagsolutions/sdk 0.1.0-alpha.10 → 0.1.0-alpha.101

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 (378) hide show
  1. package/CHANGELOG.md +907 -0
  2. package/README.md +24 -28
  3. package/_shims/index.d.ts +2 -0
  4. package/_shims/index.js +5 -1
  5. package/_shims/index.mjs +5 -1
  6. package/core.d.ts +19 -5
  7. package/core.d.ts.map +1 -1
  8. package/core.js +35 -19
  9. package/core.js.map +1 -1
  10. package/core.mjs +36 -20
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +25 -16
  13. package/index.d.ts +25 -16
  14. package/index.d.ts.map +1 -1
  15. package/index.js +19 -9
  16. package/index.js.map +1 -1
  17. package/index.mjs +20 -10
  18. package/index.mjs.map +1 -1
  19. package/package.json +4 -5
  20. package/resource.d.ts +1 -1
  21. package/resource.d.ts.map +1 -1
  22. package/resource.js.map +1 -1
  23. package/resource.mjs.map +1 -1
  24. package/resources/assets.d.ts +22 -8
  25. package/resources/assets.d.ts.map +1 -1
  26. package/resources/assets.js +12 -4
  27. package/resources/assets.js.map +1 -1
  28. package/resources/assets.mjs +12 -4
  29. package/resources/assets.mjs.map +1 -1
  30. package/resources/auctions/auctions.d.ts +285 -0
  31. package/resources/auctions/auctions.d.ts.map +1 -0
  32. package/resources/auctions/auctions.js +76 -0
  33. package/resources/auctions/auctions.js.map +1 -0
  34. package/resources/auctions/auctions.mjs +49 -0
  35. package/resources/auctions/auctions.mjs.map +1 -0
  36. package/resources/auctions/index.d.ts +3 -0
  37. package/resources/auctions/index.d.ts.map +1 -0
  38. package/resources/auctions/index.js +9 -0
  39. package/resources/auctions/index.js.map +1 -0
  40. package/resources/auctions/index.mjs +4 -0
  41. package/resources/auctions/index.mjs.map +1 -0
  42. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  43. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  44. package/resources/auctions/website-user-attributes/index.js +9 -0
  45. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  46. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  47. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  48. package/resources/auctions/website-user-attributes/values.d.ts +122 -0
  49. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  50. package/resources/auctions/website-user-attributes/values.js +49 -0
  51. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  52. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  53. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +132 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  57. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  58. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  59. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  60. package/resources/auctions/website-user-attributes.d.ts +2 -0
  61. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  62. package/resources/auctions/website-user-attributes.js +19 -0
  63. package/resources/auctions/website-user-attributes.js.map +1 -0
  64. package/resources/auctions/website-user-attributes.mjs +3 -0
  65. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  66. package/resources/auctions.d.ts +2 -0
  67. package/resources/auctions.d.ts.map +1 -0
  68. package/resources/auctions.js +19 -0
  69. package/resources/auctions.js.map +1 -0
  70. package/resources/auctions.mjs +3 -0
  71. package/resources/auctions.mjs.map +1 -0
  72. package/resources/auth.d.ts +44 -0
  73. package/resources/auth.d.ts.map +1 -0
  74. package/resources/auth.js +16 -0
  75. package/resources/auth.js.map +1 -0
  76. package/resources/auth.mjs +12 -0
  77. package/resources/auth.mjs.map +1 -0
  78. package/resources/index.d.ts +7 -5
  79. package/resources/index.d.ts.map +1 -1
  80. package/resources/index.js +10 -6
  81. package/resources/index.js.map +1 -1
  82. package/resources/index.mjs +6 -4
  83. package/resources/index.mjs.map +1 -1
  84. package/resources/loyalty/account-streaks.d.ts +81 -0
  85. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  86. package/resources/loyalty/account-streaks.js +24 -0
  87. package/resources/loyalty/account-streaks.js.map +1 -0
  88. package/resources/loyalty/account-streaks.mjs +20 -0
  89. package/resources/loyalty/account-streaks.mjs.map +1 -0
  90. package/resources/loyalty/accounts.d.ts +62 -15
  91. package/resources/loyalty/accounts.d.ts.map +1 -1
  92. package/resources/loyalty/accounts.js +22 -1
  93. package/resources/loyalty/accounts.js.map +1 -1
  94. package/resources/loyalty/accounts.mjs +22 -1
  95. package/resources/loyalty/accounts.mjs.map +1 -1
  96. package/resources/loyalty/badges.d.ts +876 -77
  97. package/resources/loyalty/badges.d.ts.map +1 -1
  98. package/resources/loyalty/badges.js +19 -1
  99. package/resources/loyalty/badges.js.map +1 -1
  100. package/resources/loyalty/badges.mjs +19 -1
  101. package/resources/loyalty/badges.mjs.map +1 -1
  102. package/resources/loyalty/currencies.d.ts +20 -1
  103. package/resources/loyalty/currencies.d.ts.map +1 -1
  104. package/resources/loyalty/currencies.js +19 -0
  105. package/resources/loyalty/currencies.js.map +1 -1
  106. package/resources/loyalty/currencies.mjs +19 -0
  107. package/resources/loyalty/currencies.mjs.map +1 -1
  108. package/resources/loyalty/index.d.ts +9 -5
  109. package/resources/loyalty/index.d.ts.map +1 -1
  110. package/resources/loyalty/index.js +11 -3
  111. package/resources/loyalty/index.js.map +1 -1
  112. package/resources/loyalty/index.mjs +6 -2
  113. package/resources/loyalty/index.mjs.map +1 -1
  114. package/resources/loyalty/loyalty.d.ts +33 -17
  115. package/resources/loyalty/loyalty.d.ts.map +1 -1
  116. package/resources/loyalty/loyalty.js +28 -12
  117. package/resources/loyalty/loyalty.js.map +1 -1
  118. package/resources/loyalty/loyalty.mjs +29 -13
  119. package/resources/loyalty/loyalty.mjs.map +1 -1
  120. package/resources/loyalty/multipliers.d.ts +97 -4
  121. package/resources/loyalty/multipliers.d.ts.map +1 -1
  122. package/resources/loyalty/multipliers.js +29 -0
  123. package/resources/loyalty/multipliers.js.map +1 -1
  124. package/resources/loyalty/multipliers.mjs +29 -0
  125. package/resources/loyalty/multipliers.mjs.map +1 -1
  126. package/resources/loyalty/questions-responses.d.ts +112 -0
  127. package/resources/loyalty/questions-responses.d.ts.map +1 -0
  128. package/resources/loyalty/questions-responses.js +31 -0
  129. package/resources/loyalty/questions-responses.js.map +1 -0
  130. package/resources/loyalty/questions-responses.mjs +27 -0
  131. package/resources/loyalty/questions-responses.mjs.map +1 -0
  132. package/resources/loyalty/questions.d.ts +183 -0
  133. package/resources/loyalty/questions.d.ts.map +1 -0
  134. package/resources/loyalty/questions.js +60 -0
  135. package/resources/loyalty/questions.js.map +1 -0
  136. package/resources/loyalty/questions.mjs +56 -0
  137. package/resources/loyalty/questions.mjs.map +1 -0
  138. package/resources/loyalty/rule-edits.d.ts +2661 -11
  139. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  140. package/resources/loyalty/rule-edits.js +16 -2
  141. package/resources/loyalty/rule-edits.js.map +1 -1
  142. package/resources/loyalty/rule-edits.mjs +16 -2
  143. package/resources/loyalty/rule-edits.mjs.map +1 -1
  144. package/resources/loyalty/rule-groups.d.ts +781 -0
  145. package/resources/loyalty/rule-groups.d.ts.map +1 -0
  146. package/resources/loyalty/rule-groups.js +52 -0
  147. package/resources/loyalty/rule-groups.js.map +1 -0
  148. package/resources/loyalty/rule-groups.mjs +48 -0
  149. package/resources/loyalty/rule-groups.mjs.map +1 -0
  150. package/resources/loyalty/rules.d.ts +1789 -141
  151. package/resources/loyalty/rules.d.ts.map +1 -1
  152. package/resources/loyalty/rules.js +40 -9
  153. package/resources/loyalty/rules.js.map +1 -1
  154. package/resources/loyalty/rules.mjs +40 -9
  155. package/resources/loyalty/rules.mjs.map +1 -1
  156. package/resources/loyalty/transactions/index.d.ts +3 -0
  157. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  158. package/resources/loyalty/transactions/index.js +9 -0
  159. package/resources/loyalty/transactions/index.js.map +1 -0
  160. package/resources/loyalty/transactions/index.mjs +4 -0
  161. package/resources/loyalty/transactions/index.mjs.map +1 -0
  162. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  163. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  164. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  165. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  166. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  167. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  168. package/resources/loyalty/transactions/transactions.d.ts +414 -0
  169. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  170. package/resources/loyalty/transactions/transactions.js +76 -0
  171. package/resources/loyalty/transactions/transactions.js.map +1 -0
  172. package/resources/loyalty/transactions/transactions.mjs +49 -0
  173. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  174. package/resources/loyalty/transactions.d.ts +2 -0
  175. package/resources/loyalty/transactions.d.ts.map +1 -0
  176. package/resources/loyalty/transactions.js +19 -0
  177. package/resources/loyalty/transactions.js.map +1 -0
  178. package/resources/loyalty/transactions.mjs +3 -0
  179. package/resources/loyalty/transactions.mjs.map +1 -0
  180. package/resources/loyalty.d.ts +2 -0
  181. package/resources/loyalty.d.ts.map +1 -0
  182. package/resources/loyalty.js +19 -0
  183. package/resources/loyalty.js.map +1 -0
  184. package/resources/loyalty.mjs +3 -0
  185. package/resources/loyalty.mjs.map +1 -0
  186. package/resources/minting.d.ts +95 -0
  187. package/resources/minting.d.ts.map +1 -0
  188. package/resources/minting.js +15 -0
  189. package/resources/minting.js.map +1 -0
  190. package/resources/minting.mjs +11 -0
  191. package/resources/minting.mjs.map +1 -0
  192. package/resources/referral/index.d.ts +3 -0
  193. package/resources/referral/index.d.ts.map +1 -0
  194. package/resources/referral/index.js +9 -0
  195. package/resources/referral/index.js.map +1 -0
  196. package/resources/referral/index.mjs +4 -0
  197. package/resources/referral/index.mjs.map +1 -0
  198. package/resources/referral/referral.d.ts +39 -0
  199. package/resources/referral/referral.d.ts.map +1 -0
  200. package/resources/{drip/drip.js → referral/referral.js} +21 -12
  201. package/resources/referral/referral.js.map +1 -0
  202. package/resources/referral/referral.mjs +25 -0
  203. package/resources/referral/referral.mjs.map +1 -0
  204. package/resources/referral/users.d.ts +83 -0
  205. package/resources/referral/users.d.ts.map +1 -0
  206. package/resources/referral/users.js +35 -0
  207. package/resources/referral/users.js.map +1 -0
  208. package/resources/referral/users.mjs +31 -0
  209. package/resources/referral/users.mjs.map +1 -0
  210. package/resources/referral.d.ts +2 -0
  211. package/resources/referral.d.ts.map +1 -0
  212. package/resources/referral.js +19 -0
  213. package/resources/referral.js.map +1 -0
  214. package/resources/referral.mjs +3 -0
  215. package/resources/referral.mjs.map +1 -0
  216. package/resources/users/index.d.ts +2 -3
  217. package/resources/users/index.d.ts.map +1 -1
  218. package/resources/users/index.js +1 -3
  219. package/resources/users/index.js.map +1 -1
  220. package/resources/users/index.mjs +2 -3
  221. package/resources/users/index.mjs.map +1 -1
  222. package/resources/users/metadatas.d.ts +108 -9
  223. package/resources/users/metadatas.d.ts.map +1 -1
  224. package/resources/users/metadatas.js +6 -0
  225. package/resources/users/metadatas.js.map +1 -1
  226. package/resources/users/metadatas.mjs +6 -0
  227. package/resources/users/metadatas.mjs.map +1 -1
  228. package/resources/users/users.d.ts +418 -6
  229. package/resources/users/users.d.ts.map +1 -1
  230. package/resources/users/users.js +77 -4
  231. package/resources/users/users.js.map +1 -1
  232. package/resources/users/users.mjs +78 -5
  233. package/resources/users/users.mjs.map +1 -1
  234. package/resources/users.d.ts +2 -0
  235. package/resources/users.d.ts.map +1 -0
  236. package/resources/users.js +19 -0
  237. package/resources/users.js.map +1 -0
  238. package/resources/users.mjs +3 -0
  239. package/resources/users.mjs.map +1 -0
  240. package/resources/websites/index.d.ts +4 -0
  241. package/resources/websites/index.d.ts.map +1 -0
  242. package/resources/websites/index.js +11 -0
  243. package/resources/websites/index.js.map +1 -0
  244. package/resources/websites/index.mjs +5 -0
  245. package/resources/websites/index.mjs.map +1 -0
  246. package/resources/websites/website-collections.d.ts +94 -0
  247. package/resources/websites/website-collections.d.ts.map +1 -0
  248. package/resources/websites/website-collections.js +46 -0
  249. package/resources/websites/website-collections.js.map +1 -0
  250. package/resources/websites/website-collections.mjs +42 -0
  251. package/resources/websites/website-collections.mjs.map +1 -0
  252. package/resources/websites/website-user-roles.d.ts +96 -0
  253. package/resources/websites/website-user-roles.d.ts.map +1 -0
  254. package/resources/websites/website-user-roles.js +45 -0
  255. package/resources/websites/website-user-roles.js.map +1 -0
  256. package/resources/websites/website-user-roles.mjs +41 -0
  257. package/resources/websites/website-user-roles.mjs.map +1 -0
  258. package/resources/websites/websites.d.ts +223 -0
  259. package/resources/websites/websites.d.ts.map +1 -0
  260. package/resources/websites/websites.js +63 -0
  261. package/resources/websites/websites.js.map +1 -0
  262. package/resources/websites/websites.mjs +36 -0
  263. package/resources/websites/websites.mjs.map +1 -0
  264. package/resources/websites.d.ts +1 -202
  265. package/resources/websites.d.ts.map +1 -1
  266. package/resources/websites.js +15 -18
  267. package/resources/websites.js.map +1 -1
  268. package/resources/websites.mjs +1 -16
  269. package/resources/websites.mjs.map +1 -1
  270. package/resources.d.ts +2 -0
  271. package/resources.d.ts.map +1 -0
  272. package/resources.js +18 -0
  273. package/resources.js.map +1 -0
  274. package/resources.mjs +2 -0
  275. package/resources.mjs.map +1 -0
  276. package/src/_shims/index.d.ts +2 -0
  277. package/src/_shims/index.js +5 -1
  278. package/src/_shims/index.mjs +5 -1
  279. package/src/core.ts +56 -20
  280. package/src/index.ts +95 -23
  281. package/src/resource.ts +1 -1
  282. package/src/resources/assets.ts +29 -8
  283. package/src/resources/auctions/auctions.ts +436 -0
  284. package/src/resources/auctions/index.ts +18 -0
  285. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  286. package/src/resources/auctions/website-user-attributes/values.ts +165 -0
  287. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +207 -0
  288. package/src/resources/auctions/website-user-attributes.ts +3 -0
  289. package/src/resources/auctions.ts +3 -0
  290. package/src/resources/auth.ts +74 -0
  291. package/src/resources/index.ts +31 -5
  292. package/src/resources/loyalty/account-streaks.ts +110 -0
  293. package/src/resources/loyalty/accounts.ts +79 -16
  294. package/src/resources/loyalty/badges.ts +1055 -83
  295. package/src/resources/loyalty/currencies.ts +20 -1
  296. package/src/resources/loyalty/index.ts +53 -9
  297. package/src/resources/loyalty/loyalty.ts +160 -60
  298. package/src/resources/loyalty/multipliers.ts +124 -4
  299. package/src/resources/loyalty/questions-responses.ts +161 -0
  300. package/src/resources/loyalty/questions.ts +241 -0
  301. package/src/resources/loyalty/rule-edits.ts +3686 -63
  302. package/src/resources/loyalty/rule-groups.ts +1195 -0
  303. package/src/resources/loyalty/rules.ts +2932 -420
  304. package/src/resources/loyalty/transactions/index.ts +18 -0
  305. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  306. package/src/resources/loyalty/transactions/transactions.ts +676 -0
  307. package/src/resources/loyalty/transactions.ts +3 -0
  308. package/src/resources/loyalty.ts +3 -0
  309. package/src/resources/minting.ts +167 -0
  310. package/src/resources/referral/index.ts +10 -0
  311. package/src/resources/referral/referral.ts +72 -0
  312. package/src/resources/referral/users.ts +122 -0
  313. package/src/resources/referral.ts +3 -0
  314. package/src/resources/users/index.ts +21 -9
  315. package/src/resources/users/metadatas.ts +159 -8
  316. package/src/resources/users/users.ts +586 -17
  317. package/src/resources/users.ts +3 -0
  318. package/src/resources/websites/index.ts +22 -0
  319. package/src/resources/websites/website-collections.ts +179 -0
  320. package/src/resources/websites/website-user-roles.ts +130 -0
  321. package/src/resources/websites/websites.ts +311 -0
  322. package/src/resources/websites.ts +1 -257
  323. package/src/resources.ts +1 -0
  324. package/src/version.ts +1 -1
  325. package/version.d.ts +1 -1
  326. package/version.d.ts.map +1 -1
  327. package/version.js +1 -1
  328. package/version.js.map +1 -1
  329. package/version.mjs +1 -1
  330. package/version.mjs.map +1 -1
  331. package/resources/auction-bids.d.ts +0 -81
  332. package/resources/auction-bids.d.ts.map +0 -1
  333. package/resources/auction-bids.js +0 -30
  334. package/resources/auction-bids.js.map +0 -1
  335. package/resources/auction-bids.mjs +0 -26
  336. package/resources/auction-bids.mjs.map +0 -1
  337. package/resources/drip/drip.d.ts +0 -14
  338. package/resources/drip/drip.d.ts.map +0 -1
  339. package/resources/drip/drip.js.map +0 -1
  340. package/resources/drip/drip.mjs +0 -16
  341. package/resources/drip/drip.mjs.map +0 -1
  342. package/resources/drip/index.d.ts +0 -4
  343. package/resources/drip/index.d.ts.map +0 -1
  344. package/resources/drip/index.js +0 -11
  345. package/resources/drip/index.js.map +0 -1
  346. package/resources/drip/index.mjs +0 -5
  347. package/resources/drip/index.mjs.map +0 -1
  348. package/resources/drip/quests.d.ts +0 -168
  349. package/resources/drip/quests.d.ts.map +0 -1
  350. package/resources/drip/quests.js +0 -17
  351. package/resources/drip/quests.js.map +0 -1
  352. package/resources/drip/quests.mjs +0 -13
  353. package/resources/drip/quests.mjs.map +0 -1
  354. package/resources/drip/status.d.ts +0 -26
  355. package/resources/drip/status.d.ts.map +0 -1
  356. package/resources/drip/status.js +0 -16
  357. package/resources/drip/status.js.map +0 -1
  358. package/resources/drip/status.mjs +0 -12
  359. package/resources/drip/status.mjs.map +0 -1
  360. package/resources/loyalty/transaction-entries.d.ts +0 -175
  361. package/resources/loyalty/transaction-entries.d.ts.map +0 -1
  362. package/resources/loyalty/transaction-entries.js +0 -16
  363. package/resources/loyalty/transaction-entries.js.map +0 -1
  364. package/resources/loyalty/transaction-entries.mjs +0 -12
  365. package/resources/loyalty/transaction-entries.mjs.map +0 -1
  366. package/resources/users/wallets.d.ts +0 -193
  367. package/resources/users/wallets.d.ts.map +0 -1
  368. package/resources/users/wallets.js +0 -28
  369. package/resources/users/wallets.js.map +0 -1
  370. package/resources/users/wallets.mjs +0 -24
  371. package/resources/users/wallets.mjs.map +0 -1
  372. package/src/resources/auction-bids.ts +0 -123
  373. package/src/resources/drip/drip.ts +0 -25
  374. package/src/resources/drip/index.ts +0 -5
  375. package/src/resources/drip/quests.ts +0 -210
  376. package/src/resources/drip/status.ts +0 -33
  377. package/src/resources/loyalty/transaction-entries.ts +0 -229
  378. package/src/resources/users/wallets.ts +0 -271
@@ -7,6 +7,24 @@ import * as Core from '../../core';
7
7
  export class Rules extends APIResource {
8
8
  /**
9
9
  * Create a new Loyalty Rule
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const rule = await client.loyalty.rules.create({
14
+ * amount: '10.5',
15
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
16
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
17
+ * endTime: '2024-12-31T23:59:00Z',
18
+ * frequency: 'daily',
19
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
20
+ * metadata: {},
21
+ * name: 'Referral Bonus Rule',
22
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
23
+ * startTime: '2024-01-01T00:00:00Z',
24
+ * type: 'Bonus',
25
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
26
+ * });
27
+ * ```
10
28
  */
11
29
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse> {
12
30
  return this._client.post('/api/loyalty/rules', { body, ...options });
@@ -14,6 +32,18 @@ export class Rules extends APIResource {
14
32
 
15
33
  /**
16
34
  * Update an existing Loyalty Rule
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const rule = await client.loyalty.rules.update(
39
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
40
+ * {
41
+ * amount: '10.5',
42
+ * endTime: '2024-12-31T23:59:00Z',
43
+ * name: 'Daily Rewards Program',
44
+ * },
45
+ * );
46
+ * ```
17
47
  */
18
48
  update(
19
49
  id: string,
@@ -25,6 +55,11 @@ export class Rules extends APIResource {
25
55
 
26
56
  /**
27
57
  * Retrieve configured loyalty rules with optional pagination and filters
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const rules = await client.loyalty.rules.list();
62
+ * ```
28
63
  */
29
64
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
30
65
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
@@ -40,17 +75,46 @@ export class Rules extends APIResource {
40
75
 
41
76
  /**
42
77
  * Delete an existing Loyalty Rule
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const rule = await client.loyalty.rules.delete(
82
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
83
+ * );
84
+ * ```
43
85
  */
44
- delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse> {
45
- return this._client.delete(`/api/loyalty/rules/${id}`, options);
86
+ delete(
87
+ id: string,
88
+ params?: RuleDeleteParams,
89
+ options?: Core.RequestOptions,
90
+ ): Core.APIPromise<RuleDeleteResponse>;
91
+ delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
92
+ delete(
93
+ id: string,
94
+ params: RuleDeleteParams | Core.RequestOptions = {},
95
+ options?: Core.RequestOptions,
96
+ ): Core.APIPromise<RuleDeleteResponse> {
97
+ if (isRequestOptions(params)) {
98
+ return this.delete(id, {}, params);
99
+ }
100
+ const { debitLoyaltyPoints } = params;
101
+ return this._client.delete(`/api/loyalty/rules/${id}`, { query: { debitLoyaltyPoints }, ...options });
46
102
  }
47
103
 
48
104
  /**
49
105
  * Verify a loyalty rule based on user action and reward them if applicable. This
50
- * endpoint currenlty onlu supports following rule types code_entry, text_input,
106
+ * endpoint currently only supports following rule types code_entry, text_input,
51
107
  * link_click, discord_member, connect_wallet, check_in, external_rule,
52
108
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
53
- * drip_x_text_in_comment, drip_x_tweet, telegram_join
109
+ * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
110
+ * youtube_subscribers, youtube_comment, steam_wishlist
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const response = await client.loyalty.rules.complete(
115
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
116
+ * );
117
+ * ```
54
118
  */
55
119
  complete(
56
120
  id: string,
@@ -71,8 +135,24 @@ export class Rules extends APIResource {
71
135
 
72
136
  /**
73
137
  * This will return the processing status of quests for a specific user
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const response = await client.loyalty.rules.getStatus();
142
+ * ```
74
143
  */
75
- status(query: RuleStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleStatusResponse> {
144
+ getStatus(
145
+ query?: RuleGetStatusParams,
146
+ options?: Core.RequestOptions,
147
+ ): Core.APIPromise<RuleGetStatusResponse>;
148
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
149
+ getStatus(
150
+ query: RuleGetStatusParams | Core.RequestOptions = {},
151
+ options?: Core.RequestOptions,
152
+ ): Core.APIPromise<RuleGetStatusResponse> {
153
+ if (isRequestOptions(query)) {
154
+ return this.getStatus({}, query);
155
+ }
76
156
  return this._client.get('/api/loyalty/rules/status', { query, ...options });
77
157
  }
78
158
  }
@@ -184,7 +264,18 @@ export interface RuleCreateResponse {
184
264
  | 'twitter_follow'
185
265
  | 'twitter_followers'
186
266
  | 'twitter_like'
187
- | 'twitter_post_hashtag';
267
+ | 'twitter_post_hashtag'
268
+ | 'quiz'
269
+ | 'poll'
270
+ | 'steam_wishlist'
271
+ | 'liquidity_uniswap_v2'
272
+ | 'liquidity_uniswap_v3'
273
+ | 'points_airdrop'
274
+ | 'youtube_subscribers'
275
+ | 'youtube_comment'
276
+ | 'shopify_spend'
277
+ | 'swap'
278
+ | 'tiktok_post';
188
279
 
189
280
  /**
190
281
  * Unique identifier for the associated website
@@ -221,6 +312,11 @@ export interface RuleCreateResponse {
221
312
  */
222
313
  description?: string;
223
314
 
315
+ /**
316
+ * ID of the external integration
317
+ */
318
+ externalIntegrationId?: string | null;
319
+
224
320
  /**
225
321
  * Whether to hide this rule in the user interface
226
322
  */
@@ -229,51 +325,92 @@ export interface RuleCreateResponse {
229
325
  /**
230
326
  * Interval between rule executions
231
327
  */
232
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
328
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
233
329
 
234
330
  /**
235
331
  * Whether this rule is mandatory
236
332
  */
237
333
  isRequired?: boolean;
238
334
 
335
+ /**
336
+ * Unique identifier for the loyalty badge
337
+ */
338
+ loyaltyBadgeId?: string | null;
339
+
239
340
  /**
240
341
  * Unique identifier for the loyalty rule group
241
342
  */
242
343
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
243
344
 
345
+ /**
346
+ * URL for uploading loyalty user allotment via CSV
347
+ */
348
+ loyaltyUserAllotmentCsvUrl?: string;
349
+
350
+ /**
351
+ * The interval for the max amount. Available for the smart contract and external
352
+ * rules.
353
+ */
354
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
355
+
356
+ /**
357
+ * The maximum amount of points a user can earn per interval. Available for the
358
+ * smart contract and external rules.
359
+ */
360
+ maxAmountPerInterval?: number | null;
361
+
362
+ /**
363
+ * URL of the media to be displayed
364
+ */
365
+ mediaUrl?: string | null;
366
+
244
367
  /**
245
368
  * Blockchain network where the rule will apply
246
369
  */
247
370
  network?:
248
- | 'mainnet'
249
- | 'polygon'
250
- | 'polygon_mumbai'
251
- | 'optimism'
371
+ | 'abstract'
372
+ | 'abstractTestnet'
373
+ | 'apechain'
252
374
  | 'arbitrum'
253
- | 'binance'
254
- | 'bscTestnet'
255
375
  | 'avalanche'
256
376
  | 'avalancheFuji'
257
- | 'zksync'
258
- | 'fantom'
259
- | 'fantomTestnet'
260
377
  | 'base'
261
378
  | 'baseSepolia'
262
- | 'skaleNebula'
263
- | 'xai'
379
+ | 'berachain'
264
380
  | 'berachainArtio'
265
- | 'solana'
266
- | 'apechain'
267
- | 'flowMainnet'
381
+ | 'berachainBepolia'
382
+ | 'binance'
383
+ | 'bscTestnet'
268
384
  | 'campTestnet'
385
+ | 'fantom'
386
+ | 'fantomTestnet'
387
+ | 'flowMainnet'
388
+ | 'mainnet'
389
+ | 'optimism'
390
+ | 'polygon'
391
+ | 'polygon_mumbai'
392
+ | 'skaleNebula'
393
+ | 'solana'
394
+ | 'sophon'
395
+ | 'sophonTestnet'
269
396
  | 'sui'
397
+ | 'superseed'
398
+ | 'superseedSepolia'
270
399
  | 'vanar'
400
+ | 'xai'
401
+ | 'zksync'
402
+ | 'coti'
403
+ | 'cotiTestnet'
404
+ | 'morph'
405
+ | 'morphTestnet'
406
+ | 'morphHolesky'
271
407
  | 'sepolia'
272
408
  | 'optimism_sepolia'
273
409
  | 'arbitrumSepolia'
274
410
  | 'goerli'
275
411
  | 'optimism_goerli'
276
- | 'arbitrumGoerli';
412
+ | 'arbitrumGoerli'
413
+ | 'basecamp';
277
414
 
278
415
  /**
279
416
  * OAuth credentials associated with the rule
@@ -283,12 +420,17 @@ export interface RuleCreateResponse {
283
420
  /**
284
421
  * Type of reward issued by the rule
285
422
  */
286
- rewardType?: 'points' | 'multiplier';
423
+ rewardType?: 'points' | 'multiplier' | 'badge';
424
+
425
+ /**
426
+ * URL of the Shopify store
427
+ */
428
+ shopifyStoreUrl?: string | null;
287
429
 
288
430
  /**
289
- * Identifier for associated subscriptions
431
+ * Optional subscription id for the rule
290
432
  */
291
- subscriptionIdentifier?: string | null;
433
+ subscriptionId?: string | null;
292
434
  }
293
435
 
294
436
  export namespace RuleCreateResponse {
@@ -296,6 +438,11 @@ export namespace RuleCreateResponse {
296
438
  * Additional metadata for the loyalty rule
297
439
  */
298
440
  export interface Metadata {
441
+ /**
442
+ * Number of tokens per batch.
443
+ */
444
+ batchSize?: number | null;
445
+
299
446
  /**
300
447
  * Text displayed on the action button.
301
448
  */
@@ -326,6 +473,11 @@ export namespace RuleCreateResponse {
326
473
  */
327
474
  collection?: Array<Metadata.Collection>;
328
475
 
476
+ /**
477
+ * Conditions for completing the profile.
478
+ */
479
+ completeProfileConditions?: { [key: string]: boolean } | null;
480
+
329
481
  /**
330
482
  * Object containing details for the call-to-action.
331
483
  */
@@ -361,11 +513,21 @@ export namespace RuleCreateResponse {
361
513
  */
362
514
  enableVerifiedMultiplier?: boolean;
363
515
 
516
+ /**
517
+ * Fill source of the order for the token sale
518
+ */
519
+ fillSource?: string;
520
+
364
521
  /**
365
522
  * Percentage reward given to a user for their first referral.
366
523
  */
367
524
  firstReferralReward?: number | null;
368
525
 
526
+ /**
527
+ * Flag indicating whether the fill source is included.
528
+ */
529
+ hasFillSource?: boolean;
530
+
369
531
  /**
370
532
  * Indicates if the item has never been sold.
371
533
  */
@@ -391,11 +553,21 @@ export namespace RuleCreateResponse {
391
553
  */
392
554
  imageUrl?: string | null;
393
555
 
556
+ /**
557
+ * If enabled, the first transaction done on the platform will complete this rule
558
+ */
559
+ isCheckInOnEveryTxn?: boolean;
560
+
394
561
  /**
395
562
  * Indicates if the multiplier has been applied to rewards.
396
563
  */
397
564
  isMultiplierApplied?: boolean;
398
565
 
566
+ /**
567
+ * Flag indicating if the rule is restricted to new users.
568
+ */
569
+ isRestrictedToNewUsers?: boolean;
570
+
399
571
  /**
400
572
  * Flag indicating if rewards are applied retroactively.
401
573
  */
@@ -411,6 +583,11 @@ export namespace RuleCreateResponse {
411
583
  */
412
584
  link?: string | null;
413
585
 
586
+ /**
587
+ * Liquidity pool details.
588
+ */
589
+ liquidity?: Metadata.Liquidity;
590
+
414
591
  /**
415
592
  * Maximum quantity constraint for token holding.
416
593
  */
@@ -441,11 +618,36 @@ export namespace RuleCreateResponse {
441
618
  */
442
619
  onlyNonListed?: boolean;
443
620
 
621
+ /**
622
+ * Indicates if only existing users are rewarded.
623
+ */
624
+ onlyRewardExistingUser?: boolean;
625
+
626
+ /**
627
+ * give points for only one token ownership per contract
628
+ */
629
+ onlyRewardSingleTokenOwnership?: boolean | null;
630
+
444
631
  /**
445
632
  * Promotional code associated with the rule.
446
633
  */
447
634
  promoCode?: string;
448
635
 
636
+ /**
637
+ * URL of the CSV file containing promo codes.
638
+ */
639
+ promoCodeCsvUrl?: string;
640
+
641
+ /**
642
+ * Numbers of the promotional code to be generated.
643
+ */
644
+ promoCodeLength?: number | null;
645
+
646
+ /**
647
+ * Type of the promotional code.
648
+ */
649
+ promoCodeType?: 'code' | 'csv' | 'generate';
650
+
449
651
  /**
450
652
  * Array defining ranges and corresponding rewards.
451
653
  */
@@ -461,11 +663,32 @@ export namespace RuleCreateResponse {
461
663
  */
462
664
  referrerReward?: number | null;
463
665
 
666
+ /**
667
+ * Loyalty currency ID of the referrer reward.
668
+ */
669
+ referrerRewardLoyaltyCurrencyId?: string | null;
670
+
671
+ /**
672
+ * Flag indicating if the rule can also reward badges per range.
673
+ */
674
+ rewardBadgePerRange?: boolean;
675
+
676
+ /**
677
+ * Flag indicating if the reward is rewarded by batch.
678
+ */
679
+ rewardByBatch?: boolean | null;
680
+
464
681
  /**
465
682
  * Flag indicating if rewards are given per impression.
466
683
  */
467
684
  rewardPerImpression?: boolean | null;
468
685
 
686
+ /**
687
+ * Flag indicating if the rule should reward based on value of traded tokens
688
+ * instead of count.
689
+ */
690
+ rewardPerValue?: boolean;
691
+
469
692
  /**
470
693
  * Currency associated with sales.
471
694
  */
@@ -476,6 +699,11 @@ export namespace RuleCreateResponse {
476
699
  */
477
700
  secondReferralReward?: number | null;
478
701
 
702
+ /**
703
+ * Flag indicating if the multiplier is skipped.
704
+ */
705
+ skipMultiplier?: boolean | null;
706
+
479
707
  /**
480
708
  * Object containing details of the associated smart contract.
481
709
  */
@@ -490,14 +718,17 @@ export namespace RuleCreateResponse {
490
718
  * Social media platform associated with the rule.
491
719
  */
492
720
  socialPlatform?:
493
- | 'Twitch'
721
+ | 'Custom'
722
+ | 'Discord'
723
+ | 'EpicGames'
724
+ | 'Instagram'
725
+ | 'Steam'
726
+ | 'Telegram'
494
727
  | 'TikTok'
728
+ | 'Twitch'
495
729
  | 'X(Twitter)'
496
- | 'Instagram'
497
- | 'EpicGames'
498
730
  | 'YouTube'
499
- | 'Discord'
500
- | 'Custom'
731
+ | 'Google'
501
732
  | null;
502
733
 
503
734
  /**
@@ -510,11 +741,21 @@ export namespace RuleCreateResponse {
510
741
  */
511
742
  socialPlatformName?: string | null;
512
743
 
744
+ /**
745
+ * ID of the Steam app.
746
+ */
747
+ steamAppId?: string | null;
748
+
513
749
  /**
514
750
  * Array of streak milestones and corresponding rewards.
515
751
  */
516
752
  streakArray?: Array<Metadata.StreakArray> | null;
517
753
 
754
+ /**
755
+ * Metadata for swap loyalty rules
756
+ */
757
+ swap?: Metadata.Swap;
758
+
518
759
  /**
519
760
  * ID of the Telegram channel.
520
761
  */
@@ -530,6 +771,12 @@ export namespace RuleCreateResponse {
530
771
  */
531
772
  trackAllContracts?: boolean | null;
532
773
 
774
+ /**
775
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
776
+ * completed once the progress is 100%.
777
+ */
778
+ trackProgress?: boolean | null;
779
+
533
780
  /**
534
781
  * URL of the associated Twitter account.
535
782
  */
@@ -573,7 +820,17 @@ export namespace RuleCreateResponse {
573
820
  /**
574
821
  * Type of wallet associated with the rule.
575
822
  */
576
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
823
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
824
+
825
+ /**
826
+ * ID of the Youtube channel.
827
+ */
828
+ youtubeChannelId?: string | null;
829
+
830
+ /**
831
+ * ID of the Youtube video.
832
+ */
833
+ youtubeVideoId?: string | null;
577
834
  }
578
835
 
579
836
  export namespace Metadata {
@@ -592,35 +849,49 @@ export namespace RuleCreateResponse {
592
849
  * Blockchain network of the collection.
593
850
  */
594
851
  network?:
595
- | 'mainnet'
596
- | 'polygon'
597
- | 'polygon_mumbai'
598
- | 'optimism'
852
+ | 'abstract'
853
+ | 'abstractTestnet'
854
+ | 'apechain'
599
855
  | 'arbitrum'
600
- | 'binance'
601
- | 'bscTestnet'
602
856
  | 'avalanche'
603
857
  | 'avalancheFuji'
604
- | 'zksync'
605
- | 'fantom'
606
- | 'fantomTestnet'
607
858
  | 'base'
608
859
  | 'baseSepolia'
609
- | 'skaleNebula'
610
- | 'xai'
860
+ | 'berachain'
611
861
  | 'berachainArtio'
612
- | 'solana'
613
- | 'apechain'
614
- | 'flowMainnet'
862
+ | 'berachainBepolia'
863
+ | 'binance'
864
+ | 'bscTestnet'
615
865
  | 'campTestnet'
866
+ | 'fantom'
867
+ | 'fantomTestnet'
868
+ | 'flowMainnet'
869
+ | 'mainnet'
870
+ | 'optimism'
871
+ | 'polygon'
872
+ | 'polygon_mumbai'
873
+ | 'skaleNebula'
874
+ | 'solana'
875
+ | 'sophon'
876
+ | 'sophonTestnet'
616
877
  | 'sui'
878
+ | 'superseed'
879
+ | 'superseedSepolia'
617
880
  | 'vanar'
881
+ | 'xai'
882
+ | 'zksync'
883
+ | 'coti'
884
+ | 'cotiTestnet'
885
+ | 'morph'
886
+ | 'morphTestnet'
887
+ | 'morphHolesky'
618
888
  | 'sepolia'
619
889
  | 'optimism_sepolia'
620
890
  | 'arbitrumSepolia'
621
891
  | 'goerli'
622
892
  | 'optimism_goerli'
623
- | 'arbitrumGoerli';
893
+ | 'arbitrumGoerli'
894
+ | 'basecamp';
624
895
  }
625
896
 
626
897
  /**
@@ -666,6 +937,11 @@ export namespace RuleCreateResponse {
666
937
  * Array of emojis used in the channel.
667
938
  */
668
939
  emojis?: Array<Channel.Emoji>;
940
+
941
+ /**
942
+ * Phrase of text to be present in the discord message
943
+ */
944
+ text?: string;
669
945
  }
670
946
 
671
947
  export namespace Channel {
@@ -692,6 +968,100 @@ export namespace RuleCreateResponse {
692
968
  id: string;
693
969
  }
694
970
 
971
+ /**
972
+ * Liquidity pool details.
973
+ */
974
+ export interface Liquidity {
975
+ /**
976
+ * Calculation type of the liquidity pool.
977
+ */
978
+ calculationType?: 'fixed' | 'custom';
979
+
980
+ /**
981
+ * Custom function to calculate the the reward amount based on the liquidity
982
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
983
+ * USD.
984
+ */
985
+ customFunction?: string;
986
+
987
+ /**
988
+ * Liquidity provided per day in USD
989
+ */
990
+ liquidityPerDay?: number;
991
+
992
+ /**
993
+ * Blockchain network of the liquidity pool.
994
+ */
995
+ network?:
996
+ | 'abstract'
997
+ | 'abstractTestnet'
998
+ | 'apechain'
999
+ | 'arbitrum'
1000
+ | 'avalanche'
1001
+ | 'avalancheFuji'
1002
+ | 'base'
1003
+ | 'baseSepolia'
1004
+ | 'berachain'
1005
+ | 'berachainArtio'
1006
+ | 'berachainBepolia'
1007
+ | 'binance'
1008
+ | 'bscTestnet'
1009
+ | 'campTestnet'
1010
+ | 'fantom'
1011
+ | 'fantomTestnet'
1012
+ | 'flowMainnet'
1013
+ | 'mainnet'
1014
+ | 'optimism'
1015
+ | 'polygon'
1016
+ | 'polygon_mumbai'
1017
+ | 'skaleNebula'
1018
+ | 'solana'
1019
+ | 'sophon'
1020
+ | 'sophonTestnet'
1021
+ | 'sui'
1022
+ | 'superseed'
1023
+ | 'superseedSepolia'
1024
+ | 'vanar'
1025
+ | 'xai'
1026
+ | 'zksync'
1027
+ | 'coti'
1028
+ | 'cotiTestnet'
1029
+ | 'morph'
1030
+ | 'morphTestnet'
1031
+ | 'morphHolesky'
1032
+ | 'sepolia'
1033
+ | 'optimism_sepolia'
1034
+ | 'arbitrumSepolia'
1035
+ | 'goerli'
1036
+ | 'optimism_goerli'
1037
+ | 'arbitrumGoerli'
1038
+ | 'basecamp';
1039
+
1040
+ /**
1041
+ * Indicates if only in-range liquidity is rewarded.
1042
+ */
1043
+ onlyRewardInRangeLiquidity?: boolean;
1044
+
1045
+ /**
1046
+ * Array of liquidity pools associated with the rule.
1047
+ */
1048
+ pools?: Array<Liquidity.Pool>;
1049
+
1050
+ /**
1051
+ * Protocol of the liquidity pool.
1052
+ */
1053
+ protocol?: string;
1054
+ }
1055
+
1056
+ export namespace Liquidity {
1057
+ export interface Pool {
1058
+ /**
1059
+ * Unique identifier of the liquidity pool.
1060
+ */
1061
+ id: string;
1062
+ }
1063
+ }
1064
+
695
1065
  export interface Range {
696
1066
  /**
697
1067
  * Reward amount for this range.
@@ -707,6 +1077,16 @@ export namespace RuleCreateResponse {
707
1077
  * Start value of the range.
708
1078
  */
709
1079
  startRange: number;
1080
+
1081
+ /**
1082
+ * ID of the loyalty badge for this range.
1083
+ */
1084
+ loyaltyBadgeId?: string;
1085
+
1086
+ /**
1087
+ * Amount of the loyalty multiplier for this range.
1088
+ */
1089
+ loyaltyMultiplierAmount?: number;
710
1090
  }
711
1091
 
712
1092
  /**
@@ -760,14 +1140,14 @@ export namespace RuleCreateResponse {
760
1140
  */
761
1141
  export interface SmartContract {
762
1142
  /**
763
- * ABI of the smart contract.
1143
+ * Mapping of addresses for the smart contract.
764
1144
  */
765
- abi?: string | null;
1145
+ addressMapping?: string | null;
766
1146
 
767
1147
  /**
768
- * Mapping of addresses for the smart contract.
1148
+ * Object containing details of the amount multiplier from the event.
769
1149
  */
770
- addressMapping?: string | null;
1150
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
771
1151
 
772
1152
  /**
773
1153
  * Array of bonus details applied to the rule.
@@ -804,6 +1184,11 @@ export namespace RuleCreateResponse {
804
1184
  */
805
1185
  params?: Array<SmartContract.Param> | null;
806
1186
 
1187
+ /**
1188
+ * Type of the smart contract interaction.
1189
+ */
1190
+ type?: 'function' | 'event' | null;
1191
+
807
1192
  /**
808
1193
  * Flag indicating if a bonus is applied.
809
1194
  */
@@ -813,14 +1198,19 @@ export namespace RuleCreateResponse {
813
1198
  * Flag indicating if a custom range is applied.
814
1199
  */
815
1200
  withCustomRange?: boolean | null;
1201
+ }
816
1202
 
1203
+ export namespace SmartContract {
817
1204
  /**
818
- * Flag indicating if a maximum limit is applied.
1205
+ * Object containing details of the amount multiplier from the event.
819
1206
  */
820
- withMax?: boolean | null;
821
- }
1207
+ export interface AmountMultiplier {
1208
+ /**
1209
+ * Mapping of the value for the smart contract.
1210
+ */
1211
+ valueMapping?: string | null;
1212
+ }
822
1213
 
823
- export namespace SmartContract {
824
1214
  export interface Bonus {
825
1215
  /**
826
1216
  * Amount of the bonus.
@@ -889,47 +1279,88 @@ export namespace RuleCreateResponse {
889
1279
  */
890
1280
  streakMilestone: number;
891
1281
  }
892
- }
893
1282
 
894
- export interface Collection {
895
1283
  /**
896
- * Blockchain address of the collection
1284
+ * Metadata for swap loyalty rules
897
1285
  */
898
- address: string;
1286
+ export interface Swap {
1287
+ provider?: 'any' | 'relay' | 'lifi';
899
1288
 
900
- /**
901
- * Blockchain network for the collection
902
- */
903
- network:
904
- | 'mainnet'
905
- | 'polygon'
906
- | 'polygon_mumbai'
907
- | 'optimism'
1289
+ relayReferrerId?: string;
1290
+
1291
+ requireCrossChainSwap?: boolean;
1292
+
1293
+ swappedToChain?: 'any' | number | string;
1294
+
1295
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1296
+
1297
+ tokenMode?: 'any' | 'specific';
1298
+
1299
+ trackTokenAmount?: boolean;
1300
+ }
1301
+
1302
+ export namespace Swap {
1303
+ export interface SwappedToToken {
1304
+ address: string;
1305
+
1306
+ chainId: string;
1307
+ }
1308
+ }
1309
+ }
1310
+
1311
+ export interface Collection {
1312
+ /**
1313
+ * Blockchain address of the collection
1314
+ */
1315
+ address: string;
1316
+
1317
+ /**
1318
+ * Blockchain network for the collection
1319
+ */
1320
+ network:
1321
+ | 'abstract'
1322
+ | 'abstractTestnet'
1323
+ | 'apechain'
908
1324
  | 'arbitrum'
909
- | 'binance'
910
- | 'bscTestnet'
911
1325
  | 'avalanche'
912
1326
  | 'avalancheFuji'
913
- | 'zksync'
914
- | 'fantom'
915
- | 'fantomTestnet'
916
1327
  | 'base'
917
1328
  | 'baseSepolia'
918
- | 'skaleNebula'
919
- | 'xai'
1329
+ | 'berachain'
920
1330
  | 'berachainArtio'
921
- | 'solana'
922
- | 'apechain'
923
- | 'flowMainnet'
1331
+ | 'berachainBepolia'
1332
+ | 'binance'
1333
+ | 'bscTestnet'
924
1334
  | 'campTestnet'
1335
+ | 'fantom'
1336
+ | 'fantomTestnet'
1337
+ | 'flowMainnet'
1338
+ | 'mainnet'
1339
+ | 'optimism'
1340
+ | 'polygon'
1341
+ | 'polygon_mumbai'
1342
+ | 'skaleNebula'
1343
+ | 'solana'
1344
+ | 'sophon'
1345
+ | 'sophonTestnet'
925
1346
  | 'sui'
1347
+ | 'superseed'
1348
+ | 'superseedSepolia'
926
1349
  | 'vanar'
1350
+ | 'xai'
1351
+ | 'zksync'
1352
+ | 'coti'
1353
+ | 'cotiTestnet'
1354
+ | 'morph'
1355
+ | 'morphTestnet'
1356
+ | 'morphHolesky'
927
1357
  | 'sepolia'
928
1358
  | 'optimism_sepolia'
929
1359
  | 'arbitrumSepolia'
930
1360
  | 'goerli'
931
1361
  | 'optimism_goerli'
932
- | 'arbitrumGoerli';
1362
+ | 'arbitrumGoerli'
1363
+ | 'basecamp';
933
1364
  }
934
1365
  }
935
1366
 
@@ -941,41 +1372,16 @@ export interface RuleUpdateResponse {
941
1372
  */
942
1373
  amount: unknown;
943
1374
 
944
- /**
945
- * Effective end time of the rule
946
- */
947
- effectiveEndTime: string | null;
948
-
949
- /**
950
- * Effective start time of the rule
951
- */
952
- effectiveStartTime: string | null;
953
-
954
1375
  /**
955
1376
  * End time for the loyalty rule
956
1377
  */
957
1378
  endTime: string | null;
958
1379
 
959
- /**
960
- * Frequency of the rule execution
961
- */
962
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
963
-
964
- /**
965
- * Additional metadata for the loyalty rule
966
- */
967
- metadata: RuleUpdateResponse.Metadata;
968
-
969
1380
  /**
970
1381
  * Name of the loyalty rule
971
1382
  */
972
1383
  name: string;
973
1384
 
974
- /**
975
- * Start time for the loyalty rule
976
- */
977
- startTime: string | null;
978
-
979
1385
  /**
980
1386
  * Blockchain address of the associated collection
981
1387
  */
@@ -1001,6 +1407,26 @@ export interface RuleUpdateResponse {
1001
1407
  */
1002
1408
  description?: string;
1003
1409
 
1410
+ /**
1411
+ * Effective end time of the rule
1412
+ */
1413
+ effectiveEndTime?: string | null;
1414
+
1415
+ /**
1416
+ * Effective start time of the rule
1417
+ */
1418
+ effectiveStartTime?: string | null;
1419
+
1420
+ /**
1421
+ * ID of the external integration
1422
+ */
1423
+ externalIntegrationId?: string | null;
1424
+
1425
+ /**
1426
+ * Frequency of the rule execution
1427
+ */
1428
+ frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1429
+
1004
1430
  /**
1005
1431
  * Whether to hide this rule in the user interface
1006
1432
  */
@@ -1009,7 +1435,7 @@ export interface RuleUpdateResponse {
1009
1435
  /**
1010
1436
  * Time interval for recurring rule execution
1011
1437
  */
1012
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
1438
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1013
1439
 
1014
1440
  /**
1015
1441
  * Whether this rule is required for participation
@@ -1021,39 +1447,75 @@ export interface RuleUpdateResponse {
1021
1447
  */
1022
1448
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1023
1449
 
1450
+ /**
1451
+ * The interval for the max amount. Available for the smart contract and external
1452
+ * rules.
1453
+ */
1454
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1455
+
1456
+ /**
1457
+ * The maximum amount of points a user can earn per interval. Available for the
1458
+ * smart contract and external rules.
1459
+ */
1460
+ maxAmountPerInterval?: number | null;
1461
+
1462
+ /**
1463
+ * URL of the media to be displayed
1464
+ */
1465
+ mediaUrl?: string | null;
1466
+
1467
+ /**
1468
+ * Additional metadata for the loyalty rule
1469
+ */
1470
+ metadata?: RuleUpdateResponse.Metadata;
1471
+
1024
1472
  /**
1025
1473
  * Blockchain network where the rule will apply
1026
1474
  */
1027
1475
  network?:
1028
- | 'mainnet'
1029
- | 'polygon'
1030
- | 'polygon_mumbai'
1031
- | 'optimism'
1476
+ | 'abstract'
1477
+ | 'abstractTestnet'
1478
+ | 'apechain'
1032
1479
  | 'arbitrum'
1033
- | 'binance'
1034
- | 'bscTestnet'
1035
1480
  | 'avalanche'
1036
1481
  | 'avalancheFuji'
1037
- | 'zksync'
1038
- | 'fantom'
1039
- | 'fantomTestnet'
1040
1482
  | 'base'
1041
1483
  | 'baseSepolia'
1042
- | 'skaleNebula'
1043
- | 'xai'
1484
+ | 'berachain'
1044
1485
  | 'berachainArtio'
1045
- | 'solana'
1046
- | 'apechain'
1047
- | 'flowMainnet'
1486
+ | 'berachainBepolia'
1487
+ | 'binance'
1488
+ | 'bscTestnet'
1048
1489
  | 'campTestnet'
1490
+ | 'fantom'
1491
+ | 'fantomTestnet'
1492
+ | 'flowMainnet'
1493
+ | 'mainnet'
1494
+ | 'optimism'
1495
+ | 'polygon'
1496
+ | 'polygon_mumbai'
1497
+ | 'skaleNebula'
1498
+ | 'solana'
1499
+ | 'sophon'
1500
+ | 'sophonTestnet'
1049
1501
  | 'sui'
1502
+ | 'superseed'
1503
+ | 'superseedSepolia'
1050
1504
  | 'vanar'
1505
+ | 'xai'
1506
+ | 'zksync'
1507
+ | 'coti'
1508
+ | 'cotiTestnet'
1509
+ | 'morph'
1510
+ | 'morphTestnet'
1511
+ | 'morphHolesky'
1051
1512
  | 'sepolia'
1052
1513
  | 'optimism_sepolia'
1053
1514
  | 'arbitrumSepolia'
1054
1515
  | 'goerli'
1055
1516
  | 'optimism_goerli'
1056
- | 'arbitrumGoerli';
1517
+ | 'arbitrumGoerli'
1518
+ | 'basecamp';
1057
1519
 
1058
1520
  /**
1059
1521
  * ID for associated OAuth credentials
@@ -1063,19 +1525,89 @@ export interface RuleUpdateResponse {
1063
1525
  /**
1064
1526
  * Type of reward issued by this rule
1065
1527
  */
1066
- rewardType?: 'points' | 'multiplier';
1528
+ rewardType?: 'points' | 'multiplier' | 'badge';
1529
+
1530
+ /**
1531
+ * URL of the Shopify store
1532
+ */
1533
+ shopifyStoreUrl?: string | null;
1534
+
1535
+ /**
1536
+ * Start time for the loyalty rule
1537
+ */
1538
+ startTime?: string | null;
1067
1539
 
1068
1540
  /**
1069
- * Optional subscription identifier for the rule
1541
+ * Optional subscription id for the rule
1070
1542
  */
1071
- subscriptionIdentifier?: string | null;
1543
+ subscriptionId?: string | null;
1072
1544
  }
1073
1545
 
1074
1546
  export namespace RuleUpdateResponse {
1547
+ export interface Collection {
1548
+ /**
1549
+ * Blockchain address of the collection
1550
+ */
1551
+ address: string;
1552
+
1553
+ /**
1554
+ * Blockchain network for the collection
1555
+ */
1556
+ network:
1557
+ | 'abstract'
1558
+ | 'abstractTestnet'
1559
+ | 'apechain'
1560
+ | 'arbitrum'
1561
+ | 'avalanche'
1562
+ | 'avalancheFuji'
1563
+ | 'base'
1564
+ | 'baseSepolia'
1565
+ | 'berachain'
1566
+ | 'berachainArtio'
1567
+ | 'berachainBepolia'
1568
+ | 'binance'
1569
+ | 'bscTestnet'
1570
+ | 'campTestnet'
1571
+ | 'fantom'
1572
+ | 'fantomTestnet'
1573
+ | 'flowMainnet'
1574
+ | 'mainnet'
1575
+ | 'optimism'
1576
+ | 'polygon'
1577
+ | 'polygon_mumbai'
1578
+ | 'skaleNebula'
1579
+ | 'solana'
1580
+ | 'sophon'
1581
+ | 'sophonTestnet'
1582
+ | 'sui'
1583
+ | 'superseed'
1584
+ | 'superseedSepolia'
1585
+ | 'vanar'
1586
+ | 'xai'
1587
+ | 'zksync'
1588
+ | 'coti'
1589
+ | 'cotiTestnet'
1590
+ | 'morph'
1591
+ | 'morphTestnet'
1592
+ | 'morphHolesky'
1593
+ | 'sepolia'
1594
+ | 'optimism_sepolia'
1595
+ | 'arbitrumSepolia'
1596
+ | 'goerli'
1597
+ | 'optimism_goerli'
1598
+ | 'arbitrumGoerli'
1599
+ | 'basecamp';
1600
+ }
1601
+
1075
1602
  /**
1076
1603
  * Additional metadata for the loyalty rule
1077
1604
  */
1078
1605
  export interface Metadata {
1606
+ /**
1607
+ * Number of tokens per batch.
1608
+ */
1609
+ batchSize?: number | null;
1610
+
1079
1611
  /**
1080
1612
  * Text displayed on the action button.
1081
1613
  */
@@ -1106,6 +1638,11 @@ export namespace RuleUpdateResponse {
1106
1638
  */
1107
1639
  collection?: Array<Metadata.Collection>;
1108
1640
 
1641
+ /**
1642
+ * Conditions for completing the profile.
1643
+ */
1644
+ completeProfileConditions?: { [key: string]: boolean } | null;
1645
+
1109
1646
  /**
1110
1647
  * Object containing details for the call-to-action.
1111
1648
  */
@@ -1141,11 +1678,21 @@ export namespace RuleUpdateResponse {
1141
1678
  */
1142
1679
  enableVerifiedMultiplier?: boolean;
1143
1680
 
1681
+ /**
1682
+ * Fill source of the order for the token sale
1683
+ */
1684
+ fillSource?: string;
1685
+
1144
1686
  /**
1145
1687
  * Percentage reward given to a user for their first referral.
1146
1688
  */
1147
1689
  firstReferralReward?: number | null;
1148
1690
 
1691
+ /**
1692
+ * Flag indicating whether the fill source is included.
1693
+ */
1694
+ hasFillSource?: boolean;
1695
+
1149
1696
  /**
1150
1697
  * Indicates if the item has never been sold.
1151
1698
  */
@@ -1171,11 +1718,21 @@ export namespace RuleUpdateResponse {
1171
1718
  */
1172
1719
  imageUrl?: string | null;
1173
1720
 
1721
+ /**
1722
+ * If enabled, the first transaction done on the platform will complete this rule
1723
+ */
1724
+ isCheckInOnEveryTxn?: boolean;
1725
+
1174
1726
  /**
1175
1727
  * Indicates if the multiplier has been applied to rewards.
1176
1728
  */
1177
1729
  isMultiplierApplied?: boolean;
1178
1730
 
1731
+ /**
1732
+ * Flag indicating if the rule is restricted to new users.
1733
+ */
1734
+ isRestrictedToNewUsers?: boolean;
1735
+
1179
1736
  /**
1180
1737
  * Flag indicating if rewards are applied retroactively.
1181
1738
  */
@@ -1191,6 +1748,11 @@ export namespace RuleUpdateResponse {
1191
1748
  */
1192
1749
  link?: string | null;
1193
1750
 
1751
+ /**
1752
+ * Liquidity pool details.
1753
+ */
1754
+ liquidity?: Metadata.Liquidity;
1755
+
1194
1756
  /**
1195
1757
  * Maximum quantity constraint for token holding.
1196
1758
  */
@@ -1221,11 +1783,36 @@ export namespace RuleUpdateResponse {
1221
1783
  */
1222
1784
  onlyNonListed?: boolean;
1223
1785
 
1786
+ /**
1787
+ * Indicates if only existing users are rewarded.
1788
+ */
1789
+ onlyRewardExistingUser?: boolean;
1790
+
1791
+ /**
1792
+ * give points for only one token ownership per contract
1793
+ */
1794
+ onlyRewardSingleTokenOwnership?: boolean | null;
1795
+
1224
1796
  /**
1225
1797
  * Promotional code associated with the rule.
1226
1798
  */
1227
1799
  promoCode?: string;
1228
1800
 
1801
+ /**
1802
+ * URL of the CSV file containing promo codes.
1803
+ */
1804
+ promoCodeCsvUrl?: string;
1805
+
1806
+ /**
1807
+ * Numbers of the promotional code to be generated.
1808
+ */
1809
+ promoCodeLength?: number | null;
1810
+
1811
+ /**
1812
+ * Type of the promotional code.
1813
+ */
1814
+ promoCodeType?: 'code' | 'csv' | 'generate';
1815
+
1229
1816
  /**
1230
1817
  * Array defining ranges and corresponding rewards.
1231
1818
  */
@@ -1241,11 +1828,32 @@ export namespace RuleUpdateResponse {
1241
1828
  */
1242
1829
  referrerReward?: number | null;
1243
1830
 
1831
+ /**
1832
+ * Loyalty currency ID of the referrer reward.
1833
+ */
1834
+ referrerRewardLoyaltyCurrencyId?: string | null;
1835
+
1836
+ /**
1837
+ * Flag indicating if the rule can also reward badges per range.
1838
+ */
1839
+ rewardBadgePerRange?: boolean;
1840
+
1841
+ /**
1842
+ * Flag indicating if the reward is rewarded by batch.
1843
+ */
1844
+ rewardByBatch?: boolean | null;
1845
+
1244
1846
  /**
1245
1847
  * Flag indicating if rewards are given per impression.
1246
1848
  */
1247
1849
  rewardPerImpression?: boolean | null;
1248
1850
 
1851
+ /**
1852
+ * Flag indicating if the rule should reward based on value of traded tokens
1853
+ * instead of count.
1854
+ */
1855
+ rewardPerValue?: boolean;
1856
+
1249
1857
  /**
1250
1858
  * Currency associated with sales.
1251
1859
  */
@@ -1256,6 +1864,11 @@ export namespace RuleUpdateResponse {
1256
1864
  */
1257
1865
  secondReferralReward?: number | null;
1258
1866
 
1867
+ /**
1868
+ * Flag indicating if the multiplier is skipped.
1869
+ */
1870
+ skipMultiplier?: boolean | null;
1871
+
1259
1872
  /**
1260
1873
  * Object containing details of the associated smart contract.
1261
1874
  */
@@ -1270,14 +1883,17 @@ export namespace RuleUpdateResponse {
1270
1883
  * Social media platform associated with the rule.
1271
1884
  */
1272
1885
  socialPlatform?:
1273
- | 'Twitch'
1886
+ | 'Custom'
1887
+ | 'Discord'
1888
+ | 'EpicGames'
1889
+ | 'Instagram'
1890
+ | 'Steam'
1891
+ | 'Telegram'
1274
1892
  | 'TikTok'
1893
+ | 'Twitch'
1275
1894
  | 'X(Twitter)'
1276
- | 'Instagram'
1277
- | 'EpicGames'
1278
1895
  | 'YouTube'
1279
- | 'Discord'
1280
- | 'Custom'
1896
+ | 'Google'
1281
1897
  | null;
1282
1898
 
1283
1899
  /**
@@ -1290,11 +1906,21 @@ export namespace RuleUpdateResponse {
1290
1906
  */
1291
1907
  socialPlatformName?: string | null;
1292
1908
 
1909
+ /**
1910
+ * ID of the Steam app.
1911
+ */
1912
+ steamAppId?: string | null;
1913
+
1293
1914
  /**
1294
1915
  * Array of streak milestones and corresponding rewards.
1295
1916
  */
1296
1917
  streakArray?: Array<Metadata.StreakArray> | null;
1297
1918
 
1919
+ /**
1920
+ * Metadata for swap loyalty rules
1921
+ */
1922
+ swap?: Metadata.Swap;
1923
+
1298
1924
  /**
1299
1925
  * ID of the Telegram channel.
1300
1926
  */
@@ -1310,6 +1936,12 @@ export namespace RuleUpdateResponse {
1310
1936
  */
1311
1937
  trackAllContracts?: boolean | null;
1312
1938
 
1939
+ /**
1940
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1941
+ * completed once the progress is 100%.
1942
+ */
1943
+ trackProgress?: boolean | null;
1944
+
1313
1945
  /**
1314
1946
  * URL of the associated Twitter account.
1315
1947
  */
@@ -1353,7 +1985,17 @@ export namespace RuleUpdateResponse {
1353
1985
  /**
1354
1986
  * Type of wallet associated with the rule.
1355
1987
  */
1356
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1988
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
1989
+
1990
+ /**
1991
+ * ID of the Youtube channel.
1992
+ */
1993
+ youtubeChannelId?: string | null;
1994
+
1995
+ /**
1996
+ * ID of the Youtube video.
1997
+ */
1998
+ youtubeVideoId?: string | null;
1357
1999
  }
1358
2000
 
1359
2001
  export namespace Metadata {
@@ -1372,35 +2014,49 @@ export namespace RuleUpdateResponse {
1372
2014
  * Blockchain network of the collection.
1373
2015
  */
1374
2016
  network?:
1375
- | 'mainnet'
1376
- | 'polygon'
1377
- | 'polygon_mumbai'
1378
- | 'optimism'
2017
+ | 'abstract'
2018
+ | 'abstractTestnet'
2019
+ | 'apechain'
1379
2020
  | 'arbitrum'
1380
- | 'binance'
1381
- | 'bscTestnet'
1382
2021
  | 'avalanche'
1383
2022
  | 'avalancheFuji'
1384
- | 'zksync'
1385
- | 'fantom'
1386
- | 'fantomTestnet'
1387
2023
  | 'base'
1388
2024
  | 'baseSepolia'
1389
- | 'skaleNebula'
1390
- | 'xai'
2025
+ | 'berachain'
1391
2026
  | 'berachainArtio'
1392
- | 'solana'
1393
- | 'apechain'
1394
- | 'flowMainnet'
2027
+ | 'berachainBepolia'
2028
+ | 'binance'
2029
+ | 'bscTestnet'
1395
2030
  | 'campTestnet'
2031
+ | 'fantom'
2032
+ | 'fantomTestnet'
2033
+ | 'flowMainnet'
2034
+ | 'mainnet'
2035
+ | 'optimism'
2036
+ | 'polygon'
2037
+ | 'polygon_mumbai'
2038
+ | 'skaleNebula'
2039
+ | 'solana'
2040
+ | 'sophon'
2041
+ | 'sophonTestnet'
1396
2042
  | 'sui'
2043
+ | 'superseed'
2044
+ | 'superseedSepolia'
1397
2045
  | 'vanar'
2046
+ | 'xai'
2047
+ | 'zksync'
2048
+ | 'coti'
2049
+ | 'cotiTestnet'
2050
+ | 'morph'
2051
+ | 'morphTestnet'
2052
+ | 'morphHolesky'
1398
2053
  | 'sepolia'
1399
2054
  | 'optimism_sepolia'
1400
2055
  | 'arbitrumSepolia'
1401
2056
  | 'goerli'
1402
2057
  | 'optimism_goerli'
1403
- | 'arbitrumGoerli';
2058
+ | 'arbitrumGoerli'
2059
+ | 'basecamp';
1404
2060
  }
1405
2061
 
1406
2062
  /**
@@ -1446,6 +2102,11 @@ export namespace RuleUpdateResponse {
1446
2102
  * Array of emojis used in the channel.
1447
2103
  */
1448
2104
  emojis?: Array<Channel.Emoji>;
2105
+
2106
+ /**
2107
+ * Phrase of text to be present in the discord message
2108
+ */
2109
+ text?: string;
1449
2110
  }
1450
2111
 
1451
2112
  export namespace Channel {
@@ -1472,6 +2133,100 @@ export namespace RuleUpdateResponse {
1472
2133
  id: string;
1473
2134
  }
1474
2135
 
2136
+ /**
2137
+ * Liquidity pool details.
2138
+ */
2139
+ export interface Liquidity {
2140
+ /**
2141
+ * Calculation type of the liquidity pool.
2142
+ */
2143
+ calculationType?: 'fixed' | 'custom';
2144
+
2145
+ /**
2146
+ * Custom function to calculate the the reward amount based on the liquidity
2147
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2148
+ * USD.
2149
+ */
2150
+ customFunction?: string;
2151
+
2152
+ /**
2153
+ * Liquidity provided per day in USD
2154
+ */
2155
+ liquidityPerDay?: number;
2156
+
2157
+ /**
2158
+ * Blockchain network of the liquidity pool.
2159
+ */
2160
+ network?:
2161
+ | 'abstract'
2162
+ | 'abstractTestnet'
2163
+ | 'apechain'
2164
+ | 'arbitrum'
2165
+ | 'avalanche'
2166
+ | 'avalancheFuji'
2167
+ | 'base'
2168
+ | 'baseSepolia'
2169
+ | 'berachain'
2170
+ | 'berachainArtio'
2171
+ | 'berachainBepolia'
2172
+ | 'binance'
2173
+ | 'bscTestnet'
2174
+ | 'campTestnet'
2175
+ | 'fantom'
2176
+ | 'fantomTestnet'
2177
+ | 'flowMainnet'
2178
+ | 'mainnet'
2179
+ | 'optimism'
2180
+ | 'polygon'
2181
+ | 'polygon_mumbai'
2182
+ | 'skaleNebula'
2183
+ | 'solana'
2184
+ | 'sophon'
2185
+ | 'sophonTestnet'
2186
+ | 'sui'
2187
+ | 'superseed'
2188
+ | 'superseedSepolia'
2189
+ | 'vanar'
2190
+ | 'xai'
2191
+ | 'zksync'
2192
+ | 'coti'
2193
+ | 'cotiTestnet'
2194
+ | 'morph'
2195
+ | 'morphTestnet'
2196
+ | 'morphHolesky'
2197
+ | 'sepolia'
2198
+ | 'optimism_sepolia'
2199
+ | 'arbitrumSepolia'
2200
+ | 'goerli'
2201
+ | 'optimism_goerli'
2202
+ | 'arbitrumGoerli'
2203
+ | 'basecamp';
2204
+
2205
+ /**
2206
+ * Indicates if only in-range liquidity is rewarded.
2207
+ */
2208
+ onlyRewardInRangeLiquidity?: boolean;
2209
+
2210
+ /**
2211
+ * Array of liquidity pools associated with the rule.
2212
+ */
2213
+ pools?: Array<Liquidity.Pool>;
2214
+
2215
+ /**
2216
+ * Protocol of the liquidity pool.
2217
+ */
2218
+ protocol?: string;
2219
+ }
2220
+
2221
+ export namespace Liquidity {
2222
+ export interface Pool {
2223
+ /**
2224
+ * Unique identifier of the liquidity pool.
2225
+ */
2226
+ id: string;
2227
+ }
2228
+ }
2229
+
1475
2230
  export interface Range {
1476
2231
  /**
1477
2232
  * Reward amount for this range.
@@ -1487,6 +2242,16 @@ export namespace RuleUpdateResponse {
1487
2242
  * Start value of the range.
1488
2243
  */
1489
2244
  startRange: number;
2245
+
2246
+ /**
2247
+ * ID of the loyalty badge for this range.
2248
+ */
2249
+ loyaltyBadgeId?: string;
2250
+
2251
+ /**
2252
+ * Amount of the loyalty multiplier for this range.
2253
+ */
2254
+ loyaltyMultiplierAmount?: number;
1490
2255
  }
1491
2256
 
1492
2257
  /**
@@ -1540,14 +2305,14 @@ export namespace RuleUpdateResponse {
1540
2305
  */
1541
2306
  export interface SmartContract {
1542
2307
  /**
1543
- * ABI of the smart contract.
2308
+ * Mapping of addresses for the smart contract.
1544
2309
  */
1545
- abi?: string | null;
2310
+ addressMapping?: string | null;
1546
2311
 
1547
2312
  /**
1548
- * Mapping of addresses for the smart contract.
2313
+ * Object containing details of the amount multiplier from the event.
1549
2314
  */
1550
- addressMapping?: string | null;
2315
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1551
2316
 
1552
2317
  /**
1553
2318
  * Array of bonus details applied to the rule.
@@ -1584,6 +2349,11 @@ export namespace RuleUpdateResponse {
1584
2349
  */
1585
2350
  params?: Array<SmartContract.Param> | null;
1586
2351
 
2352
+ /**
2353
+ * Type of the smart contract interaction.
2354
+ */
2355
+ type?: 'function' | 'event' | null;
2356
+
1587
2357
  /**
1588
2358
  * Flag indicating if a bonus is applied.
1589
2359
  */
@@ -1593,14 +2363,19 @@ export namespace RuleUpdateResponse {
1593
2363
  * Flag indicating if a custom range is applied.
1594
2364
  */
1595
2365
  withCustomRange?: boolean | null;
2366
+ }
1596
2367
 
2368
+ export namespace SmartContract {
1597
2369
  /**
1598
- * Flag indicating if a maximum limit is applied.
2370
+ * Object containing details of the amount multiplier from the event.
1599
2371
  */
1600
- withMax?: boolean | null;
1601
- }
2372
+ export interface AmountMultiplier {
2373
+ /**
2374
+ * Mapping of the value for the smart contract.
2375
+ */
2376
+ valueMapping?: string | null;
2377
+ }
1602
2378
 
1603
- export namespace SmartContract {
1604
2379
  export interface Bonus {
1605
2380
  /**
1606
2381
  * Amount of the bonus.
@@ -1669,47 +2444,33 @@ export namespace RuleUpdateResponse {
1669
2444
  */
1670
2445
  streakMilestone: number;
1671
2446
  }
1672
- }
1673
2447
 
1674
- export interface Collection {
1675
2448
  /**
1676
- * Blockchain address of the collection
2449
+ * Metadata for swap loyalty rules
1677
2450
  */
1678
- address: string;
2451
+ export interface Swap {
2452
+ provider?: 'any' | 'relay' | 'lifi';
1679
2453
 
1680
- /**
1681
- * Blockchain network for the collection
1682
- */
1683
- network:
1684
- | 'mainnet'
1685
- | 'polygon'
1686
- | 'polygon_mumbai'
1687
- | 'optimism'
1688
- | 'arbitrum'
1689
- | 'binance'
1690
- | 'bscTestnet'
1691
- | 'avalanche'
1692
- | 'avalancheFuji'
1693
- | 'zksync'
1694
- | 'fantom'
1695
- | 'fantomTestnet'
1696
- | 'base'
1697
- | 'baseSepolia'
1698
- | 'skaleNebula'
1699
- | 'xai'
1700
- | 'berachainArtio'
1701
- | 'solana'
1702
- | 'apechain'
1703
- | 'flowMainnet'
1704
- | 'campTestnet'
1705
- | 'sui'
1706
- | 'vanar'
1707
- | 'sepolia'
1708
- | 'optimism_sepolia'
1709
- | 'arbitrumSepolia'
1710
- | 'goerli'
1711
- | 'optimism_goerli'
1712
- | 'arbitrumGoerli';
2454
+ relayReferrerId?: string;
2455
+
2456
+ requireCrossChainSwap?: boolean;
2457
+
2458
+ swappedToChain?: 'any' | number | string;
2459
+
2460
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2461
+
2462
+ tokenMode?: 'any' | 'specific';
2463
+
2464
+ trackTokenAmount?: boolean;
2465
+ }
2466
+
2467
+ export namespace Swap {
2468
+ export interface SwappedToToken {
2469
+ address: string;
2470
+
2471
+ chainId: string;
2472
+ }
2473
+ }
1713
2474
  }
1714
2475
  }
1715
2476
 
@@ -1720,9 +2481,6 @@ export interface RuleListResponse {
1720
2481
  }
1721
2482
 
1722
2483
  export namespace RuleListResponse {
1723
- /**
1724
- * Schema for a loyalty rule
1725
- */
1726
2484
  export interface Data {
1727
2485
  /**
1728
2486
  * Unique identifier for the loyalty rule
@@ -1744,16 +2502,46 @@ export namespace RuleListResponse {
1744
2502
  */
1745
2503
  deletedAt: string | null;
1746
2504
 
2505
+ /**
2506
+ * Description of the loyalty rule
2507
+ */
2508
+ description: string;
2509
+
2510
+ /**
2511
+ * End time of the loyalty rule
2512
+ */
2513
+ endTime: string;
2514
+
1747
2515
  /**
1748
2516
  * Frequency of the loyalty rule
1749
2517
  */
1750
2518
  frequency: string;
1751
2519
 
2520
+ /**
2521
+ * Chains attached to the loyalty rule
2522
+ */
2523
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
2524
+
2525
+ /**
2526
+ * Name of the loyalty rule
2527
+ */
2528
+ name: string;
2529
+
1752
2530
  /**
1753
2531
  * Unique identifier for the organization
1754
2532
  */
1755
2533
  organizationId: string;
1756
2534
 
2535
+ /**
2536
+ * Type of the reward
2537
+ */
2538
+ rewardType: 'points' | 'multiplier' | 'badge';
2539
+
2540
+ /**
2541
+ * Start time of the loyalty rule
2542
+ */
2543
+ startTime: string;
2544
+
1757
2545
  /**
1758
2546
  * Type of the loyalty rule
1759
2547
  */
@@ -1769,15 +2557,993 @@ export namespace RuleListResponse {
1769
2557
  */
1770
2558
  websiteId: string;
1771
2559
 
1772
- /**
1773
- * Optional address of the collection
1774
- */
1775
- collectionAddress?: string;
2560
+ /**
2561
+ * Optional address of the collection
2562
+ */
2563
+ collectionAddress?: string;
2564
+
2565
+ /**
2566
+ * URL of the media associated with the loyalty rule
2567
+ */
2568
+ mediaUrl?: string | null;
2569
+
2570
+ /**
2571
+ * Optional metadata for the loyalty rule
2572
+ */
2573
+ metadata?: { [key: string]: Data.Metadata };
2574
+ }
2575
+
2576
+ export namespace Data {
2577
+ export interface LoyaltyRuleChain {
2578
+ /**
2579
+ * Unique identifier for the rule chain
2580
+ */
2581
+ id: string;
2582
+
2583
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
2584
+
2585
+ /**
2586
+ * Unique identifier for the loyalty rule
2587
+ */
2588
+ loyaltyRuleId: string;
2589
+
2590
+ /**
2591
+ * Name of the rule chain
2592
+ */
2593
+ name: string;
2594
+ }
2595
+
2596
+ export namespace LoyaltyRuleChain {
2597
+ export interface LoyaltyCondition {
2598
+ /**
2599
+ * Unique identifier for the condition
2600
+ */
2601
+ id: string;
2602
+
2603
+ /**
2604
+ * Amount of the condition
2605
+ */
2606
+ amount: number | null;
2607
+
2608
+ association: Array<LoyaltyCondition.Association>;
2609
+
2610
+ /**
2611
+ * URL of the CSV file
2612
+ */
2613
+ csvUrl: string | null;
2614
+
2615
+ /**
2616
+ * Description of the condition
2617
+ */
2618
+ description: string | null;
2619
+
2620
+ /**
2621
+ * Number of times the condition must be met
2622
+ */
2623
+ repeatCount: number | null;
2624
+
2625
+ /**
2626
+ * Number of times the condition must be met
2627
+ */
2628
+ requiredCount: number | null;
2629
+
2630
+ /**
2631
+ * Type of the condition
2632
+ */
2633
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
2634
+ }
2635
+
2636
+ export namespace LoyaltyCondition {
2637
+ export interface Association {
2638
+ /**
2639
+ * Unique identifier for the association
2640
+ */
2641
+ id: string;
2642
+
2643
+ /**
2644
+ * Unique identifier for the loyalty badge
2645
+ */
2646
+ loyaltyBadgeId: string | null;
2647
+
2648
+ /**
2649
+ * Unique identifier for the loyalty currency
2650
+ */
2651
+ loyaltyCurrencyId: string | null;
2652
+
2653
+ loyaltyRule: Association.LoyaltyRule | null;
2654
+
2655
+ /**
2656
+ * Unique identifier for the loyalty rule group
2657
+ */
2658
+ loyaltyRuleGroupId: string | null;
2659
+
2660
+ /**
2661
+ * Unique identifier for the loyalty rule
2662
+ */
2663
+ loyaltyRuleId: string | null;
2664
+ }
2665
+
2666
+ export namespace Association {
2667
+ export interface LoyaltyRule {
2668
+ /**
2669
+ * Name of the loyalty rule
2670
+ */
2671
+ name: string;
2672
+ }
2673
+ }
2674
+ }
2675
+ }
2676
+
2677
+ export interface Metadata {
2678
+ /**
2679
+ * Number of tokens per batch.
2680
+ */
2681
+ batchSize?: number | null;
2682
+
2683
+ /**
2684
+ * Text displayed on the action button.
2685
+ */
2686
+ buttonText?: string | null;
2687
+
2688
+ /**
2689
+ * Flag indicating if commenting is required.
2690
+ */
2691
+ checkComment?: boolean | null;
2692
+
2693
+ /**
2694
+ * Flag indicating if liking the post is required.
2695
+ */
2696
+ checkLike?: boolean | null;
2697
+
2698
+ /**
2699
+ * Flag indicating if reposting is required.
2700
+ */
2701
+ checkRepost?: boolean | null;
2702
+
2703
+ /**
2704
+ * Text to check in the Twitter post, username, or bio.
2705
+ */
2706
+ checkText?: string | null;
2707
+
2708
+ /**
2709
+ * Array of collections associated with the rule.
2710
+ */
2711
+ collection?: Array<Metadata.Collection>;
2712
+
2713
+ /**
2714
+ * Conditions for completing the profile.
2715
+ */
2716
+ completeProfileConditions?: { [key: string]: boolean } | null;
2717
+
2718
+ /**
2719
+ * Object containing details for the call-to-action.
2720
+ */
2721
+ cta?: Metadata.Cta | null;
2722
+
2723
+ /**
2724
+ * API key for custom rewards integration.
2725
+ */
2726
+ customRewardsApiKey?: string;
2727
+
2728
+ /**
2729
+ * Array of Discord servers, channels, and roles to join.
2730
+ */
2731
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2732
+
2733
+ /**
2734
+ * Array of drip quests required to complete the rule.
2735
+ */
2736
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2737
+
2738
+ /**
2739
+ * Flag indicating whether joining Discord servers is required.
2740
+ */
2741
+ enableJoinDiscordServers?: boolean | null;
2742
+
2743
+ /**
2744
+ * Flag indicating whether streaks are enabled.
2745
+ */
2746
+ enableStreaks?: boolean | null;
2747
+
2748
+ /**
2749
+ * Flag indicating whether the verified multiplier is enabled.
2750
+ */
2751
+ enableVerifiedMultiplier?: boolean;
2752
+
2753
+ /**
2754
+ * Fill source of the order for the token sale
2755
+ */
2756
+ fillSource?: string;
2757
+
2758
+ /**
2759
+ * Percentage reward given to a user for their first referral.
2760
+ */
2761
+ firstReferralReward?: number | null;
2762
+
2763
+ /**
2764
+ * Flag indicating whether the fill source is included.
2765
+ */
2766
+ hasFillSource?: boolean;
2767
+
2768
+ /**
2769
+ * Indicates if the item has never been sold.
2770
+ */
2771
+ hasNeverSold?: boolean;
2772
+
2773
+ /**
2774
+ * Indicates if the full royalty has been paid for items.
2775
+ */
2776
+ hasPaidFullRoyalty?: boolean;
2777
+
2778
+ /**
2779
+ * Flag indicating if the sale currency is included.
2780
+ */
2781
+ hasSaleCurrency?: boolean;
2782
+
2783
+ /**
2784
+ * Indicates if the user has a verified Twitter account.
2785
+ */
2786
+ hasVerifiedTwitter?: boolean;
2787
+
2788
+ /**
2789
+ * URL of the image associated with the rule.
2790
+ */
2791
+ imageUrl?: string | null;
2792
+
2793
+ /**
2794
+ * If enabled, the first transaction done on the platform will complete this rule
2795
+ */
2796
+ isCheckInOnEveryTxn?: boolean;
2797
+
2798
+ /**
2799
+ * Indicates if the multiplier has been applied to rewards.
2800
+ */
2801
+ isMultiplierApplied?: boolean;
2802
+
2803
+ /**
2804
+ * Flag indicating if the rule is restricted to new users.
2805
+ */
2806
+ isRestrictedToNewUsers?: boolean;
2807
+
2808
+ /**
2809
+ * Flag indicating if rewards are applied retroactively.
2810
+ */
2811
+ isRetroactive?: boolean | null;
2812
+
2813
+ /**
2814
+ * Flag indicating if the token hold multiplier is applied.
2815
+ */
2816
+ isTokenHoldMultiplier?: boolean;
2817
+
2818
+ /**
2819
+ * Optional link associated with the metadata.
2820
+ */
2821
+ link?: string | null;
2822
+
2823
+ /**
2824
+ * Liquidity pool details.
2825
+ */
2826
+ liquidity?: Metadata.Liquidity;
2827
+
2828
+ /**
2829
+ * Maximum quantity constraint for token holding.
2830
+ */
2831
+ maxQty?: number | null;
2832
+
2833
+ /**
2834
+ * Minimum quantity constraint for token holding.
2835
+ */
2836
+ minQty?: number | null;
2837
+
2838
+ /**
2839
+ * Array of loyalty currency IDs used for multipliers.
2840
+ */
2841
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2842
+
2843
+ /**
2844
+ * Flag indicating whether to include only known users.
2845
+ */
2846
+ onlyKnownUsers?: boolean;
2847
+
2848
+ /**
2849
+ * Flag indicating whether to include only native tokens.
2850
+ */
2851
+ onlyNative?: boolean;
2852
+
2853
+ /**
2854
+ * Flag indicating whether to include only non-listed items.
2855
+ */
2856
+ onlyNonListed?: boolean;
2857
+
2858
+ /**
2859
+ * Indicates if only existing users are rewarded.
2860
+ */
2861
+ onlyRewardExistingUser?: boolean;
2862
+
2863
+ /**
2864
+ * give points for only one token ownership per contract
2865
+ */
2866
+ onlyRewardSingleTokenOwnership?: boolean | null;
2867
+
2868
+ /**
2869
+ * Promotional code associated with the rule.
2870
+ */
2871
+ promoCode?: string;
2872
+
2873
+ /**
2874
+ * URL of the CSV file containing promo codes.
2875
+ */
2876
+ promoCodeCsvUrl?: string;
2877
+
2878
+ /**
2879
+ * Numbers of the promotional code to be generated.
2880
+ */
2881
+ promoCodeLength?: number | null;
2882
+
2883
+ /**
2884
+ * Type of the promotional code.
2885
+ */
2886
+ promoCodeType?: 'code' | 'csv' | 'generate';
2887
+
2888
+ /**
2889
+ * Array defining ranges and corresponding rewards.
2890
+ */
2891
+ range?: Array<Metadata.Range>;
2892
+
2893
+ /**
2894
+ * Object defining referral requirements.
2895
+ */
2896
+ referralRequirements?: Metadata.ReferralRequirements | null;
2897
+
2898
+ /**
2899
+ * Lump sum reward given to a referrer.
2900
+ */
2901
+ referrerReward?: number | null;
2902
+
2903
+ /**
2904
+ * Loyalty currency ID of the referrer reward.
2905
+ */
2906
+ referrerRewardLoyaltyCurrencyId?: string | null;
2907
+
2908
+ /**
2909
+ * Flag indicating if the rule can also reward badges per range.
2910
+ */
2911
+ rewardBadgePerRange?: boolean;
2912
+
2913
+ /**
2914
+ * Flag indicating if the reward is rewarded by batch.
2915
+ */
2916
+ rewardByBatch?: boolean | null;
2917
+
2918
+ /**
2919
+ * Flag indicating if rewards are given per impression.
2920
+ */
2921
+ rewardPerImpression?: boolean | null;
2922
+
2923
+ /**
2924
+ * Flag indicating if the rule should reward based on value of traded tokens
2925
+ * instead of count.
2926
+ */
2927
+ rewardPerValue?: boolean;
2928
+
2929
+ /**
2930
+ * Currency associated with sales.
2931
+ */
2932
+ saleCurrency?: string;
2933
+
2934
+ /**
2935
+ * Percentage reward given for a second-level referral.
2936
+ */
2937
+ secondReferralReward?: number | null;
2938
+
2939
+ /**
2940
+ * Flag indicating if the multiplier is skipped.
2941
+ */
2942
+ skipMultiplier?: boolean | null;
2943
+
2944
+ /**
2945
+ * Object containing details of the associated smart contract.
2946
+ */
2947
+ smartContract?: Metadata.SmartContract;
2948
+
2949
+ /**
2950
+ * Array of snapshot proposals for the rule.
2951
+ */
2952
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2953
+
2954
+ /**
2955
+ * Social media platform associated with the rule.
2956
+ */
2957
+ socialPlatform?:
2958
+ | 'Custom'
2959
+ | 'Discord'
2960
+ | 'EpicGames'
2961
+ | 'Instagram'
2962
+ | 'Steam'
2963
+ | 'Telegram'
2964
+ | 'TikTok'
2965
+ | 'Twitch'
2966
+ | 'X(Twitter)'
2967
+ | 'YouTube'
2968
+ | 'Google'
2969
+ | null;
2970
+
2971
+ /**
2972
+ * URL of the social platform's logo.
2973
+ */
2974
+ socialPlatformLogo?: string | null;
2975
+
2976
+ /**
2977
+ * Name of the social platform.
2978
+ */
2979
+ socialPlatformName?: string | null;
2980
+
2981
+ /**
2982
+ * ID of the Steam app.
2983
+ */
2984
+ steamAppId?: string | null;
2985
+
2986
+ /**
2987
+ * Array of streak milestones and corresponding rewards.
2988
+ */
2989
+ streakArray?: Array<Metadata.StreakArray> | null;
2990
+
2991
+ /**
2992
+ * Metadata for swap loyalty rules
2993
+ */
2994
+ swap?: Metadata.Swap;
2995
+
2996
+ /**
2997
+ * ID of the Telegram channel.
2998
+ */
2999
+ telegramChannelId?: string | null;
3000
+
3001
+ /**
3002
+ * Time delay in seconds to verify actions.
3003
+ */
3004
+ timeDelayToVerifySeconds?: string | number | null;
3005
+
3006
+ /**
3007
+ * Flag indicating if all contracts are tracked.
3008
+ */
3009
+ trackAllContracts?: boolean | null;
3010
+
3011
+ /**
3012
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3013
+ * completed once the progress is 100%.
3014
+ */
3015
+ trackProgress?: boolean | null;
3016
+
3017
+ /**
3018
+ * URL of the associated Twitter account.
3019
+ */
3020
+ twitterAccountUrl?: string;
3021
+
3022
+ /**
3023
+ * Hashtag associated with the Twitter post.
3024
+ */
3025
+ twitterHashtag?: string;
3026
+
3027
+ /**
3028
+ * URL of the associated Twitter post.
3029
+ */
3030
+ twitterPostUrl?: string;
3031
+
3032
+ /**
3033
+ * Unique identifier of the Twitter user.
3034
+ */
3035
+ twitterUserId?: string;
3036
+
3037
+ /**
3038
+ * Twitter username of the user.
3039
+ */
3040
+ twitterUsername?: string;
3041
+
3042
+ /**
3043
+ * Minimum length of the verification text.
3044
+ */
3045
+ verificationTextMinimumLength?: number | null;
3046
+
3047
+ /**
3048
+ * Multiplier applied to rewards for verified users.
3049
+ */
3050
+ verifiedMultiplier?: number | null;
3051
+
3052
+ /**
3053
+ * Placeholder text for verification input fields.
3054
+ */
3055
+ verifyPlaceHolderText?: string | null;
3056
+
3057
+ /**
3058
+ * Type of wallet associated with the rule.
3059
+ */
3060
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
3061
+
3062
+ /**
3063
+ * ID of the Youtube channel.
3064
+ */
3065
+ youtubeChannelId?: string | null;
3066
+
3067
+ /**
3068
+ * ID of the Youtube video.
3069
+ */
3070
+ youtubeVideoId?: string | null;
3071
+ }
3072
+
3073
+ export namespace Metadata {
3074
+ export interface Collection {
3075
+ /**
3076
+ * Blockchain address of the collection.
3077
+ */
3078
+ address?: string;
3079
+
3080
+ /**
3081
+ * Multiplier applied to the rewards for this collection.
3082
+ */
3083
+ multiplier?: number;
3084
+
3085
+ /**
3086
+ * Blockchain network of the collection.
3087
+ */
3088
+ network?:
3089
+ | 'abstract'
3090
+ | 'abstractTestnet'
3091
+ | 'apechain'
3092
+ | 'arbitrum'
3093
+ | 'avalanche'
3094
+ | 'avalancheFuji'
3095
+ | 'base'
3096
+ | 'baseSepolia'
3097
+ | 'berachain'
3098
+ | 'berachainArtio'
3099
+ | 'berachainBepolia'
3100
+ | 'binance'
3101
+ | 'bscTestnet'
3102
+ | 'campTestnet'
3103
+ | 'fantom'
3104
+ | 'fantomTestnet'
3105
+ | 'flowMainnet'
3106
+ | 'mainnet'
3107
+ | 'optimism'
3108
+ | 'polygon'
3109
+ | 'polygon_mumbai'
3110
+ | 'skaleNebula'
3111
+ | 'solana'
3112
+ | 'sophon'
3113
+ | 'sophonTestnet'
3114
+ | 'sui'
3115
+ | 'superseed'
3116
+ | 'superseedSepolia'
3117
+ | 'vanar'
3118
+ | 'xai'
3119
+ | 'zksync'
3120
+ | 'coti'
3121
+ | 'cotiTestnet'
3122
+ | 'morph'
3123
+ | 'morphTestnet'
3124
+ | 'morphHolesky'
3125
+ | 'sepolia'
3126
+ | 'optimism_sepolia'
3127
+ | 'arbitrumSepolia'
3128
+ | 'goerli'
3129
+ | 'optimism_goerli'
3130
+ | 'arbitrumGoerli'
3131
+ | 'basecamp';
3132
+ }
3133
+
3134
+ /**
3135
+ * Object containing details for the call-to-action.
3136
+ */
3137
+ export interface Cta {
3138
+ /**
3139
+ * Link for the call-to-action.
3140
+ */
3141
+ href?: string | null;
3142
+
3143
+ /**
3144
+ * Label for the call-to-action.
3145
+ */
3146
+ label?: string | null;
3147
+ }
3148
+
3149
+ export interface DiscordServersToJoin {
3150
+ /**
3151
+ * ID of the Discord server to join.
3152
+ */
3153
+ id?: string;
3154
+
3155
+ /**
3156
+ * Array of Discord channels to join.
3157
+ */
3158
+ channels?: Array<DiscordServersToJoin.Channel>;
3159
+
3160
+ /**
3161
+ * Array of roles to assign in the Discord server.
3162
+ */
3163
+ roles?: Array<DiscordServersToJoin.Role>;
3164
+ }
3165
+
3166
+ export namespace DiscordServersToJoin {
3167
+ export interface Channel {
3168
+ /**
3169
+ * ID of the Discord channel.
3170
+ */
3171
+ id?: string;
3172
+
3173
+ /**
3174
+ * Array of emojis used in the channel.
3175
+ */
3176
+ emojis?: Array<Channel.Emoji>;
3177
+
3178
+ /**
3179
+ * Phrase of text to be present in the discord message
3180
+ */
3181
+ text?: string;
3182
+ }
3183
+
3184
+ export namespace Channel {
3185
+ export interface Emoji {
3186
+ /**
3187
+ * ID of the emoji used in the channel.
3188
+ */
3189
+ id?: string;
3190
+ }
3191
+ }
3192
+
3193
+ export interface Role {
3194
+ /**
3195
+ * ID of the role in the Discord server.
3196
+ */
3197
+ id: string;
3198
+ }
3199
+ }
3200
+
3201
+ export interface DripQuestsToComplete {
3202
+ /**
3203
+ * ID of the drip quest to complete.
3204
+ */
3205
+ id: string;
3206
+ }
3207
+
3208
+ /**
3209
+ * Liquidity pool details.
3210
+ */
3211
+ export interface Liquidity {
3212
+ /**
3213
+ * Calculation type of the liquidity pool.
3214
+ */
3215
+ calculationType?: 'fixed' | 'custom';
3216
+
3217
+ /**
3218
+ * Custom function to calculate the the reward amount based on the liquidity
3219
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3220
+ * USD.
3221
+ */
3222
+ customFunction?: string;
3223
+
3224
+ /**
3225
+ * Liquidity provided per day in USD
3226
+ */
3227
+ liquidityPerDay?: number;
3228
+
3229
+ /**
3230
+ * Blockchain network of the liquidity pool.
3231
+ */
3232
+ network?:
3233
+ | 'abstract'
3234
+ | 'abstractTestnet'
3235
+ | 'apechain'
3236
+ | 'arbitrum'
3237
+ | 'avalanche'
3238
+ | 'avalancheFuji'
3239
+ | 'base'
3240
+ | 'baseSepolia'
3241
+ | 'berachain'
3242
+ | 'berachainArtio'
3243
+ | 'berachainBepolia'
3244
+ | 'binance'
3245
+ | 'bscTestnet'
3246
+ | 'campTestnet'
3247
+ | 'fantom'
3248
+ | 'fantomTestnet'
3249
+ | 'flowMainnet'
3250
+ | 'mainnet'
3251
+ | 'optimism'
3252
+ | 'polygon'
3253
+ | 'polygon_mumbai'
3254
+ | 'skaleNebula'
3255
+ | 'solana'
3256
+ | 'sophon'
3257
+ | 'sophonTestnet'
3258
+ | 'sui'
3259
+ | 'superseed'
3260
+ | 'superseedSepolia'
3261
+ | 'vanar'
3262
+ | 'xai'
3263
+ | 'zksync'
3264
+ | 'coti'
3265
+ | 'cotiTestnet'
3266
+ | 'morph'
3267
+ | 'morphTestnet'
3268
+ | 'morphHolesky'
3269
+ | 'sepolia'
3270
+ | 'optimism_sepolia'
3271
+ | 'arbitrumSepolia'
3272
+ | 'goerli'
3273
+ | 'optimism_goerli'
3274
+ | 'arbitrumGoerli'
3275
+ | 'basecamp';
3276
+
3277
+ /**
3278
+ * Indicates if only in-range liquidity is rewarded.
3279
+ */
3280
+ onlyRewardInRangeLiquidity?: boolean;
3281
+
3282
+ /**
3283
+ * Array of liquidity pools associated with the rule.
3284
+ */
3285
+ pools?: Array<Liquidity.Pool>;
3286
+
3287
+ /**
3288
+ * Protocol of the liquidity pool.
3289
+ */
3290
+ protocol?: string;
3291
+ }
3292
+
3293
+ export namespace Liquidity {
3294
+ export interface Pool {
3295
+ /**
3296
+ * Unique identifier of the liquidity pool.
3297
+ */
3298
+ id: string;
3299
+ }
3300
+ }
3301
+
3302
+ export interface Range {
3303
+ /**
3304
+ * Reward amount for this range.
3305
+ */
3306
+ amount: number;
3307
+
3308
+ /**
3309
+ * End value of the range.
3310
+ */
3311
+ endRange: number;
3312
+
3313
+ /**
3314
+ * Start value of the range.
3315
+ */
3316
+ startRange: number;
3317
+
3318
+ /**
3319
+ * ID of the loyalty badge for this range.
3320
+ */
3321
+ loyaltyBadgeId?: string;
3322
+
3323
+ /**
3324
+ * Amount of the loyalty multiplier for this range.
3325
+ */
3326
+ loyaltyMultiplierAmount?: number;
3327
+ }
3328
+
3329
+ /**
3330
+ * Object defining referral requirements.
3331
+ */
3332
+ export interface ReferralRequirements {
3333
+ /**
3334
+ * Flag indicating if achieving points is required.
3335
+ */
3336
+ achievePoints?: boolean | null;
3337
+
3338
+ /**
3339
+ * Flag indicating if completing the profile is required.
3340
+ */
3341
+ completeProfile?: boolean | null;
3342
+
3343
+ /**
3344
+ * Flag indicating if connecting Discord is required.
3345
+ */
3346
+ connectDiscord?: boolean | null;
3347
+
3348
+ /**
3349
+ * Flag indicating if connecting email is required.
3350
+ */
3351
+ connectEmail?: boolean | null;
3352
+
3353
+ /**
3354
+ * Flag indicating if connecting Twitter is required.
3355
+ */
3356
+ connectTwitter?: boolean | null;
3357
+
3358
+ points?: ReferralRequirements.Points | null;
3359
+ }
3360
+
3361
+ export namespace ReferralRequirements {
3362
+ export interface Points {
3363
+ /**
3364
+ * Points required for referral.
3365
+ */
3366
+ amount?: number | null;
3367
+
3368
+ /**
3369
+ * ID of the loyalty currency for referral.
3370
+ */
3371
+ loyaltyCurrecyId?: string | null;
3372
+ }
3373
+ }
3374
+
3375
+ /**
3376
+ * Object containing details of the associated smart contract.
3377
+ */
3378
+ export interface SmartContract {
3379
+ /**
3380
+ * Mapping of addresses for the smart contract.
3381
+ */
3382
+ addressMapping?: string | null;
3383
+
3384
+ /**
3385
+ * Object containing details of the amount multiplier from the event.
3386
+ */
3387
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3388
+
3389
+ /**
3390
+ * Array of bonus details applied to the rule.
3391
+ */
3392
+ bonus?: Array<SmartContract.Bonus> | null;
3393
+
3394
+ /**
3395
+ * ID of the smart contract.
3396
+ */
3397
+ contractId?: string | null;
3398
+
3399
+ /**
3400
+ * Criteria to evaluate the smart contract event.
3401
+ */
3402
+ criteria?: 'everyEvent' | 'byParameter' | null;
3403
+
3404
+ /**
3405
+ * Time range applied to the rule.
3406
+ */
3407
+ customRange?: SmartContract.CustomRange | null;
3408
+
3409
+ /**
3410
+ * Event emitted by the smart contract.
3411
+ */
3412
+ event?: string | null;
3413
+
3414
+ /**
3415
+ * Maximum value allowed for the parameter.
3416
+ */
3417
+ max?: number | null;
3418
+
3419
+ /**
3420
+ * Array of parameters for the smart contract.
3421
+ */
3422
+ params?: Array<SmartContract.Param> | null;
3423
+
3424
+ /**
3425
+ * Type of the smart contract interaction.
3426
+ */
3427
+ type?: 'function' | 'event' | null;
3428
+
3429
+ /**
3430
+ * Flag indicating if a bonus is applied.
3431
+ */
3432
+ withBonus?: boolean | null;
3433
+
3434
+ /**
3435
+ * Flag indicating if a custom range is applied.
3436
+ */
3437
+ withCustomRange?: boolean | null;
3438
+ }
3439
+
3440
+ export namespace SmartContract {
3441
+ /**
3442
+ * Object containing details of the amount multiplier from the event.
3443
+ */
3444
+ export interface AmountMultiplier {
3445
+ /**
3446
+ * Mapping of the value for the smart contract.
3447
+ */
3448
+ valueMapping?: string | null;
3449
+ }
3450
+
3451
+ export interface Bonus {
3452
+ /**
3453
+ * Amount of the bonus.
3454
+ */
3455
+ amount?: number | null;
3456
+
3457
+ /**
3458
+ * Number of times the bonus is applied.
3459
+ */
3460
+ count?: number | null;
3461
+ }
3462
+
3463
+ /**
3464
+ * Time range applied to the rule.
3465
+ */
3466
+ export interface CustomRange {
3467
+ /**
3468
+ * End time of the custom range.
3469
+ */
3470
+ endsAt?: string | null;
3471
+
3472
+ /**
3473
+ * Start time of the custom range.
3474
+ */
3475
+ startsAt?: string | null;
3476
+ }
3477
+
3478
+ export interface Param {
3479
+ /**
3480
+ * Condition to check for the parameter.
3481
+ */
3482
+ condition?: string | null;
3483
+
3484
+ /**
3485
+ * Name of the smart contract parameter.
3486
+ */
3487
+ name?: string | null;
3488
+
3489
+ /**
3490
+ * Value of the parameter.
3491
+ */
3492
+ value?: string | null;
3493
+ }
3494
+ }
3495
+
3496
+ export interface SnapshotProposal {
3497
+ /**
3498
+ * ID of the snapshot proposal.
3499
+ */
3500
+ id: string;
3501
+
3502
+ /**
3503
+ * Space associated with the snapshot proposal.
3504
+ */
3505
+ space: string;
3506
+ }
3507
+
3508
+ export interface StreakArray {
3509
+ /**
3510
+ * Reward amount for achieving the streak milestone.
3511
+ */
3512
+ streakAmount: number;
3513
+
3514
+ /**
3515
+ * Milestone required to achieve the streak.
3516
+ */
3517
+ streakMilestone: number;
3518
+ }
3519
+
3520
+ /**
3521
+ * Metadata for swap loyalty rules
3522
+ */
3523
+ export interface Swap {
3524
+ provider?: 'any' | 'relay' | 'lifi';
3525
+
3526
+ relayReferrerId?: string;
3527
+
3528
+ requireCrossChainSwap?: boolean;
3529
+
3530
+ swappedToChain?: 'any' | number | string;
3531
+
3532
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1776
3533
 
1777
- /**
1778
- * Optional metadata for the loyalty rule
1779
- */
1780
- metadata?: Record<string, unknown>;
3534
+ tokenMode?: 'any' | 'specific';
3535
+
3536
+ trackTokenAmount?: boolean;
3537
+ }
3538
+
3539
+ export namespace Swap {
3540
+ export interface SwappedToToken {
3541
+ address: string;
3542
+
3543
+ chainId: string;
3544
+ }
3545
+ }
3546
+ }
1781
3547
  }
1782
3548
  }
1783
3549
 
@@ -1788,14 +3554,16 @@ export interface RuleDeleteResponse {
1788
3554
  }
1789
3555
 
1790
3556
  export interface RuleCompleteResponse {
1791
- message: string;
3557
+ message:
3558
+ | 'Completion request added to queue'
3559
+ | 'Link click being verified, come back later to check the status';
1792
3560
  }
1793
3561
 
1794
- export interface RuleStatusResponse {
1795
- data: Array<RuleStatusResponse.Data>;
3562
+ export interface RuleGetStatusResponse {
3563
+ data: Array<RuleGetStatusResponse.Data>;
1796
3564
  }
1797
3565
 
1798
- export namespace RuleStatusResponse {
3566
+ export namespace RuleGetStatusResponse {
1799
3567
  export interface Data {
1800
3568
  loyaltyRuleId: string;
1801
3569
 
@@ -1912,7 +3680,18 @@ export interface RuleCreateParams {
1912
3680
  | 'twitter_follow'
1913
3681
  | 'twitter_followers'
1914
3682
  | 'twitter_like'
1915
- | 'twitter_post_hashtag';
3683
+ | 'twitter_post_hashtag'
3684
+ | 'quiz'
3685
+ | 'poll'
3686
+ | 'steam_wishlist'
3687
+ | 'liquidity_uniswap_v2'
3688
+ | 'liquidity_uniswap_v3'
3689
+ | 'points_airdrop'
3690
+ | 'youtube_subscribers'
3691
+ | 'youtube_comment'
3692
+ | 'shopify_spend'
3693
+ | 'swap'
3694
+ | 'tiktok_post';
1916
3695
 
1917
3696
  /**
1918
3697
  * Unique identifier for the associated website
@@ -1949,6 +3728,11 @@ export interface RuleCreateParams {
1949
3728
  */
1950
3729
  description?: string;
1951
3730
 
3731
+ /**
3732
+ * ID of the external integration
3733
+ */
3734
+ externalIntegrationId?: string | null;
3735
+
1952
3736
  /**
1953
3737
  * Whether to hide this rule in the user interface
1954
3738
  */
@@ -1957,51 +3741,92 @@ export interface RuleCreateParams {
1957
3741
  /**
1958
3742
  * Interval between rule executions
1959
3743
  */
1960
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
3744
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1961
3745
 
1962
3746
  /**
1963
3747
  * Whether this rule is mandatory
1964
3748
  */
1965
3749
  isRequired?: boolean;
1966
3750
 
3751
+ /**
3752
+ * Unique identifier for the loyalty badge
3753
+ */
3754
+ loyaltyBadgeId?: string | null;
3755
+
1967
3756
  /**
1968
3757
  * Unique identifier for the loyalty rule group
1969
3758
  */
1970
3759
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
1971
3760
 
3761
+ /**
3762
+ * URL for uploading loyalty user allotment via CSV
3763
+ */
3764
+ loyaltyUserAllotmentCsvUrl?: string;
3765
+
3766
+ /**
3767
+ * The interval for the max amount. Available for the smart contract and external
3768
+ * rules.
3769
+ */
3770
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3771
+
3772
+ /**
3773
+ * The maximum amount of points a user can earn per interval. Available for the
3774
+ * smart contract and external rules.
3775
+ */
3776
+ maxAmountPerInterval?: number | null;
3777
+
3778
+ /**
3779
+ * URL of the media to be displayed
3780
+ */
3781
+ mediaUrl?: string | null;
3782
+
1972
3783
  /**
1973
3784
  * Blockchain network where the rule will apply
1974
3785
  */
1975
3786
  network?:
1976
- | 'mainnet'
1977
- | 'polygon'
1978
- | 'polygon_mumbai'
1979
- | 'optimism'
3787
+ | 'abstract'
3788
+ | 'abstractTestnet'
3789
+ | 'apechain'
1980
3790
  | 'arbitrum'
1981
- | 'binance'
1982
- | 'bscTestnet'
1983
3791
  | 'avalanche'
1984
3792
  | 'avalancheFuji'
1985
- | 'zksync'
1986
- | 'fantom'
1987
- | 'fantomTestnet'
1988
3793
  | 'base'
1989
3794
  | 'baseSepolia'
1990
- | 'skaleNebula'
1991
- | 'xai'
3795
+ | 'berachain'
1992
3796
  | 'berachainArtio'
1993
- | 'solana'
1994
- | 'apechain'
1995
- | 'flowMainnet'
3797
+ | 'berachainBepolia'
3798
+ | 'binance'
3799
+ | 'bscTestnet'
1996
3800
  | 'campTestnet'
3801
+ | 'fantom'
3802
+ | 'fantomTestnet'
3803
+ | 'flowMainnet'
3804
+ | 'mainnet'
3805
+ | 'optimism'
3806
+ | 'polygon'
3807
+ | 'polygon_mumbai'
3808
+ | 'skaleNebula'
3809
+ | 'solana'
3810
+ | 'sophon'
3811
+ | 'sophonTestnet'
1997
3812
  | 'sui'
3813
+ | 'superseed'
3814
+ | 'superseedSepolia'
1998
3815
  | 'vanar'
3816
+ | 'xai'
3817
+ | 'zksync'
3818
+ | 'coti'
3819
+ | 'cotiTestnet'
3820
+ | 'morph'
3821
+ | 'morphTestnet'
3822
+ | 'morphHolesky'
1999
3823
  | 'sepolia'
2000
3824
  | 'optimism_sepolia'
2001
3825
  | 'arbitrumSepolia'
2002
3826
  | 'goerli'
2003
3827
  | 'optimism_goerli'
2004
- | 'arbitrumGoerli';
3828
+ | 'arbitrumGoerli'
3829
+ | 'basecamp';
2005
3830
 
2006
3831
  /**
2007
3832
  * OAuth credentials associated with the rule
@@ -2011,12 +3836,17 @@ export interface RuleCreateParams {
2011
3836
  /**
2012
3837
  * Type of reward issued by the rule
2013
3838
  */
2014
- rewardType?: 'points' | 'multiplier';
3839
+ rewardType?: 'points' | 'multiplier' | 'badge';
2015
3840
 
2016
3841
  /**
2017
- * Identifier for associated subscriptions
3842
+ * URL of the Shopify store
2018
3843
  */
2019
- subscriptionIdentifier?: string | null;
3844
+ shopifyStoreUrl?: string | null;
3845
+
3846
+ /**
3847
+ * Optional subscription id for the rule
3848
+ */
3849
+ subscriptionId?: string | null;
2020
3850
  }
2021
3851
 
2022
3852
  export namespace RuleCreateParams {
@@ -2024,6 +3854,11 @@ export namespace RuleCreateParams {
2024
3854
  * Additional metadata for the loyalty rule
2025
3855
  */
2026
3856
  export interface Metadata {
3857
+ /**
3858
+ * Number of tokens per batch.
3859
+ */
3860
+ batchSize?: number | null;
3861
+
2027
3862
  /**
2028
3863
  * Text displayed on the action button.
2029
3864
  */
@@ -2054,6 +3889,11 @@ export namespace RuleCreateParams {
2054
3889
  */
2055
3890
  collection?: Array<Metadata.Collection>;
2056
3891
 
3892
+ /**
3893
+ * Conditions for completing the profile.
3894
+ */
3895
+ completeProfileConditions?: { [key: string]: boolean } | null;
3896
+
2057
3897
  /**
2058
3898
  * Object containing details for the call-to-action.
2059
3899
  */
@@ -2089,11 +3929,21 @@ export namespace RuleCreateParams {
2089
3929
  */
2090
3930
  enableVerifiedMultiplier?: boolean;
2091
3931
 
3932
+ /**
3933
+ * Fill source of the order for the token sale
3934
+ */
3935
+ fillSource?: string;
3936
+
2092
3937
  /**
2093
3938
  * Percentage reward given to a user for their first referral.
2094
3939
  */
2095
3940
  firstReferralReward?: number | null;
2096
3941
 
3942
+ /**
3943
+ * Flag indicating whether the fill source is included.
3944
+ */
3945
+ hasFillSource?: boolean;
3946
+
2097
3947
  /**
2098
3948
  * Indicates if the item has never been sold.
2099
3949
  */
@@ -2119,11 +3969,21 @@ export namespace RuleCreateParams {
2119
3969
  */
2120
3970
  imageUrl?: string | null;
2121
3971
 
3972
+ /**
3973
+ * If enabled, the first transaction done on the platform will complete this rule
3974
+ */
3975
+ isCheckInOnEveryTxn?: boolean;
3976
+
2122
3977
  /**
2123
3978
  * Indicates if the multiplier has been applied to rewards.
2124
3979
  */
2125
3980
  isMultiplierApplied?: boolean;
2126
3981
 
3982
+ /**
3983
+ * Flag indicating if the rule is restricted to new users.
3984
+ */
3985
+ isRestrictedToNewUsers?: boolean;
3986
+
2127
3987
  /**
2128
3988
  * Flag indicating if rewards are applied retroactively.
2129
3989
  */
@@ -2139,6 +3999,11 @@ export namespace RuleCreateParams {
2139
3999
  */
2140
4000
  link?: string | null;
2141
4001
 
4002
+ /**
4003
+ * Liquidity pool details.
4004
+ */
4005
+ liquidity?: Metadata.Liquidity;
4006
+
2142
4007
  /**
2143
4008
  * Maximum quantity constraint for token holding.
2144
4009
  */
@@ -2169,11 +4034,36 @@ export namespace RuleCreateParams {
2169
4034
  */
2170
4035
  onlyNonListed?: boolean;
2171
4036
 
4037
+ /**
4038
+ * Indicates if only existing users are rewarded.
4039
+ */
4040
+ onlyRewardExistingUser?: boolean;
4041
+
4042
+ /**
4043
+ * give points for only one token ownership per contract
4044
+ */
4045
+ onlyRewardSingleTokenOwnership?: boolean | null;
4046
+
2172
4047
  /**
2173
4048
  * Promotional code associated with the rule.
2174
4049
  */
2175
4050
  promoCode?: string;
2176
4051
 
4052
+ /**
4053
+ * URL of the CSV file containing promo codes.
4054
+ */
4055
+ promoCodeCsvUrl?: string;
4056
+
4057
+ /**
4058
+ * Numbers of the promotional code to be generated.
4059
+ */
4060
+ promoCodeLength?: number | null;
4061
+
4062
+ /**
4063
+ * Type of the promotional code.
4064
+ */
4065
+ promoCodeType?: 'code' | 'csv' | 'generate';
4066
+
2177
4067
  /**
2178
4068
  * Array defining ranges and corresponding rewards.
2179
4069
  */
@@ -2189,11 +4079,32 @@ export namespace RuleCreateParams {
2189
4079
  */
2190
4080
  referrerReward?: number | null;
2191
4081
 
4082
+ /**
4083
+ * Loyalty currency ID of the referrer reward.
4084
+ */
4085
+ referrerRewardLoyaltyCurrencyId?: string | null;
4086
+
4087
+ /**
4088
+ * Flag indicating if the rule can also reward badges per range.
4089
+ */
4090
+ rewardBadgePerRange?: boolean;
4091
+
4092
+ /**
4093
+ * Flag indicating if the reward is rewarded by batch.
4094
+ */
4095
+ rewardByBatch?: boolean | null;
4096
+
2192
4097
  /**
2193
4098
  * Flag indicating if rewards are given per impression.
2194
4099
  */
2195
4100
  rewardPerImpression?: boolean | null;
2196
4101
 
4102
+ /**
4103
+ * Flag indicating if the rule should reward based on value of traded tokens
4104
+ * instead of count.
4105
+ */
4106
+ rewardPerValue?: boolean;
4107
+
2197
4108
  /**
2198
4109
  * Currency associated with sales.
2199
4110
  */
@@ -2204,6 +4115,11 @@ export namespace RuleCreateParams {
2204
4115
  */
2205
4116
  secondReferralReward?: number | null;
2206
4117
 
4118
+ /**
4119
+ * Flag indicating if the multiplier is skipped.
4120
+ */
4121
+ skipMultiplier?: boolean | null;
4122
+
2207
4123
  /**
2208
4124
  * Object containing details of the associated smart contract.
2209
4125
  */
@@ -2218,14 +4134,17 @@ export namespace RuleCreateParams {
2218
4134
  * Social media platform associated with the rule.
2219
4135
  */
2220
4136
  socialPlatform?:
2221
- | 'Twitch'
4137
+ | 'Custom'
4138
+ | 'Discord'
4139
+ | 'EpicGames'
4140
+ | 'Instagram'
4141
+ | 'Steam'
4142
+ | 'Telegram'
2222
4143
  | 'TikTok'
4144
+ | 'Twitch'
2223
4145
  | 'X(Twitter)'
2224
- | 'Instagram'
2225
- | 'EpicGames'
2226
4146
  | 'YouTube'
2227
- | 'Discord'
2228
- | 'Custom'
4147
+ | 'Google'
2229
4148
  | null;
2230
4149
 
2231
4150
  /**
@@ -2238,11 +4157,21 @@ export namespace RuleCreateParams {
2238
4157
  */
2239
4158
  socialPlatformName?: string | null;
2240
4159
 
4160
+ /**
4161
+ * ID of the Steam app.
4162
+ */
4163
+ steamAppId?: string | null;
4164
+
2241
4165
  /**
2242
4166
  * Array of streak milestones and corresponding rewards.
2243
4167
  */
2244
4168
  streakArray?: Array<Metadata.StreakArray> | null;
2245
4169
 
4170
+ /**
4171
+ * Metadata for swap loyalty rules
4172
+ */
4173
+ swap?: Metadata.Swap;
4174
+
2246
4175
  /**
2247
4176
  * ID of the Telegram channel.
2248
4177
  */
@@ -2258,6 +4187,12 @@ export namespace RuleCreateParams {
2258
4187
  */
2259
4188
  trackAllContracts?: boolean | null;
2260
4189
 
4190
+ /**
4191
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4192
+ * completed once the progress is 100%.
4193
+ */
4194
+ trackProgress?: boolean | null;
4195
+
2261
4196
  /**
2262
4197
  * URL of the associated Twitter account.
2263
4198
  */
@@ -2301,7 +4236,17 @@ export namespace RuleCreateParams {
2301
4236
  /**
2302
4237
  * Type of wallet associated with the rule.
2303
4238
  */
2304
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
4239
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
4240
+
4241
+ /**
4242
+ * ID of the Youtube channel.
4243
+ */
4244
+ youtubeChannelId?: string | null;
4245
+
4246
+ /**
4247
+ * ID of the Youtube video.
4248
+ */
4249
+ youtubeVideoId?: string | null;
2305
4250
  }
2306
4251
 
2307
4252
  export namespace Metadata {
@@ -2320,35 +4265,49 @@ export namespace RuleCreateParams {
2320
4265
  * Blockchain network of the collection.
2321
4266
  */
2322
4267
  network?:
2323
- | 'mainnet'
2324
- | 'polygon'
2325
- | 'polygon_mumbai'
2326
- | 'optimism'
4268
+ | 'abstract'
4269
+ | 'abstractTestnet'
4270
+ | 'apechain'
2327
4271
  | 'arbitrum'
2328
- | 'binance'
2329
- | 'bscTestnet'
2330
4272
  | 'avalanche'
2331
4273
  | 'avalancheFuji'
2332
- | 'zksync'
2333
- | 'fantom'
2334
- | 'fantomTestnet'
2335
4274
  | 'base'
2336
4275
  | 'baseSepolia'
2337
- | 'skaleNebula'
2338
- | 'xai'
4276
+ | 'berachain'
2339
4277
  | 'berachainArtio'
2340
- | 'solana'
2341
- | 'apechain'
2342
- | 'flowMainnet'
4278
+ | 'berachainBepolia'
4279
+ | 'binance'
4280
+ | 'bscTestnet'
2343
4281
  | 'campTestnet'
4282
+ | 'fantom'
4283
+ | 'fantomTestnet'
4284
+ | 'flowMainnet'
4285
+ | 'mainnet'
4286
+ | 'optimism'
4287
+ | 'polygon'
4288
+ | 'polygon_mumbai'
4289
+ | 'skaleNebula'
4290
+ | 'solana'
4291
+ | 'sophon'
4292
+ | 'sophonTestnet'
2344
4293
  | 'sui'
4294
+ | 'superseed'
4295
+ | 'superseedSepolia'
2345
4296
  | 'vanar'
4297
+ | 'xai'
4298
+ | 'zksync'
4299
+ | 'coti'
4300
+ | 'cotiTestnet'
4301
+ | 'morph'
4302
+ | 'morphTestnet'
4303
+ | 'morphHolesky'
2346
4304
  | 'sepolia'
2347
4305
  | 'optimism_sepolia'
2348
4306
  | 'arbitrumSepolia'
2349
4307
  | 'goerli'
2350
4308
  | 'optimism_goerli'
2351
- | 'arbitrumGoerli';
4309
+ | 'arbitrumGoerli'
4310
+ | 'basecamp';
2352
4311
  }
2353
4312
 
2354
4313
  /**
@@ -2366,60 +4325,159 @@ export namespace RuleCreateParams {
2366
4325
  label?: string | null;
2367
4326
  }
2368
4327
 
2369
- export interface DiscordServersToJoin {
4328
+ export interface DiscordServersToJoin {
4329
+ /**
4330
+ * ID of the Discord server to join.
4331
+ */
4332
+ id?: string;
4333
+
4334
+ /**
4335
+ * Array of Discord channels to join.
4336
+ */
4337
+ channels?: Array<DiscordServersToJoin.Channel>;
4338
+
4339
+ /**
4340
+ * Array of roles to assign in the Discord server.
4341
+ */
4342
+ roles?: Array<DiscordServersToJoin.Role>;
4343
+ }
4344
+
4345
+ export namespace DiscordServersToJoin {
4346
+ export interface Channel {
4347
+ /**
4348
+ * ID of the Discord channel.
4349
+ */
4350
+ id?: string;
4351
+
4352
+ /**
4353
+ * Array of emojis used in the channel.
4354
+ */
4355
+ emojis?: Array<Channel.Emoji>;
4356
+
4357
+ /**
4358
+ * Phrase of text to be present in the discord message
4359
+ */
4360
+ text?: string;
4361
+ }
4362
+
4363
+ export namespace Channel {
4364
+ export interface Emoji {
4365
+ /**
4366
+ * ID of the emoji used in the channel.
4367
+ */
4368
+ id?: string;
4369
+ }
4370
+ }
4371
+
4372
+ export interface Role {
4373
+ /**
4374
+ * ID of the role in the Discord server.
4375
+ */
4376
+ id: string;
4377
+ }
4378
+ }
4379
+
4380
+ export interface DripQuestsToComplete {
4381
+ /**
4382
+ * ID of the drip quest to complete.
4383
+ */
4384
+ id: string;
4385
+ }
4386
+
4387
+ /**
4388
+ * Liquidity pool details.
4389
+ */
4390
+ export interface Liquidity {
4391
+ /**
4392
+ * Calculation type of the liquidity pool.
4393
+ */
4394
+ calculationType?: 'fixed' | 'custom';
4395
+
4396
+ /**
4397
+ * Custom function to calculate the the reward amount based on the liquidity
4398
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
4399
+ * USD.
4400
+ */
4401
+ customFunction?: string;
4402
+
4403
+ /**
4404
+ * Liquidity provided per day in USD
4405
+ */
4406
+ liquidityPerDay?: number;
4407
+
4408
+ /**
4409
+ * Blockchain network of the liquidity pool.
4410
+ */
4411
+ network?:
4412
+ | 'abstract'
4413
+ | 'abstractTestnet'
4414
+ | 'apechain'
4415
+ | 'arbitrum'
4416
+ | 'avalanche'
4417
+ | 'avalancheFuji'
4418
+ | 'base'
4419
+ | 'baseSepolia'
4420
+ | 'berachain'
4421
+ | 'berachainArtio'
4422
+ | 'berachainBepolia'
4423
+ | 'binance'
4424
+ | 'bscTestnet'
4425
+ | 'campTestnet'
4426
+ | 'fantom'
4427
+ | 'fantomTestnet'
4428
+ | 'flowMainnet'
4429
+ | 'mainnet'
4430
+ | 'optimism'
4431
+ | 'polygon'
4432
+ | 'polygon_mumbai'
4433
+ | 'skaleNebula'
4434
+ | 'solana'
4435
+ | 'sophon'
4436
+ | 'sophonTestnet'
4437
+ | 'sui'
4438
+ | 'superseed'
4439
+ | 'superseedSepolia'
4440
+ | 'vanar'
4441
+ | 'xai'
4442
+ | 'zksync'
4443
+ | 'coti'
4444
+ | 'cotiTestnet'
4445
+ | 'morph'
4446
+ | 'morphTestnet'
4447
+ | 'morphHolesky'
4448
+ | 'sepolia'
4449
+ | 'optimism_sepolia'
4450
+ | 'arbitrumSepolia'
4451
+ | 'goerli'
4452
+ | 'optimism_goerli'
4453
+ | 'arbitrumGoerli'
4454
+ | 'basecamp';
4455
+
2370
4456
  /**
2371
- * ID of the Discord server to join.
4457
+ * Indicates if only in-range liquidity is rewarded.
2372
4458
  */
2373
- id?: string;
4459
+ onlyRewardInRangeLiquidity?: boolean;
2374
4460
 
2375
4461
  /**
2376
- * Array of Discord channels to join.
4462
+ * Array of liquidity pools associated with the rule.
2377
4463
  */
2378
- channels?: Array<DiscordServersToJoin.Channel>;
4464
+ pools?: Array<Liquidity.Pool>;
2379
4465
 
2380
4466
  /**
2381
- * Array of roles to assign in the Discord server.
4467
+ * Protocol of the liquidity pool.
2382
4468
  */
2383
- roles?: Array<DiscordServersToJoin.Role>;
4469
+ protocol?: string;
2384
4470
  }
2385
4471
 
2386
- export namespace DiscordServersToJoin {
2387
- export interface Channel {
2388
- /**
2389
- * ID of the Discord channel.
2390
- */
2391
- id?: string;
2392
-
2393
- /**
2394
- * Array of emojis used in the channel.
2395
- */
2396
- emojis?: Array<Channel.Emoji>;
2397
- }
2398
-
2399
- export namespace Channel {
2400
- export interface Emoji {
2401
- /**
2402
- * ID of the emoji used in the channel.
2403
- */
2404
- id?: string;
2405
- }
2406
- }
2407
-
2408
- export interface Role {
4472
+ export namespace Liquidity {
4473
+ export interface Pool {
2409
4474
  /**
2410
- * ID of the role in the Discord server.
4475
+ * Unique identifier of the liquidity pool.
2411
4476
  */
2412
4477
  id: string;
2413
4478
  }
2414
4479
  }
2415
4480
 
2416
- export interface DripQuestsToComplete {
2417
- /**
2418
- * ID of the drip quest to complete.
2419
- */
2420
- id: string;
2421
- }
2422
-
2423
4481
  export interface Range {
2424
4482
  /**
2425
4483
  * Reward amount for this range.
@@ -2435,6 +4493,16 @@ export namespace RuleCreateParams {
2435
4493
  * Start value of the range.
2436
4494
  */
2437
4495
  startRange: number;
4496
+
4497
+ /**
4498
+ * ID of the loyalty badge for this range.
4499
+ */
4500
+ loyaltyBadgeId?: string;
4501
+
4502
+ /**
4503
+ * Amount of the loyalty multiplier for this range.
4504
+ */
4505
+ loyaltyMultiplierAmount?: number;
2438
4506
  }
2439
4507
 
2440
4508
  /**
@@ -2488,14 +4556,14 @@ export namespace RuleCreateParams {
2488
4556
  */
2489
4557
  export interface SmartContract {
2490
4558
  /**
2491
- * ABI of the smart contract.
4559
+ * Mapping of addresses for the smart contract.
2492
4560
  */
2493
- abi?: string | null;
4561
+ addressMapping?: string | null;
2494
4562
 
2495
4563
  /**
2496
- * Mapping of addresses for the smart contract.
4564
+ * Object containing details of the amount multiplier from the event.
2497
4565
  */
2498
- addressMapping?: string | null;
4566
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2499
4567
 
2500
4568
  /**
2501
4569
  * Array of bonus details applied to the rule.
@@ -2532,6 +4600,11 @@ export namespace RuleCreateParams {
2532
4600
  */
2533
4601
  params?: Array<SmartContract.Param> | null;
2534
4602
 
4603
+ /**
4604
+ * Type of the smart contract interaction.
4605
+ */
4606
+ type?: 'function' | 'event' | null;
4607
+
2535
4608
  /**
2536
4609
  * Flag indicating if a bonus is applied.
2537
4610
  */
@@ -2541,14 +4614,19 @@ export namespace RuleCreateParams {
2541
4614
  * Flag indicating if a custom range is applied.
2542
4615
  */
2543
4616
  withCustomRange?: boolean | null;
4617
+ }
2544
4618
 
4619
+ export namespace SmartContract {
2545
4620
  /**
2546
- * Flag indicating if a maximum limit is applied.
4621
+ * Object containing details of the amount multiplier from the event.
2547
4622
  */
2548
- withMax?: boolean | null;
2549
- }
4623
+ export interface AmountMultiplier {
4624
+ /**
4625
+ * Mapping of the value for the smart contract.
4626
+ */
4627
+ valueMapping?: string | null;
4628
+ }
2550
4629
 
2551
- export namespace SmartContract {
2552
4630
  export interface Bonus {
2553
4631
  /**
2554
4632
  * Amount of the bonus.
@@ -2617,6 +4695,33 @@ export namespace RuleCreateParams {
2617
4695
  */
2618
4696
  streakMilestone: number;
2619
4697
  }
4698
+
4699
+ /**
4700
+ * Metadata for swap loyalty rules
4701
+ */
4702
+ export interface Swap {
4703
+ provider?: 'any' | 'relay' | 'lifi';
4704
+
4705
+ relayReferrerId?: string;
4706
+
4707
+ requireCrossChainSwap?: boolean;
4708
+
4709
+ swappedToChain?: 'any' | number | string;
4710
+
4711
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4712
+
4713
+ tokenMode?: 'any' | 'specific';
4714
+
4715
+ trackTokenAmount?: boolean;
4716
+ }
4717
+
4718
+ export namespace Swap {
4719
+ export interface SwappedToToken {
4720
+ address: string;
4721
+
4722
+ chainId: string;
4723
+ }
4724
+ }
2620
4725
  }
2621
4726
 
2622
4727
  export interface Collection {
@@ -2629,35 +4734,49 @@ export namespace RuleCreateParams {
2629
4734
  * Blockchain network for the collection
2630
4735
  */
2631
4736
  network:
2632
- | 'mainnet'
2633
- | 'polygon'
2634
- | 'polygon_mumbai'
2635
- | 'optimism'
4737
+ | 'abstract'
4738
+ | 'abstractTestnet'
4739
+ | 'apechain'
2636
4740
  | 'arbitrum'
2637
- | 'binance'
2638
- | 'bscTestnet'
2639
4741
  | 'avalanche'
2640
4742
  | 'avalancheFuji'
2641
- | 'zksync'
2642
- | 'fantom'
2643
- | 'fantomTestnet'
2644
4743
  | 'base'
2645
4744
  | 'baseSepolia'
2646
- | 'skaleNebula'
2647
- | 'xai'
4745
+ | 'berachain'
2648
4746
  | 'berachainArtio'
2649
- | 'solana'
2650
- | 'apechain'
2651
- | 'flowMainnet'
4747
+ | 'berachainBepolia'
4748
+ | 'binance'
4749
+ | 'bscTestnet'
2652
4750
  | 'campTestnet'
4751
+ | 'fantom'
4752
+ | 'fantomTestnet'
4753
+ | 'flowMainnet'
4754
+ | 'mainnet'
4755
+ | 'optimism'
4756
+ | 'polygon'
4757
+ | 'polygon_mumbai'
4758
+ | 'skaleNebula'
4759
+ | 'solana'
4760
+ | 'sophon'
4761
+ | 'sophonTestnet'
2653
4762
  | 'sui'
4763
+ | 'superseed'
4764
+ | 'superseedSepolia'
2654
4765
  | 'vanar'
4766
+ | 'xai'
4767
+ | 'zksync'
4768
+ | 'coti'
4769
+ | 'cotiTestnet'
4770
+ | 'morph'
4771
+ | 'morphTestnet'
4772
+ | 'morphHolesky'
2655
4773
  | 'sepolia'
2656
4774
  | 'optimism_sepolia'
2657
4775
  | 'arbitrumSepolia'
2658
4776
  | 'goerli'
2659
4777
  | 'optimism_goerli'
2660
- | 'arbitrumGoerli';
4778
+ | 'arbitrumGoerli'
4779
+ | 'basecamp';
2661
4780
  }
2662
4781
  }
2663
4782
 
@@ -2667,41 +4786,16 @@ export interface RuleUpdateParams {
2667
4786
  */
2668
4787
  amount: unknown;
2669
4788
 
2670
- /**
2671
- * Effective end time of the rule
2672
- */
2673
- effectiveEndTime: string | null;
2674
-
2675
- /**
2676
- * Effective start time of the rule
2677
- */
2678
- effectiveStartTime: string | null;
2679
-
2680
4789
  /**
2681
4790
  * End time for the loyalty rule
2682
4791
  */
2683
4792
  endTime: string | null;
2684
4793
 
2685
- /**
2686
- * Frequency of the rule execution
2687
- */
2688
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
2689
-
2690
- /**
2691
- * Additional metadata for the loyalty rule
2692
- */
2693
- metadata: RuleUpdateParams.Metadata;
2694
-
2695
4794
  /**
2696
4795
  * Name of the loyalty rule
2697
4796
  */
2698
4797
  name: string;
2699
4798
 
2700
- /**
2701
- * Start time for the loyalty rule
2702
- */
2703
- startTime: string | null;
2704
-
2705
4799
  /**
2706
4800
  * Blockchain address of the associated collection
2707
4801
  */
@@ -2727,6 +4821,26 @@ export interface RuleUpdateParams {
2727
4821
  */
2728
4822
  description?: string;
2729
4823
 
4824
+ /**
4825
+ * Effective end time of the rule
4826
+ */
4827
+ effectiveEndTime?: string | null;
4828
+
4829
+ /**
4830
+ * Effective start time of the rule
4831
+ */
4832
+ effectiveStartTime?: string | null;
4833
+
4834
+ /**
4835
+ * ID of the external integration
4836
+ */
4837
+ externalIntegrationId?: string | null;
4838
+
4839
+ /**
4840
+ * Frequency of the rule execution
4841
+ */
4842
+ frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
4843
+
2730
4844
  /**
2731
4845
  * Whether to hide this rule in the user interface
2732
4846
  */
@@ -2735,7 +4849,7 @@ export interface RuleUpdateParams {
2735
4849
  /**
2736
4850
  * Time interval for recurring rule execution
2737
4851
  */
2738
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
4852
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2739
4853
 
2740
4854
  /**
2741
4855
  * Whether this rule is required for participation
@@ -2747,39 +4861,75 @@ export interface RuleUpdateParams {
2747
4861
  */
2748
4862
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
2749
4863
 
4864
+ /**
4865
+ * The interval for the max amount. Available for the smart contract and external
4866
+ * rules.
4867
+ */
4868
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
4869
+
4870
+ /**
4871
+ * The maximum amount of points a user can earn per interval. Available for the
4872
+ * smart contract and external rules.
4873
+ */
4874
+ maxAmountPerInterval?: number | null;
4875
+
4876
+ /**
4877
+ * URL of the media to be displayed
4878
+ */
4879
+ mediaUrl?: string | null;
4880
+
4881
+ /**
4882
+ * Additional metadata for the loyalty rule
4883
+ */
4884
+ metadata?: RuleUpdateParams.Metadata;
4885
+
2750
4886
  /**
2751
4887
  * Blockchain network where the rule will apply
2752
4888
  */
2753
4889
  network?:
2754
- | 'mainnet'
2755
- | 'polygon'
2756
- | 'polygon_mumbai'
2757
- | 'optimism'
4890
+ | 'abstract'
4891
+ | 'abstractTestnet'
4892
+ | 'apechain'
2758
4893
  | 'arbitrum'
2759
- | 'binance'
2760
- | 'bscTestnet'
2761
4894
  | 'avalanche'
2762
4895
  | 'avalancheFuji'
2763
- | 'zksync'
2764
- | 'fantom'
2765
- | 'fantomTestnet'
2766
4896
  | 'base'
2767
4897
  | 'baseSepolia'
2768
- | 'skaleNebula'
2769
- | 'xai'
4898
+ | 'berachain'
2770
4899
  | 'berachainArtio'
2771
- | 'solana'
2772
- | 'apechain'
2773
- | 'flowMainnet'
4900
+ | 'berachainBepolia'
4901
+ | 'binance'
4902
+ | 'bscTestnet'
2774
4903
  | 'campTestnet'
4904
+ | 'fantom'
4905
+ | 'fantomTestnet'
4906
+ | 'flowMainnet'
4907
+ | 'mainnet'
4908
+ | 'optimism'
4909
+ | 'polygon'
4910
+ | 'polygon_mumbai'
4911
+ | 'skaleNebula'
4912
+ | 'solana'
4913
+ | 'sophon'
4914
+ | 'sophonTestnet'
2775
4915
  | 'sui'
4916
+ | 'superseed'
4917
+ | 'superseedSepolia'
2776
4918
  | 'vanar'
4919
+ | 'xai'
4920
+ | 'zksync'
4921
+ | 'coti'
4922
+ | 'cotiTestnet'
4923
+ | 'morph'
4924
+ | 'morphTestnet'
4925
+ | 'morphHolesky'
2777
4926
  | 'sepolia'
2778
4927
  | 'optimism_sepolia'
2779
4928
  | 'arbitrumSepolia'
2780
4929
  | 'goerli'
2781
4930
  | 'optimism_goerli'
2782
- | 'arbitrumGoerli';
4931
+ | 'arbitrumGoerli'
4932
+ | 'basecamp';
2783
4933
 
2784
4934
  /**
2785
4935
  * ID for associated OAuth credentials
@@ -2789,19 +4939,89 @@ export interface RuleUpdateParams {
2789
4939
  /**
2790
4940
  * Type of reward issued by this rule
2791
4941
  */
2792
- rewardType?: 'points' | 'multiplier';
4942
+ rewardType?: 'points' | 'multiplier' | 'badge';
4943
+
4944
+ /**
4945
+ * URL of the Shopify store
4946
+ */
4947
+ shopifyStoreUrl?: string | null;
4948
+
4949
+ /**
4950
+ * Start time for the loyalty rule
4951
+ */
4952
+ startTime?: string | null;
2793
4953
 
2794
4954
  /**
2795
- * Optional subscription identifier for the rule
4955
+ * Optional subscription id for the rule
2796
4956
  */
2797
- subscriptionIdentifier?: string | null;
4957
+ subscriptionId?: string | null;
2798
4958
  }
2799
4959
 
2800
4960
  export namespace RuleUpdateParams {
4961
+ export interface Collection {
4962
+ /**
4963
+ * Blockchain address of the collection
4964
+ */
4965
+ address: string;
4966
+
4967
+ /**
4968
+ * Blockchain network for the collection
4969
+ */
4970
+ network:
4971
+ | 'abstract'
4972
+ | 'abstractTestnet'
4973
+ | 'apechain'
4974
+ | 'arbitrum'
4975
+ | 'avalanche'
4976
+ | 'avalancheFuji'
4977
+ | 'base'
4978
+ | 'baseSepolia'
4979
+ | 'berachain'
4980
+ | 'berachainArtio'
4981
+ | 'berachainBepolia'
4982
+ | 'binance'
4983
+ | 'bscTestnet'
4984
+ | 'campTestnet'
4985
+ | 'fantom'
4986
+ | 'fantomTestnet'
4987
+ | 'flowMainnet'
4988
+ | 'mainnet'
4989
+ | 'optimism'
4990
+ | 'polygon'
4991
+ | 'polygon_mumbai'
4992
+ | 'skaleNebula'
4993
+ | 'solana'
4994
+ | 'sophon'
4995
+ | 'sophonTestnet'
4996
+ | 'sui'
4997
+ | 'superseed'
4998
+ | 'superseedSepolia'
4999
+ | 'vanar'
5000
+ | 'xai'
5001
+ | 'zksync'
5002
+ | 'coti'
5003
+ | 'cotiTestnet'
5004
+ | 'morph'
5005
+ | 'morphTestnet'
5006
+ | 'morphHolesky'
5007
+ | 'sepolia'
5008
+ | 'optimism_sepolia'
5009
+ | 'arbitrumSepolia'
5010
+ | 'goerli'
5011
+ | 'optimism_goerli'
5012
+ | 'arbitrumGoerli'
5013
+ | 'basecamp';
5014
+ }
5015
+
2801
5016
  /**
2802
5017
  * Additional metadata for the loyalty rule
2803
5018
  */
2804
5019
  export interface Metadata {
5020
+ /**
5021
+ * Number of tokens per batch.
5022
+ */
5023
+ batchSize?: number | null;
5024
+
2805
5025
  /**
2806
5026
  * Text displayed on the action button.
2807
5027
  */
@@ -2832,6 +5052,11 @@ export namespace RuleUpdateParams {
2832
5052
  */
2833
5053
  collection?: Array<Metadata.Collection>;
2834
5054
 
5055
+ /**
5056
+ * Conditions for completing the profile.
5057
+ */
5058
+ completeProfileConditions?: { [key: string]: boolean } | null;
5059
+
2835
5060
  /**
2836
5061
  * Object containing details for the call-to-action.
2837
5062
  */
@@ -2867,11 +5092,21 @@ export namespace RuleUpdateParams {
2867
5092
  */
2868
5093
  enableVerifiedMultiplier?: boolean;
2869
5094
 
5095
+ /**
5096
+ * Fill source of the order for the token sale
5097
+ */
5098
+ fillSource?: string;
5099
+
2870
5100
  /**
2871
5101
  * Percentage reward given to a user for their first referral.
2872
5102
  */
2873
5103
  firstReferralReward?: number | null;
2874
5104
 
5105
+ /**
5106
+ * Flag indicating whether the fill source is included.
5107
+ */
5108
+ hasFillSource?: boolean;
5109
+
2875
5110
  /**
2876
5111
  * Indicates if the item has never been sold.
2877
5112
  */
@@ -2897,11 +5132,21 @@ export namespace RuleUpdateParams {
2897
5132
  */
2898
5133
  imageUrl?: string | null;
2899
5134
 
5135
+ /**
5136
+ * If enabled, the first transaction done on the platform will complete this rule
5137
+ */
5138
+ isCheckInOnEveryTxn?: boolean;
5139
+
2900
5140
  /**
2901
5141
  * Indicates if the multiplier has been applied to rewards.
2902
5142
  */
2903
5143
  isMultiplierApplied?: boolean;
2904
5144
 
5145
+ /**
5146
+ * Flag indicating if the rule is restricted to new users.
5147
+ */
5148
+ isRestrictedToNewUsers?: boolean;
5149
+
2905
5150
  /**
2906
5151
  * Flag indicating if rewards are applied retroactively.
2907
5152
  */
@@ -2917,6 +5162,11 @@ export namespace RuleUpdateParams {
2917
5162
  */
2918
5163
  link?: string | null;
2919
5164
 
5165
+ /**
5166
+ * Liquidity pool details.
5167
+ */
5168
+ liquidity?: Metadata.Liquidity;
5169
+
2920
5170
  /**
2921
5171
  * Maximum quantity constraint for token holding.
2922
5172
  */
@@ -2947,11 +5197,36 @@ export namespace RuleUpdateParams {
2947
5197
  */
2948
5198
  onlyNonListed?: boolean;
2949
5199
 
5200
+ /**
5201
+ * Indicates if only existing users are rewarded.
5202
+ */
5203
+ onlyRewardExistingUser?: boolean;
5204
+
5205
+ /**
5206
+ * give points for only one token ownership per contract
5207
+ */
5208
+ onlyRewardSingleTokenOwnership?: boolean | null;
5209
+
2950
5210
  /**
2951
5211
  * Promotional code associated with the rule.
2952
5212
  */
2953
5213
  promoCode?: string;
2954
5214
 
5215
+ /**
5216
+ * URL of the CSV file containing promo codes.
5217
+ */
5218
+ promoCodeCsvUrl?: string;
5219
+
5220
+ /**
5221
+ * Numbers of the promotional code to be generated.
5222
+ */
5223
+ promoCodeLength?: number | null;
5224
+
5225
+ /**
5226
+ * Type of the promotional code.
5227
+ */
5228
+ promoCodeType?: 'code' | 'csv' | 'generate';
5229
+
2955
5230
  /**
2956
5231
  * Array defining ranges and corresponding rewards.
2957
5232
  */
@@ -2967,11 +5242,32 @@ export namespace RuleUpdateParams {
2967
5242
  */
2968
5243
  referrerReward?: number | null;
2969
5244
 
5245
+ /**
5246
+ * Loyalty currency ID of the referrer reward.
5247
+ */
5248
+ referrerRewardLoyaltyCurrencyId?: string | null;
5249
+
5250
+ /**
5251
+ * Flag indicating if the rule can also reward badges per range.
5252
+ */
5253
+ rewardBadgePerRange?: boolean;
5254
+
5255
+ /**
5256
+ * Flag indicating if the reward is rewarded by batch.
5257
+ */
5258
+ rewardByBatch?: boolean | null;
5259
+
2970
5260
  /**
2971
5261
  * Flag indicating if rewards are given per impression.
2972
5262
  */
2973
5263
  rewardPerImpression?: boolean | null;
2974
5264
 
5265
+ /**
5266
+ * Flag indicating if the rule should reward based on value of traded tokens
5267
+ * instead of count.
5268
+ */
5269
+ rewardPerValue?: boolean;
5270
+
2975
5271
  /**
2976
5272
  * Currency associated with sales.
2977
5273
  */
@@ -2982,6 +5278,11 @@ export namespace RuleUpdateParams {
2982
5278
  */
2983
5279
  secondReferralReward?: number | null;
2984
5280
 
5281
+ /**
5282
+ * Flag indicating if the multiplier is skipped.
5283
+ */
5284
+ skipMultiplier?: boolean | null;
5285
+
2985
5286
  /**
2986
5287
  * Object containing details of the associated smart contract.
2987
5288
  */
@@ -2996,14 +5297,17 @@ export namespace RuleUpdateParams {
2996
5297
  * Social media platform associated with the rule.
2997
5298
  */
2998
5299
  socialPlatform?:
2999
- | 'Twitch'
5300
+ | 'Custom'
5301
+ | 'Discord'
5302
+ | 'EpicGames'
5303
+ | 'Instagram'
5304
+ | 'Steam'
5305
+ | 'Telegram'
3000
5306
  | 'TikTok'
5307
+ | 'Twitch'
3001
5308
  | 'X(Twitter)'
3002
- | 'Instagram'
3003
- | 'EpicGames'
3004
5309
  | 'YouTube'
3005
- | 'Discord'
3006
- | 'Custom'
5310
+ | 'Google'
3007
5311
  | null;
3008
5312
 
3009
5313
  /**
@@ -3016,11 +5320,21 @@ export namespace RuleUpdateParams {
3016
5320
  */
3017
5321
  socialPlatformName?: string | null;
3018
5322
 
5323
+ /**
5324
+ * ID of the Steam app.
5325
+ */
5326
+ steamAppId?: string | null;
5327
+
3019
5328
  /**
3020
5329
  * Array of streak milestones and corresponding rewards.
3021
5330
  */
3022
5331
  streakArray?: Array<Metadata.StreakArray> | null;
3023
5332
 
5333
+ /**
5334
+ * Metadata for swap loyalty rules
5335
+ */
5336
+ swap?: Metadata.Swap;
5337
+
3024
5338
  /**
3025
5339
  * ID of the Telegram channel.
3026
5340
  */
@@ -3036,6 +5350,12 @@ export namespace RuleUpdateParams {
3036
5350
  */
3037
5351
  trackAllContracts?: boolean | null;
3038
5352
 
5353
+ /**
5354
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
5355
+ * completed once the progress is 100%.
5356
+ */
5357
+ trackProgress?: boolean | null;
5358
+
3039
5359
  /**
3040
5360
  * URL of the associated Twitter account.
3041
5361
  */
@@ -3079,7 +5399,17 @@ export namespace RuleUpdateParams {
3079
5399
  /**
3080
5400
  * Type of wallet associated with the rule.
3081
5401
  */
3082
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
5402
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
5403
+
5404
+ /**
5405
+ * ID of the Youtube channel.
5406
+ */
5407
+ youtubeChannelId?: string | null;
5408
+
5409
+ /**
5410
+ * ID of the Youtube video.
5411
+ */
5412
+ youtubeVideoId?: string | null;
3083
5413
  }
3084
5414
 
3085
5415
  export namespace Metadata {
@@ -3098,35 +5428,49 @@ export namespace RuleUpdateParams {
3098
5428
  * Blockchain network of the collection.
3099
5429
  */
3100
5430
  network?:
3101
- | 'mainnet'
3102
- | 'polygon'
3103
- | 'polygon_mumbai'
3104
- | 'optimism'
5431
+ | 'abstract'
5432
+ | 'abstractTestnet'
5433
+ | 'apechain'
3105
5434
  | 'arbitrum'
3106
- | 'binance'
3107
- | 'bscTestnet'
3108
5435
  | 'avalanche'
3109
5436
  | 'avalancheFuji'
3110
- | 'zksync'
3111
- | 'fantom'
3112
- | 'fantomTestnet'
3113
5437
  | 'base'
3114
5438
  | 'baseSepolia'
3115
- | 'skaleNebula'
3116
- | 'xai'
5439
+ | 'berachain'
3117
5440
  | 'berachainArtio'
3118
- | 'solana'
3119
- | 'apechain'
3120
- | 'flowMainnet'
5441
+ | 'berachainBepolia'
5442
+ | 'binance'
5443
+ | 'bscTestnet'
3121
5444
  | 'campTestnet'
5445
+ | 'fantom'
5446
+ | 'fantomTestnet'
5447
+ | 'flowMainnet'
5448
+ | 'mainnet'
5449
+ | 'optimism'
5450
+ | 'polygon'
5451
+ | 'polygon_mumbai'
5452
+ | 'skaleNebula'
5453
+ | 'solana'
5454
+ | 'sophon'
5455
+ | 'sophonTestnet'
3122
5456
  | 'sui'
5457
+ | 'superseed'
5458
+ | 'superseedSepolia'
3123
5459
  | 'vanar'
5460
+ | 'xai'
5461
+ | 'zksync'
5462
+ | 'coti'
5463
+ | 'cotiTestnet'
5464
+ | 'morph'
5465
+ | 'morphTestnet'
5466
+ | 'morphHolesky'
3124
5467
  | 'sepolia'
3125
5468
  | 'optimism_sepolia'
3126
5469
  | 'arbitrumSepolia'
3127
5470
  | 'goerli'
3128
5471
  | 'optimism_goerli'
3129
- | 'arbitrumGoerli';
5472
+ | 'arbitrumGoerli'
5473
+ | 'basecamp';
3130
5474
  }
3131
5475
 
3132
5476
  /**
@@ -3172,6 +5516,11 @@ export namespace RuleUpdateParams {
3172
5516
  * Array of emojis used in the channel.
3173
5517
  */
3174
5518
  emojis?: Array<Channel.Emoji>;
5519
+
5520
+ /**
5521
+ * Phrase of text to be present in the discord message
5522
+ */
5523
+ text?: string;
3175
5524
  }
3176
5525
 
3177
5526
  export namespace Channel {
@@ -3198,6 +5547,100 @@ export namespace RuleUpdateParams {
3198
5547
  id: string;
3199
5548
  }
3200
5549
 
5550
+ /**
5551
+ * Liquidity pool details.
5552
+ */
5553
+ export interface Liquidity {
5554
+ /**
5555
+ * Calculation type of the liquidity pool.
5556
+ */
5557
+ calculationType?: 'fixed' | 'custom';
5558
+
5559
+ /**
5560
+ * Custom function to calculate the the reward amount based on the liquidity
5561
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
5562
+ * USD.
5563
+ */
5564
+ customFunction?: string;
5565
+
5566
+ /**
5567
+ * Liquidity provided per day in USD
5568
+ */
5569
+ liquidityPerDay?: number;
5570
+
5571
+ /**
5572
+ * Blockchain network of the liquidity pool.
5573
+ */
5574
+ network?:
5575
+ | 'abstract'
5576
+ | 'abstractTestnet'
5577
+ | 'apechain'
5578
+ | 'arbitrum'
5579
+ | 'avalanche'
5580
+ | 'avalancheFuji'
5581
+ | 'base'
5582
+ | 'baseSepolia'
5583
+ | 'berachain'
5584
+ | 'berachainArtio'
5585
+ | 'berachainBepolia'
5586
+ | 'binance'
5587
+ | 'bscTestnet'
5588
+ | 'campTestnet'
5589
+ | 'fantom'
5590
+ | 'fantomTestnet'
5591
+ | 'flowMainnet'
5592
+ | 'mainnet'
5593
+ | 'optimism'
5594
+ | 'polygon'
5595
+ | 'polygon_mumbai'
5596
+ | 'skaleNebula'
5597
+ | 'solana'
5598
+ | 'sophon'
5599
+ | 'sophonTestnet'
5600
+ | 'sui'
5601
+ | 'superseed'
5602
+ | 'superseedSepolia'
5603
+ | 'vanar'
5604
+ | 'xai'
5605
+ | 'zksync'
5606
+ | 'coti'
5607
+ | 'cotiTestnet'
5608
+ | 'morph'
5609
+ | 'morphTestnet'
5610
+ | 'morphHolesky'
5611
+ | 'sepolia'
5612
+ | 'optimism_sepolia'
5613
+ | 'arbitrumSepolia'
5614
+ | 'goerli'
5615
+ | 'optimism_goerli'
5616
+ | 'arbitrumGoerli'
5617
+ | 'basecamp';
5618
+
5619
+ /**
5620
+ * Indicates if only in-range liquidity is rewarded.
5621
+ */
5622
+ onlyRewardInRangeLiquidity?: boolean;
5623
+
5624
+ /**
5625
+ * Array of liquidity pools associated with the rule.
5626
+ */
5627
+ pools?: Array<Liquidity.Pool>;
5628
+
5629
+ /**
5630
+ * Protocol of the liquidity pool.
5631
+ */
5632
+ protocol?: string;
5633
+ }
5634
+
5635
+ export namespace Liquidity {
5636
+ export interface Pool {
5637
+ /**
5638
+ * Unique identifier of the liquidity pool.
5639
+ */
5640
+ id: string;
5641
+ }
5642
+ }
5643
+
3201
5644
  export interface Range {
3202
5645
  /**
3203
5646
  * Reward amount for this range.
@@ -3213,6 +5656,16 @@ export namespace RuleUpdateParams {
3213
5656
  * Start value of the range.
3214
5657
  */
3215
5658
  startRange: number;
5659
+
5660
+ /**
5661
+ * ID of the loyalty badge for this range.
5662
+ */
5663
+ loyaltyBadgeId?: string;
5664
+
5665
+ /**
5666
+ * Amount of the loyalty multiplier for this range.
5667
+ */
5668
+ loyaltyMultiplierAmount?: number;
3216
5669
  }
3217
5670
 
3218
5671
  /**
@@ -3266,14 +5719,14 @@ export namespace RuleUpdateParams {
3266
5719
  */
3267
5720
  export interface SmartContract {
3268
5721
  /**
3269
- * ABI of the smart contract.
5722
+ * Mapping of addresses for the smart contract.
3270
5723
  */
3271
- abi?: string | null;
5724
+ addressMapping?: string | null;
3272
5725
 
3273
5726
  /**
3274
- * Mapping of addresses for the smart contract.
5727
+ * Object containing details of the amount multiplier from the event.
3275
5728
  */
3276
- addressMapping?: string | null;
5729
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3277
5730
 
3278
5731
  /**
3279
5732
  * Array of bonus details applied to the rule.
@@ -3310,6 +5763,11 @@ export namespace RuleUpdateParams {
3310
5763
  */
3311
5764
  params?: Array<SmartContract.Param> | null;
3312
5765
 
5766
+ /**
5767
+ * Type of the smart contract interaction.
5768
+ */
5769
+ type?: 'function' | 'event' | null;
5770
+
3313
5771
  /**
3314
5772
  * Flag indicating if a bonus is applied.
3315
5773
  */
@@ -3319,14 +5777,19 @@ export namespace RuleUpdateParams {
3319
5777
  * Flag indicating if a custom range is applied.
3320
5778
  */
3321
5779
  withCustomRange?: boolean | null;
5780
+ }
3322
5781
 
5782
+ export namespace SmartContract {
3323
5783
  /**
3324
- * Flag indicating if a maximum limit is applied.
5784
+ * Object containing details of the amount multiplier from the event.
3325
5785
  */
3326
- withMax?: boolean | null;
3327
- }
5786
+ export interface AmountMultiplier {
5787
+ /**
5788
+ * Mapping of the value for the smart contract.
5789
+ */
5790
+ valueMapping?: string | null;
5791
+ }
3328
5792
 
3329
- export namespace SmartContract {
3330
5793
  export interface Bonus {
3331
5794
  /**
3332
5795
  * Amount of the bonus.
@@ -3395,61 +5858,78 @@ export namespace RuleUpdateParams {
3395
5858
  */
3396
5859
  streakMilestone: number;
3397
5860
  }
3398
- }
3399
5861
 
3400
- export interface Collection {
3401
5862
  /**
3402
- * Blockchain address of the collection
5863
+ * Metadata for swap loyalty rules
3403
5864
  */
3404
- address: string;
5865
+ export interface Swap {
5866
+ provider?: 'any' | 'relay' | 'lifi';
3405
5867
 
3406
- /**
3407
- * Blockchain network for the collection
3408
- */
3409
- network:
3410
- | 'mainnet'
3411
- | 'polygon'
3412
- | 'polygon_mumbai'
3413
- | 'optimism'
3414
- | 'arbitrum'
3415
- | 'binance'
3416
- | 'bscTestnet'
3417
- | 'avalanche'
3418
- | 'avalancheFuji'
3419
- | 'zksync'
3420
- | 'fantom'
3421
- | 'fantomTestnet'
3422
- | 'base'
3423
- | 'baseSepolia'
3424
- | 'skaleNebula'
3425
- | 'xai'
3426
- | 'berachainArtio'
3427
- | 'solana'
3428
- | 'apechain'
3429
- | 'flowMainnet'
3430
- | 'campTestnet'
3431
- | 'sui'
3432
- | 'vanar'
3433
- | 'sepolia'
3434
- | 'optimism_sepolia'
3435
- | 'arbitrumSepolia'
3436
- | 'goerli'
3437
- | 'optimism_goerli'
3438
- | 'arbitrumGoerli';
5868
+ relayReferrerId?: string;
5869
+
5870
+ requireCrossChainSwap?: boolean;
5871
+
5872
+ swappedToChain?: 'any' | number | string;
5873
+
5874
+ swappedToTokens?: Array<Swap.SwappedToToken>;
5875
+
5876
+ tokenMode?: 'any' | 'specific';
5877
+
5878
+ trackTokenAmount?: boolean;
5879
+ }
5880
+
5881
+ export namespace Swap {
5882
+ export interface SwappedToToken {
5883
+ address: string;
5884
+
5885
+ chainId: string;
5886
+ }
5887
+ }
3439
5888
  }
3440
5889
  }
3441
5890
 
3442
5891
  export interface RuleListParams {
5892
+ /**
5893
+ * IDs of the users to filter results by
5894
+ */
5895
+ allotedToUserId?: string | Array<string>;
5896
+
5897
+ /**
5898
+ * ID of the user group to filter results by
5899
+ */
5900
+ allotedUserGroupId?: string;
5901
+
3443
5902
  /**
3444
5903
  * Address of the collection to filter by
3445
5904
  */
3446
5905
  collectionAddress?: string;
3447
5906
 
5907
+ /**
5908
+ * If true this will only return loyalty rule chains
5909
+ */
5910
+ includeLoyaltyRuleChains?: 'true' | 'false';
5911
+
5912
+ /**
5913
+ * If true this will only return active rules, the rules for which the startTime is
5914
+ * in the past and the endTime is in the future
5915
+ */
5916
+ isActive?: 'true' | 'false';
5917
+
3448
5918
  /**
3449
5919
  * Maximum number of records to return (max 1000)
3450
5920
  */
3451
5921
  limit?: number;
3452
5922
 
5923
+ /**
5924
+ * ID of the loyalty rule group to filter results
5925
+ */
5926
+ loyaltyRuleGroupId?: string;
5927
+
5928
+ /**
5929
+ * The IDs of the loyalty rule
5930
+ */
5931
+ loyaltyRuleId?: string | Array<string>;
5932
+
3453
5933
  /**
3454
5934
  * Unique identifier for the organization to filter by
3455
5935
  */
@@ -3466,12 +5946,35 @@ export interface RuleListParams {
3466
5946
  websiteId?: string;
3467
5947
  }
3468
5948
 
5949
+ export interface RuleDeleteParams {
5950
+ /**
5951
+ * Whether to debit loyalty points
5952
+ */
5953
+ debitLoyaltyPoints?: string;
5954
+ }
5955
+
3469
5956
  export interface RuleCompleteParams {
5957
+ /**
5958
+ * Override amount for the reward (rounded to nearest whole number). This will
5959
+ * override the rule amount and reward the integer passed.
5960
+ */
5961
+ amount?: number | null;
5962
+
3470
5963
  /**
3471
5964
  * Link to the comment made by user
3472
5965
  */
3473
5966
  commentLink?: string;
3474
5967
 
5968
+ /**
5969
+ * Unique key to ensure idempotent requests
5970
+ */
5971
+ idempotencyKey?: string;
5972
+
5973
+ /**
5974
+ * ID of the choice selected by the user
5975
+ */
5976
+ loyaltyQuestionChoiceId?: string;
5977
+
3475
5978
  /**
3476
5979
  * Unique identifier for the user
3477
5980
  */
@@ -3482,18 +5985,26 @@ export interface RuleCompleteParams {
3482
5985
  */
3483
5986
  verificationCode?: string;
3484
5987
 
5988
+ /**
5989
+ * Flag indicating if only verification is required, this will not create a
5990
+ * transaction and reward the user
5991
+ */
5992
+ verifyOnly?: string;
5993
+
3485
5994
  /**
3486
5995
  * Wallet address of the user can only be used if userId is not provided
3487
5996
  */
3488
5997
  walletAddress?: string;
3489
5998
  }
3490
5999
 
3491
- export interface RuleStatusParams {
3492
- organizationId: string;
3493
-
3494
- websiteId: string;
6000
+ export interface RuleGetStatusParams {
6001
+ organizationId?: string;
3495
6002
 
3496
6003
  userId?: string;
6004
+
6005
+ walletAddress?: string;
6006
+
6007
+ websiteId?: string;
3497
6008
  }
3498
6009
 
3499
6010
  export declare namespace Rules {
@@ -3503,11 +6014,12 @@ export declare namespace Rules {
3503
6014
  type RuleListResponse as RuleListResponse,
3504
6015
  type RuleDeleteResponse as RuleDeleteResponse,
3505
6016
  type RuleCompleteResponse as RuleCompleteResponse,
3506
- type RuleStatusResponse as RuleStatusResponse,
6017
+ type RuleGetStatusResponse as RuleGetStatusResponse,
3507
6018
  type RuleCreateParams as RuleCreateParams,
3508
6019
  type RuleUpdateParams as RuleUpdateParams,
3509
6020
  type RuleListParams as RuleListParams,
6021
+ type RuleDeleteParams as RuleDeleteParams,
3510
6022
  type RuleCompleteParams as RuleCompleteParams,
3511
- type RuleStatusParams as RuleStatusParams,
6023
+ type RuleGetStatusParams as RuleGetStatusParams,
3512
6024
  };
3513
6025
  }