@snagsolutions/sdk 0.1.0-alpha.24 → 0.1.0-alpha.241

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 (328) hide show
  1. package/CHANGELOG.md +48 -209
  2. package/LICENSE +1 -1
  3. package/README.md +15 -23
  4. package/core.d.ts +19 -5
  5. package/core.d.ts.map +1 -1
  6. package/core.js +28 -16
  7. package/core.js.map +1 -1
  8. package/core.mjs +28 -16
  9. package/core.mjs.map +1 -1
  10. package/index.d.mts +14 -8
  11. package/index.d.ts +14 -8
  12. package/index.d.ts.map +1 -1
  13. package/index.js +12 -5
  14. package/index.js.map +1 -1
  15. package/index.mjs +13 -6
  16. package/index.mjs.map +1 -1
  17. package/package.json +4 -5
  18. package/resource.d.ts +1 -1
  19. package/resource.d.ts.map +1 -1
  20. package/resource.js.map +1 -1
  21. package/resource.mjs.map +1 -1
  22. package/resources/assets.d.ts +16 -2
  23. package/resources/assets.d.ts.map +1 -1
  24. package/resources/assets.js +8 -0
  25. package/resources/assets.js.map +1 -1
  26. package/resources/assets.mjs +8 -0
  27. package/resources/assets.mjs.map +1 -1
  28. package/resources/auctions/auctions.d.ts +364 -0
  29. package/resources/auctions/auctions.d.ts.map +1 -0
  30. package/resources/auctions/auctions.js +72 -0
  31. package/resources/auctions/auctions.js.map +1 -0
  32. package/resources/auctions/auctions.mjs +45 -0
  33. package/resources/auctions/auctions.mjs.map +1 -0
  34. package/resources/auctions/index.d.ts +3 -0
  35. package/resources/auctions/index.d.ts.map +1 -0
  36. package/resources/auctions/index.js +9 -0
  37. package/resources/auctions/index.js.map +1 -0
  38. package/resources/auctions/index.mjs +4 -0
  39. package/resources/auctions/index.mjs.map +1 -0
  40. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  41. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  42. package/resources/auctions/website-user-attributes/index.js +9 -0
  43. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  44. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  45. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  46. package/resources/auctions/website-user-attributes/values.d.ts +126 -0
  47. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  48. package/resources/auctions/website-user-attributes/values.js +49 -0
  49. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  50. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  51. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  52. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
  53. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  57. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  58. package/resources/auctions/website-user-attributes.d.ts +2 -0
  59. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  60. package/resources/auctions/website-user-attributes.js +19 -0
  61. package/resources/auctions/website-user-attributes.js.map +1 -0
  62. package/resources/auctions/website-user-attributes.mjs +3 -0
  63. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  64. package/resources/auctions.d.ts +1 -133
  65. package/resources/auctions.d.ts.map +1 -1
  66. package/resources/auctions.js +15 -22
  67. package/resources/auctions.js.map +1 -1
  68. package/resources/auctions.mjs +1 -20
  69. package/resources/auctions.mjs.map +1 -1
  70. package/resources/auth.d.ts +66 -6
  71. package/resources/auth.d.ts.map +1 -1
  72. package/resources/auth.js +6 -0
  73. package/resources/auth.js.map +1 -1
  74. package/resources/auth.mjs +6 -0
  75. package/resources/auth.mjs.map +1 -1
  76. package/resources/index.d.ts +5 -4
  77. package/resources/index.d.ts.map +1 -1
  78. package/resources/index.js +5 -3
  79. package/resources/index.js.map +1 -1
  80. package/resources/index.mjs +4 -3
  81. package/resources/index.mjs.map +1 -1
  82. package/resources/loyalty/account-streaks.d.ts +96 -0
  83. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  84. package/resources/loyalty/account-streaks.js +24 -0
  85. package/resources/loyalty/account-streaks.js.map +1 -0
  86. package/resources/loyalty/account-streaks.mjs +20 -0
  87. package/resources/loyalty/account-streaks.mjs.map +1 -0
  88. package/resources/loyalty/accounts.d.ts +60 -16
  89. package/resources/loyalty/accounts.d.ts.map +1 -1
  90. package/resources/loyalty/accounts.js +14 -0
  91. package/resources/loyalty/accounts.js.map +1 -1
  92. package/resources/loyalty/accounts.mjs +14 -0
  93. package/resources/loyalty/accounts.mjs.map +1 -1
  94. package/resources/loyalty/badges.d.ts +884 -135
  95. package/resources/loyalty/badges.d.ts.map +1 -1
  96. package/resources/loyalty/badges.js +19 -1
  97. package/resources/loyalty/badges.js.map +1 -1
  98. package/resources/loyalty/badges.mjs +19 -1
  99. package/resources/loyalty/badges.mjs.map +1 -1
  100. package/resources/loyalty/currencies.d.ts +19 -0
  101. package/resources/loyalty/currencies.d.ts.map +1 -1
  102. package/resources/loyalty/currencies.js +19 -0
  103. package/resources/loyalty/currencies.js.map +1 -1
  104. package/resources/loyalty/currencies.mjs +19 -0
  105. package/resources/loyalty/currencies.mjs.map +1 -1
  106. package/resources/loyalty/index.d.ts +3 -3
  107. package/resources/loyalty/index.d.ts.map +1 -1
  108. package/resources/loyalty/index.js +5 -5
  109. package/resources/loyalty/index.js.map +1 -1
  110. package/resources/loyalty/index.mjs +2 -2
  111. package/resources/loyalty/index.mjs.map +1 -1
  112. package/resources/loyalty/loyalty.d.ts +9 -9
  113. package/resources/loyalty/loyalty.d.ts.map +1 -1
  114. package/resources/loyalty/loyalty.js +6 -6
  115. package/resources/loyalty/loyalty.js.map +1 -1
  116. package/resources/loyalty/loyalty.mjs +6 -6
  117. package/resources/loyalty/loyalty.mjs.map +1 -1
  118. package/resources/loyalty/multipliers.d.ts +39 -2
  119. package/resources/loyalty/multipliers.d.ts.map +1 -1
  120. package/resources/loyalty/multipliers.js +23 -0
  121. package/resources/loyalty/multipliers.js.map +1 -1
  122. package/resources/loyalty/multipliers.mjs +23 -0
  123. package/resources/loyalty/multipliers.mjs.map +1 -1
  124. package/resources/loyalty/questions-responses.d.ts +55 -4
  125. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  126. package/resources/loyalty/questions-responses.js +9 -0
  127. package/resources/loyalty/questions-responses.js.map +1 -1
  128. package/resources/loyalty/questions-responses.mjs +9 -0
  129. package/resources/loyalty/questions-responses.mjs.map +1 -1
  130. package/resources/loyalty/questions.d.ts +60 -6
  131. package/resources/loyalty/questions.d.ts.map +1 -1
  132. package/resources/loyalty/questions.js +39 -0
  133. package/resources/loyalty/questions.js.map +1 -1
  134. package/resources/loyalty/questions.mjs +39 -0
  135. package/resources/loyalty/questions.mjs.map +1 -1
  136. package/resources/loyalty/rule-edits.d.ts +2862 -8
  137. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  138. package/resources/loyalty/rule-edits.js +14 -0
  139. package/resources/loyalty/rule-edits.js.map +1 -1
  140. package/resources/loyalty/rule-edits.mjs +14 -0
  141. package/resources/loyalty/rule-edits.mjs.map +1 -1
  142. package/resources/loyalty/rule-groups.d.ts +284 -56
  143. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  144. package/resources/loyalty/rule-groups.js +18 -0
  145. package/resources/loyalty/rule-groups.js.map +1 -1
  146. package/resources/loyalty/rule-groups.mjs +18 -0
  147. package/resources/loyalty/rule-groups.mjs.map +1 -1
  148. package/resources/loyalty/rules.d.ts +2324 -355
  149. package/resources/loyalty/rules.d.ts.map +1 -1
  150. package/resources/loyalty/rules.js +40 -9
  151. package/resources/loyalty/rules.js.map +1 -1
  152. package/resources/loyalty/rules.mjs +40 -9
  153. package/resources/loyalty/rules.mjs.map +1 -1
  154. package/resources/loyalty/transactions/index.d.ts +4 -0
  155. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  156. package/resources/loyalty/transactions/index.js +11 -0
  157. package/resources/loyalty/transactions/index.js.map +1 -0
  158. package/resources/loyalty/transactions/index.mjs +5 -0
  159. package/resources/loyalty/transactions/index.mjs.map +1 -0
  160. package/resources/loyalty/transactions/posts.d.ts +145 -0
  161. package/resources/loyalty/transactions/posts.d.ts.map +1 -0
  162. package/resources/loyalty/transactions/posts.js +32 -0
  163. package/resources/loyalty/transactions/posts.js.map +1 -0
  164. package/resources/loyalty/transactions/posts.mjs +28 -0
  165. package/resources/loyalty/transactions/posts.mjs.map +1 -0
  166. package/resources/loyalty/transactions/rule-statuses.d.ts +121 -0
  167. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  168. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  169. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  170. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  171. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  172. package/resources/loyalty/transactions/transactions.d.ts +566 -0
  173. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  174. package/resources/loyalty/transactions/transactions.js +110 -0
  175. package/resources/loyalty/transactions/transactions.js.map +1 -0
  176. package/resources/loyalty/transactions/transactions.mjs +83 -0
  177. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  178. package/resources/loyalty/transactions.d.ts +1 -248
  179. package/resources/loyalty/transactions.d.ts.map +1 -1
  180. package/resources/loyalty/transactions.js +15 -18
  181. package/resources/loyalty/transactions.js.map +1 -1
  182. package/resources/loyalty/transactions.mjs +1 -16
  183. package/resources/loyalty/transactions.mjs.map +1 -1
  184. package/resources/minting/allowlist.d.ts +84 -0
  185. package/resources/minting/allowlist.d.ts.map +1 -0
  186. package/resources/minting/allowlist.js +42 -0
  187. package/resources/minting/allowlist.js.map +1 -0
  188. package/resources/minting/allowlist.mjs +38 -0
  189. package/resources/minting/allowlist.mjs.map +1 -0
  190. package/resources/minting/contracts.d.ts +165 -0
  191. package/resources/minting/contracts.d.ts.map +1 -0
  192. package/resources/minting/contracts.js +30 -0
  193. package/resources/minting/contracts.js.map +1 -0
  194. package/resources/minting/contracts.mjs +26 -0
  195. package/resources/minting/contracts.mjs.map +1 -0
  196. package/resources/minting/index.d.ts +5 -0
  197. package/resources/minting/index.d.ts.map +1 -0
  198. package/resources/minting/index.js +13 -0
  199. package/resources/minting/index.js.map +1 -0
  200. package/resources/minting/index.mjs +6 -0
  201. package/resources/minting/index.mjs.map +1 -0
  202. package/resources/minting/minting.d.ts +142 -0
  203. package/resources/minting/minting.d.ts.map +1 -0
  204. package/resources/minting/minting.js +79 -0
  205. package/resources/minting/minting.js.map +1 -0
  206. package/resources/minting/minting.mjs +52 -0
  207. package/resources/minting/minting.mjs.map +1 -0
  208. package/resources/minting/status.d.ts +44 -0
  209. package/resources/minting/status.d.ts.map +1 -0
  210. package/resources/minting/status.js +33 -0
  211. package/resources/minting/status.js.map +1 -0
  212. package/resources/minting/status.mjs +29 -0
  213. package/resources/minting/status.mjs.map +1 -0
  214. package/resources/minting.d.ts +1 -94
  215. package/resources/minting.d.ts.map +1 -1
  216. package/resources/minting.js +15 -11
  217. package/resources/minting.js.map +1 -1
  218. package/resources/minting.mjs +1 -9
  219. package/resources/minting.mjs.map +1 -1
  220. package/resources/referral/referral.d.ts +12 -3
  221. package/resources/referral/referral.d.ts.map +1 -1
  222. package/resources/referral/referral.js +11 -5
  223. package/resources/referral/referral.js.map +1 -1
  224. package/resources/referral/referral.mjs +11 -5
  225. package/resources/referral/referral.mjs.map +1 -1
  226. package/resources/referral/users.d.ts +30 -3
  227. package/resources/referral/users.d.ts.map +1 -1
  228. package/resources/referral/users.js +12 -4
  229. package/resources/referral/users.js.map +1 -1
  230. package/resources/referral/users.mjs +12 -4
  231. package/resources/referral/users.mjs.map +1 -1
  232. package/resources/token-claims.d.ts +160 -0
  233. package/resources/token-claims.d.ts.map +1 -0
  234. package/resources/token-claims.js +46 -0
  235. package/resources/token-claims.js.map +1 -0
  236. package/resources/token-claims.mjs +42 -0
  237. package/resources/token-claims.mjs.map +1 -0
  238. package/resources/users/index.d.ts +1 -1
  239. package/resources/users/index.d.ts.map +1 -1
  240. package/resources/users/index.js.map +1 -1
  241. package/resources/users/index.mjs.map +1 -1
  242. package/resources/users/metadatas.d.ts +36 -3
  243. package/resources/users/metadatas.d.ts.map +1 -1
  244. package/resources/users/metadatas.js.map +1 -1
  245. package/resources/users/metadatas.mjs.map +1 -1
  246. package/resources/users/users.d.ts +202 -35
  247. package/resources/users/users.d.ts.map +1 -1
  248. package/resources/users/users.js +58 -1
  249. package/resources/users/users.js.map +1 -1
  250. package/resources/users/users.mjs +58 -1
  251. package/resources/users/users.mjs.map +1 -1
  252. package/resources/websites/website-collections.d.ts +22 -1
  253. package/resources/websites/website-collections.d.ts.map +1 -1
  254. package/resources/websites/website-collections.js +21 -0
  255. package/resources/websites/website-collections.js.map +1 -1
  256. package/resources/websites/website-collections.mjs +21 -0
  257. package/resources/websites/website-collections.mjs.map +1 -1
  258. package/resources/websites/website-user-roles.d.ts +24 -1
  259. package/resources/websites/website-user-roles.d.ts.map +1 -1
  260. package/resources/websites/website-user-roles.js +23 -0
  261. package/resources/websites/website-user-roles.js.map +1 -1
  262. package/resources/websites/website-user-roles.mjs +23 -0
  263. package/resources/websites/website-user-roles.mjs.map +1 -1
  264. package/resources/websites/websites.d.ts +110 -8
  265. package/resources/websites/websites.d.ts.map +1 -1
  266. package/resources/websites/websites.js +7 -0
  267. package/resources/websites/websites.js.map +1 -1
  268. package/resources/websites/websites.mjs +7 -0
  269. package/resources/websites/websites.mjs.map +1 -1
  270. package/src/core.ts +44 -15
  271. package/src/index.ts +82 -4
  272. package/src/resource.ts +1 -1
  273. package/src/resources/assets.ts +18 -3
  274. package/src/resources/auctions/auctions.ts +556 -0
  275. package/src/resources/auctions/index.ts +19 -0
  276. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  277. package/src/resources/auctions/website-user-attributes/values.ts +170 -0
  278. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
  279. package/src/resources/auctions/website-user-attributes.ts +3 -0
  280. package/src/resources/auctions.ts +1 -207
  281. package/src/resources/auth.ts +124 -6
  282. package/src/resources/index.ts +41 -3
  283. package/src/resources/loyalty/account-streaks.ts +128 -0
  284. package/src/resources/loyalty/accounts.ts +65 -18
  285. package/src/resources/loyalty/badges.ts +1057 -145
  286. package/src/resources/loyalty/currencies.ts +19 -0
  287. package/src/resources/loyalty/index.ts +13 -2
  288. package/src/resources/loyalty/loyalty.ts +30 -12
  289. package/src/resources/loyalty/multipliers.ts +43 -4
  290. package/src/resources/loyalty/questions-responses.ts +64 -4
  291. package/src/resources/loyalty/questions.ts +64 -6
  292. package/src/resources/loyalty/rule-edits.ts +4158 -100
  293. package/src/resources/loyalty/rule-groups.ts +466 -64
  294. package/src/resources/loyalty/rules.ts +3586 -377
  295. package/src/resources/loyalty/transactions/index.ts +29 -0
  296. package/src/resources/loyalty/transactions/posts.ts +221 -0
  297. package/src/resources/loyalty/transactions/rule-statuses.ts +179 -0
  298. package/src/resources/loyalty/transactions/transactions.ts +922 -0
  299. package/src/resources/loyalty/transactions.ts +1 -440
  300. package/src/resources/minting/allowlist.ts +116 -0
  301. package/src/resources/minting/contracts.ts +412 -0
  302. package/src/resources/minting/index.ts +29 -0
  303. package/src/resources/minting/minting.ts +279 -0
  304. package/src/resources/minting/status.ts +70 -0
  305. package/src/resources/minting.ts +1 -157
  306. package/src/resources/referral/referral.ts +15 -11
  307. package/src/resources/referral/users.ts +45 -5
  308. package/src/resources/token-claims.ts +307 -0
  309. package/src/resources/users/index.ts +4 -0
  310. package/src/resources/users/metadatas.ts +61 -3
  311. package/src/resources/users/users.ts +276 -38
  312. package/src/resources/websites/website-collections.ts +43 -1
  313. package/src/resources/websites/website-user-roles.ts +26 -1
  314. package/src/resources/websites/websites.ts +130 -8
  315. package/src/version.ts +1 -1
  316. package/version.d.ts +1 -1
  317. package/version.d.ts.map +1 -1
  318. package/version.js +1 -1
  319. package/version.js.map +1 -1
  320. package/version.mjs +1 -1
  321. package/version.mjs.map +1 -1
  322. package/resources/loyalty/rule-chains.d.ts +0 -34
  323. package/resources/loyalty/rule-chains.d.ts.map +0 -1
  324. package/resources/loyalty/rule-chains.js +0 -15
  325. package/resources/loyalty/rule-chains.js.map +0 -1
  326. package/resources/loyalty/rule-chains.mjs +0 -11
  327. package/resources/loyalty/rule-chains.mjs.map +0 -1
  328. package/src/resources/loyalty/rule-chains.ts +0 -45
@@ -3,34 +3,92 @@ import * as Core from "../../core.js";
3
3
  export declare class Rules extends APIResource {
4
4
  /**
5
5
  * Create a new Loyalty Rule
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const rule = await client.loyalty.rules.create({
10
+ * amount: '10.5',
11
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
12
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
13
+ * endTime: '2024-12-31T23:59:00Z',
14
+ * frequency: 'daily',
15
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
16
+ * metadata: {},
17
+ * name: 'Referral Bonus Rule',
18
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
19
+ * startTime: '2024-01-01T00:00:00Z',
20
+ * type: 'Bonus',
21
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
22
+ * });
23
+ * ```
6
24
  */
7
25
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse>;
8
26
  /**
9
27
  * Update an existing Loyalty Rule
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const rule = await client.loyalty.rules.update(
32
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
33
+ * {
34
+ * amount: '10.5',
35
+ * endTime: '2024-12-31T23:59:00Z',
36
+ * name: 'Daily Rewards Program',
37
+ * },
38
+ * );
39
+ * ```
10
40
  */
11
41
  update(id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
12
42
  /**
13
43
  * Retrieve configured loyalty rules with optional pagination and filters
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const rules = await client.loyalty.rules.list();
48
+ * ```
14
49
  */
15
50
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
16
51
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
17
52
  /**
18
53
  * Delete an existing Loyalty Rule
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const rule = await client.loyalty.rules.delete(
58
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
59
+ * );
60
+ * ```
19
61
  */
62
+ delete(id: string, params?: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
20
63
  delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
21
64
  /**
22
65
  * Verify a loyalty rule based on user action and reward them if applicable. This
23
66
  * endpoint currently only supports following rule types code_entry, text_input,
24
67
  * link_click, discord_member, connect_wallet, check_in, external_rule,
25
68
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
26
- * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
69
+ * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
70
+ * youtube_subscribers, youtube_comment, steam_wishlist, discord_role_grant
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const response = await client.loyalty.rules.complete(
75
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
76
+ * );
77
+ * ```
27
78
  */
28
79
  complete(id: string, body?: RuleCompleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
29
80
  complete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
30
81
  /**
31
- * This will return the processing status of quests for a specific user
82
+ * This will return the processing status of quests for a specific user and also
83
+ * the progress of the loyalty rule
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const response = await client.loyalty.rules.getStatus();
88
+ * ```
32
89
  */
33
- getStatus(query: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
90
+ getStatus(query?: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
91
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
34
92
  }
35
93
  export interface RuleCreateResponse {
36
94
  id: string;
@@ -53,7 +111,7 @@ export interface RuleCreateResponse {
53
111
  /**
54
112
  * Execution frequency of the loyalty rule
55
113
  */
56
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
114
+ frequency: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
57
115
  /**
58
116
  * Unique identifier for the loyalty currency
59
117
  */
@@ -77,7 +135,7 @@ export interface RuleCreateResponse {
77
135
  /**
78
136
  * Type of loyalty rule being created
79
137
  */
80
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
138
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'github_repo_fork' | 'github_repo_collaborator' | 'github_merge_PR' | 'discord_role_grant' | 'connected_reddit' | 'reddit_comment' | 'robinhood_token_hold' | 'connected_instagram' | 'instagram_post' | 'instagram_follow' | 'dapps_by_gas_spent';
81
139
  /**
82
140
  * Unique identifier for the associated website
83
141
  */
@@ -86,6 +144,10 @@ export interface RuleCreateResponse {
86
144
  * URL of the background asset to be displayed
87
145
  */
88
146
  backgroundAssetUrl?: string;
147
+ /**
148
+ * The type of claim for the reward
149
+ */
150
+ claimType?: 'manual' | 'auto' | null;
89
151
  /**
90
152
  * Blockchain address of the associated collection
91
153
  */
@@ -94,6 +156,10 @@ export interface RuleCreateResponse {
94
156
  * List of associated collections
95
157
  */
96
158
  collections?: Array<RuleCreateResponse.Collection> | null;
159
+ /**
160
+ * The IDs of the contracts
161
+ */
162
+ contractIds?: Array<string> | null;
97
163
  /**
98
164
  * URL for fetching custom rewards
99
165
  */
@@ -106,6 +172,15 @@ export interface RuleCreateResponse {
106
172
  * Optional detailed description of the rule
107
173
  */
108
174
  description?: string;
175
+ duplicatedFromId?: string | null;
176
+ /**
177
+ * ID of the external integration
178
+ */
179
+ externalIntegrationId?: string | null;
180
+ /**
181
+ * Optional stratus function id for the rule
182
+ */
183
+ functionId?: string | null;
109
184
  /**
110
185
  * Whether to hide this rule in the user interface
111
186
  */
@@ -113,15 +188,33 @@ export interface RuleCreateResponse {
113
188
  /**
114
189
  * Interval between rule executions
115
190
  */
116
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
191
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
117
192
  /**
118
193
  * Whether this rule is mandatory
119
194
  */
120
195
  isRequired?: boolean;
196
+ /**
197
+ * Unique identifier for the loyalty badge
198
+ */
199
+ loyaltyBadgeId?: string | null;
121
200
  /**
122
201
  * Unique identifier for the loyalty rule group
123
202
  */
124
203
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
204
+ /**
205
+ * URL for uploading loyalty user allotment via CSV
206
+ */
207
+ loyaltyUserAllotmentCsvUrl?: string;
208
+ /**
209
+ * The interval for the max amount. Available for the smart contract and external
210
+ * rules.
211
+ */
212
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
213
+ /**
214
+ * The maximum amount of points a user can earn per interval. Available for the
215
+ * smart contract and external rules.
216
+ */
217
+ maxAmountPerInterval?: number | null;
125
218
  /**
126
219
  * URL of the media to be displayed
127
220
  */
@@ -129,25 +222,51 @@ export interface RuleCreateResponse {
129
222
  /**
130
223
  * Blockchain network where the rule will apply
131
224
  */
132
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
225
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
133
226
  /**
134
227
  * OAuth credentials associated with the rule
135
228
  */
136
229
  oauthCredentialsId?: string | null;
230
+ /**
231
+ * The lifetime of the reward
232
+ */
233
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
137
234
  /**
138
235
  * Type of reward issued by the rule
139
236
  */
140
- rewardType?: 'points' | 'multiplier';
237
+ rewardType?: 'points' | 'multiplier' | 'badge';
238
+ /**
239
+ * URL of the Shopify store
240
+ */
241
+ shopifyStoreUrl?: string | null;
141
242
  /**
142
- * Identifier for associated subscriptions
243
+ * Whether to show this rule before the start time
143
244
  */
144
- subscriptionIdentifier?: string | null;
245
+ showBeforeStart?: boolean;
246
+ /**
247
+ * Optional stratus subscription id for the rule
248
+ */
249
+ subscriptionId?: string | null;
145
250
  }
146
251
  export declare namespace RuleCreateResponse {
147
252
  /**
148
253
  * Additional metadata for the loyalty rule
149
254
  */
150
255
  interface Metadata {
256
+ /**
257
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
258
+ * only.
259
+ */
260
+ allowMultipleRedemptions?: boolean;
261
+ /**
262
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
263
+ * any rule completions count as check-in.
264
+ */
265
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
266
+ /**
267
+ * Number of tokens per batch.
268
+ */
269
+ batchSize?: number | null;
151
270
  /**
152
271
  * Text displayed on the action button.
153
272
  */
@@ -167,7 +286,7 @@ export declare namespace RuleCreateResponse {
167
286
  /**
168
287
  * Text to check in the Twitter post, username, or bio.
169
288
  */
170
- checkText?: string | null;
289
+ checkText?: string | Array<string> | null;
171
290
  /**
172
291
  * Array of collections associated with the rule.
173
292
  */
@@ -175,7 +294,13 @@ export declare namespace RuleCreateResponse {
175
294
  /**
176
295
  * Conditions for completing the profile.
177
296
  */
178
- completeProfileConditions?: Record<string, boolean> | null;
297
+ completeProfileConditions?: {
298
+ [key: string]: boolean;
299
+ } | null;
300
+ /**
301
+ * Description of the external rule condition (only for external rules)
302
+ */
303
+ conditionDescription?: string;
179
304
  /**
180
305
  * Object containing details for the call-to-action.
181
306
  */
@@ -184,6 +309,10 @@ export declare namespace RuleCreateResponse {
184
309
  * API key for custom rewards integration.
185
310
  */
186
311
  customRewardsApiKey?: string;
312
+ /**
313
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
314
+ */
315
+ directRpc?: boolean;
187
316
  /**
188
317
  * Array of Discord servers, channels, and roles to join.
189
318
  */
@@ -204,6 +333,10 @@ export declare namespace RuleCreateResponse {
204
333
  * Flag indicating whether the verified multiplier is enabled.
205
334
  */
206
335
  enableVerifiedMultiplier?: boolean;
336
+ /**
337
+ * Type of ERC20 token for the loyalty rule.
338
+ */
339
+ erc20Type?: 'erc20' | 'native';
207
340
  /**
208
341
  * Fill source of the order for the token sale
209
342
  */
@@ -212,6 +345,14 @@ export declare namespace RuleCreateResponse {
212
345
  * Percentage reward given to a user for their first referral.
213
346
  */
214
347
  firstReferralReward?: number | null;
348
+ /**
349
+ * Name of the GitHub branch to check for PR merge.
350
+ */
351
+ githubBranchName?: string | null;
352
+ /**
353
+ * URL of the GitHub repository to check for star.
354
+ */
355
+ githubRepoUrl?: string | null;
215
356
  /**
216
357
  * Flag indicating whether the fill source is included.
217
358
  */
@@ -220,10 +361,6 @@ export declare namespace RuleCreateResponse {
220
361
  * Indicates if the item has never been sold.
221
362
  */
222
363
  hasNeverSold?: boolean;
223
- /**
224
- * Flag indicating whether the order source is included.
225
- */
226
- hasOrderSource?: boolean;
227
364
  /**
228
365
  * Indicates if the full royalty has been paid for items.
229
366
  */
@@ -240,10 +377,18 @@ export declare namespace RuleCreateResponse {
240
377
  * URL of the image associated with the rule.
241
378
  */
242
379
  imageUrl?: string | null;
380
+ /**
381
+ * If enabled, the first transaction done on the platform will complete this rule
382
+ */
383
+ isCheckInOnEveryTxn?: boolean;
243
384
  /**
244
385
  * Indicates if the multiplier has been applied to rewards.
245
386
  */
246
387
  isMultiplierApplied?: boolean;
388
+ /**
389
+ * Flag indicating if the rule is restricted to new users.
390
+ */
391
+ isRestrictedToNewUsers?: boolean;
247
392
  /**
248
393
  * Flag indicating if rewards are applied retroactively.
249
394
  */
@@ -256,10 +401,18 @@ export declare namespace RuleCreateResponse {
256
401
  * Optional link associated with the metadata.
257
402
  */
258
403
  link?: string | null;
404
+ /**
405
+ * Liquidity pool details.
406
+ */
407
+ liquidity?: Metadata.Liquidity;
259
408
  /**
260
409
  * Maximum quantity constraint for token holding.
261
410
  */
262
411
  maxQty?: number | null;
412
+ /**
413
+ * Minimum follower count for the rule. Accepts both number and string values.
414
+ */
415
+ minimumFollowerCount?: number | null;
263
416
  /**
264
417
  * Minimum quantity constraint for token holding.
265
418
  */
@@ -289,17 +442,33 @@ export declare namespace RuleCreateResponse {
289
442
  */
290
443
  onlyRewardSingleTokenOwnership?: boolean | null;
291
444
  /**
292
- * Order source of the order for the token sale
445
+ * Pre-generated text template that will be used to prefill the post content.
293
446
  */
294
- orderSource?: string;
447
+ preGeneratedPostText?: string | null;
295
448
  /**
296
449
  * Promotional code associated with the rule.
297
450
  */
298
451
  promoCode?: string;
452
+ /**
453
+ * URL of the CSV file containing promo codes.
454
+ */
455
+ promoCodeCsvUrl?: string;
456
+ /**
457
+ * Numbers of the promotional code to be generated.
458
+ */
459
+ promoCodeLength?: number | null;
460
+ /**
461
+ * Type of the promotional code.
462
+ */
463
+ promoCodeType?: 'code' | 'csv' | 'generate';
299
464
  /**
300
465
  * Array defining ranges and corresponding rewards.
301
466
  */
302
467
  range?: Array<Metadata.Range>;
468
+ /**
469
+ * ID of the Reddit post.
470
+ */
471
+ redditPostId?: string | null;
303
472
  /**
304
473
  * Object defining referral requirements.
305
474
  */
@@ -308,10 +477,61 @@ export declare namespace RuleCreateResponse {
308
477
  * Lump sum reward given to a referrer.
309
478
  */
310
479
  referrerReward?: number | null;
480
+ /**
481
+ * Loyalty currency ID of the referrer reward.
482
+ */
483
+ referrerRewardLoyaltyCurrencyId?: string | null;
484
+ /**
485
+ * Flag indicating if the post link is required.
486
+ */
487
+ requirePostLink?: boolean | null;
488
+ /**
489
+ * Flag indicating if media metadata is required.
490
+ */
491
+ requirePostMediaLink?: boolean | null;
492
+ /**
493
+ * If enabled, the progress tracking row will be deleted after a successful claim,
494
+ * allowing the user to re-earn the rule.
495
+ */
496
+ resetProgressOnClaim?: boolean | null;
497
+ /**
498
+ * Flag indicating if the rule can also reward badges per range.
499
+ */
500
+ rewardBadgePerRange?: boolean;
501
+ /**
502
+ * Flag indicating if the reward is rewarded by batch.
503
+ */
504
+ rewardByBatch?: boolean | null;
505
+ /**
506
+ * Criteria to evaluate the reward.
507
+ */
508
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
509
+ /**
510
+ * Flag indicating if the reward is rewarded per action.
511
+ */
512
+ rewardPerAction?: boolean | null;
311
513
  /**
312
514
  * Flag indicating if rewards are given per impression.
313
515
  */
314
516
  rewardPerImpression?: boolean | null;
517
+ /**
518
+ * Flag indicating if the rule should reward based on value of traded tokens
519
+ * instead of count.
520
+ */
521
+ rewardPerValue?: boolean;
522
+ /**
523
+ * Flag indicating if the rule should reward quality posts.
524
+ */
525
+ rewardQualityPosts?: boolean;
526
+ robinhoodSymbols?: Array<string> | null;
527
+ /**
528
+ * Wallet address of the user can only be used if userId is not provided
529
+ */
530
+ royaltyAddress?: string;
531
+ /**
532
+ * Royalty percentage of the item.
533
+ */
534
+ royaltyPercentage?: number;
315
535
  /**
316
536
  * Currency associated with sales.
317
537
  */
@@ -335,7 +555,7 @@ export declare namespace RuleCreateResponse {
335
555
  /**
336
556
  * Social media platform associated with the rule.
337
557
  */
338
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
558
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
339
559
  /**
340
560
  * URL of the social platform's logo.
341
561
  */
@@ -344,10 +564,18 @@ export declare namespace RuleCreateResponse {
344
564
  * Name of the social platform.
345
565
  */
346
566
  socialPlatformName?: string | null;
567
+ /**
568
+ * ID of the Steam app.
569
+ */
570
+ steamAppId?: string | null;
347
571
  /**
348
572
  * Array of streak milestones and corresponding rewards.
349
573
  */
350
574
  streakArray?: Array<Metadata.StreakArray> | null;
575
+ /**
576
+ * Metadata for swap loyalty rules
577
+ */
578
+ swap?: Metadata.Swap;
351
579
  /**
352
580
  * ID of the Telegram channel.
353
581
  */
@@ -360,6 +588,11 @@ export declare namespace RuleCreateResponse {
360
588
  * Flag indicating if all contracts are tracked.
361
589
  */
362
590
  trackAllContracts?: boolean | null;
591
+ /**
592
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
593
+ * completed once the progress is 100%.
594
+ */
595
+ trackProgress?: boolean | null;
363
596
  /**
364
597
  * URL of the associated Twitter account.
365
598
  */
@@ -395,7 +628,15 @@ export declare namespace RuleCreateResponse {
395
628
  /**
396
629
  * Type of wallet associated with the rule.
397
630
  */
398
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
631
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
632
+ /**
633
+ * ID of the Youtube channel.
634
+ */
635
+ youtubeChannelId?: string | null;
636
+ /**
637
+ * ID of the Youtube video.
638
+ */
639
+ youtubeVideoId?: string | null;
399
640
  }
400
641
  namespace Metadata {
401
642
  interface Collection {
@@ -410,7 +651,7 @@ export declare namespace RuleCreateResponse {
410
651
  /**
411
652
  * Blockchain network of the collection.
412
653
  */
413
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
654
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
414
655
  }
415
656
  /**
416
657
  * Object containing details for the call-to-action.
@@ -475,6 +716,49 @@ export declare namespace RuleCreateResponse {
475
716
  */
476
717
  id: string;
477
718
  }
719
+ /**
720
+ * Liquidity pool details.
721
+ */
722
+ interface Liquidity {
723
+ /**
724
+ * Calculation type of the liquidity pool.
725
+ */
726
+ calculationType?: 'fixed' | 'custom';
727
+ /**
728
+ * Custom function to calculate the the reward amount based on the liquidity
729
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
730
+ * USD.
731
+ */
732
+ customFunction?: string;
733
+ /**
734
+ * Liquidity provided per day in USD
735
+ */
736
+ liquidityPerDay?: number;
737
+ /**
738
+ * Blockchain network of the liquidity pool.
739
+ */
740
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
741
+ /**
742
+ * Indicates if only in-range liquidity is rewarded.
743
+ */
744
+ onlyRewardInRangeLiquidity?: boolean;
745
+ /**
746
+ * Array of liquidity pools associated with the rule.
747
+ */
748
+ pools?: Array<Liquidity.Pool>;
749
+ /**
750
+ * Protocol of the liquidity pool.
751
+ */
752
+ protocol?: string;
753
+ }
754
+ namespace Liquidity {
755
+ interface Pool {
756
+ /**
757
+ * Unique identifier of the liquidity pool.
758
+ */
759
+ id: string;
760
+ }
761
+ }
478
762
  interface Range {
479
763
  /**
480
764
  * Reward amount for this range.
@@ -488,6 +772,14 @@ export declare namespace RuleCreateResponse {
488
772
  * Start value of the range.
489
773
  */
490
774
  startRange: number;
775
+ /**
776
+ * ID of the loyalty badge for this range.
777
+ */
778
+ loyaltyBadgeId?: string;
779
+ /**
780
+ * Amount of the loyalty multiplier for this range.
781
+ */
782
+ loyaltyMultiplierAmount?: number;
491
783
  }
492
784
  /**
493
785
  * Object defining referral requirements.
@@ -531,18 +823,14 @@ export declare namespace RuleCreateResponse {
531
823
  * Object containing details of the associated smart contract.
532
824
  */
533
825
  interface SmartContract {
534
- /**
535
- * ABI of the smart contract.
536
- */
537
- abi?: string | null;
538
826
  /**
539
827
  * Mapping of addresses for the smart contract.
540
828
  */
541
829
  addressMapping?: string | null;
542
830
  /**
543
- * Array of bonus details applied to the rule.
831
+ * Object containing details of the amount multiplier from the event.
544
832
  */
545
- bonus?: Array<SmartContract.Bonus> | null;
833
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
546
834
  /**
547
835
  * ID of the smart contract.
548
836
  */
@@ -551,58 +839,28 @@ export declare namespace RuleCreateResponse {
551
839
  * Criteria to evaluate the smart contract event.
552
840
  */
553
841
  criteria?: 'everyEvent' | 'byParameter' | null;
554
- /**
555
- * Time range applied to the rule.
556
- */
557
- customRange?: SmartContract.CustomRange | null;
558
842
  /**
559
843
  * Event emitted by the smart contract.
560
844
  */
561
845
  event?: string | null;
562
- /**
563
- * Maximum value allowed for the parameter.
564
- */
565
- max?: number | null;
566
846
  /**
567
847
  * Array of parameters for the smart contract.
568
848
  */
569
849
  params?: Array<SmartContract.Param> | null;
570
850
  /**
571
- * Flag indicating if a bonus is applied.
572
- */
573
- withBonus?: boolean | null;
574
- /**
575
- * Flag indicating if a custom range is applied.
851
+ * Type of the smart contract interaction.
576
852
  */
577
- withCustomRange?: boolean | null;
578
- /**
579
- * Flag indicating if a maximum limit is applied.
580
- */
581
- withMax?: boolean | null;
853
+ type?: 'function' | 'event' | null;
582
854
  }
583
855
  namespace SmartContract {
584
- interface Bonus {
585
- /**
586
- * Amount of the bonus.
587
- */
588
- amount?: number | null;
589
- /**
590
- * Number of times the bonus is applied.
591
- */
592
- count?: number | null;
593
- }
594
856
  /**
595
- * Time range applied to the rule.
857
+ * Object containing details of the amount multiplier from the event.
596
858
  */
597
- interface CustomRange {
859
+ interface AmountMultiplier {
598
860
  /**
599
- * End time of the custom range.
861
+ * Mapping of the value for the smart contract.
600
862
  */
601
- endsAt?: string | null;
602
- /**
603
- * Start time of the custom range.
604
- */
605
- startsAt?: string | null;
863
+ valueMapping?: string | null;
606
864
  }
607
865
  interface Param {
608
866
  /**
@@ -639,6 +897,42 @@ export declare namespace RuleCreateResponse {
639
897
  */
640
898
  streakMilestone: number;
641
899
  }
900
+ /**
901
+ * Metadata for swap loyalty rules
902
+ */
903
+ interface Swap {
904
+ from?: Swap.From;
905
+ provider?: 'any' | 'relay' | 'lifi';
906
+ relayReferrerId?: string;
907
+ requireCrossChainSwap?: boolean;
908
+ to?: Swap.To;
909
+ }
910
+ namespace Swap {
911
+ interface From {
912
+ chain?: 'any' | number | string;
913
+ mode?: 'any' | 'specific';
914
+ tokens?: Array<From.Token>;
915
+ trackAmount?: boolean;
916
+ }
917
+ namespace From {
918
+ interface Token {
919
+ address: string;
920
+ chainId: string;
921
+ }
922
+ }
923
+ interface To {
924
+ chain?: 'any' | number | string;
925
+ mode?: 'any' | 'specific';
926
+ tokens?: Array<To.Token>;
927
+ trackAmount?: boolean;
928
+ }
929
+ namespace To {
930
+ interface Token {
931
+ address: string;
932
+ chainId: string;
933
+ }
934
+ }
935
+ }
642
936
  }
643
937
  interface Collection {
644
938
  /**
@@ -648,7 +942,11 @@ export declare namespace RuleCreateResponse {
648
942
  /**
649
943
  * Blockchain network for the collection
650
944
  */
651
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
945
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
946
+ /**
947
+ * Symbol of the collection.
948
+ */
949
+ symbol?: string;
652
950
  }
653
951
  }
654
952
  export interface RuleUpdateResponse {
@@ -665,14 +963,22 @@ export interface RuleUpdateResponse {
665
963
  * Name of the loyalty rule
666
964
  */
667
965
  name: string;
966
+ /**
967
+ * The type of claim for the reward
968
+ */
969
+ claimType?: 'manual' | 'auto' | null;
668
970
  /**
669
971
  * Blockchain address of the associated collection
670
972
  */
671
- collectionAddress?: string;
973
+ collectionAddress?: string | null;
672
974
  /**
673
975
  * List of associated collections
674
976
  */
675
977
  collections?: Array<RuleUpdateResponse.Collection> | null;
978
+ /**
979
+ * The IDs of the contracts
980
+ */
981
+ contractIds?: Array<string> | null;
676
982
  /**
677
983
  * API URL for custom rewards integration
678
984
  */
@@ -681,6 +987,11 @@ export interface RuleUpdateResponse {
681
987
  * URL for uploading custom rewards via CSV
682
988
  */
683
989
  customRewardsCsvUrl?: string | null;
990
+ /**
991
+ * Timestamp when the loyalty rule was deleted. Set to null to restore a deleted
992
+ * rule.
993
+ */
994
+ deletedAt?: string | null;
684
995
  /**
685
996
  * Optional description of the loyalty rule
686
997
  */
@@ -693,10 +1004,18 @@ export interface RuleUpdateResponse {
693
1004
  * Effective start time of the rule
694
1005
  */
695
1006
  effectiveStartTime?: string | null;
1007
+ /**
1008
+ * ID of the external integration
1009
+ */
1010
+ externalIntegrationId?: string | null;
696
1011
  /**
697
1012
  * Frequency of the rule execution
698
1013
  */
699
- frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1014
+ frequency?: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1015
+ /**
1016
+ * Optional stratus function id for the rule
1017
+ */
1018
+ functionId?: string | null;
700
1019
  /**
701
1020
  * Whether to hide this rule in the user interface
702
1021
  */
@@ -704,7 +1023,7 @@ export interface RuleUpdateResponse {
704
1023
  /**
705
1024
  * Time interval for recurring rule execution
706
1025
  */
707
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1026
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
708
1027
  /**
709
1028
  * Whether this rule is required for participation
710
1029
  */
@@ -713,6 +1032,16 @@ export interface RuleUpdateResponse {
713
1032
  * ID of the rule group section to associate with the rule
714
1033
  */
715
1034
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1035
+ /**
1036
+ * The interval for the max amount. Available for the smart contract and external
1037
+ * rules.
1038
+ */
1039
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1040
+ /**
1041
+ * The maximum amount of points a user can earn per interval. Available for the
1042
+ * smart contract and external rules.
1043
+ */
1044
+ maxAmountPerInterval?: number | null;
716
1045
  /**
717
1046
  * URL of the media to be displayed
718
1047
  */
@@ -724,23 +1053,35 @@ export interface RuleUpdateResponse {
724
1053
  /**
725
1054
  * Blockchain network where the rule will apply
726
1055
  */
727
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1056
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
728
1057
  /**
729
1058
  * ID for associated OAuth credentials
730
1059
  */
731
1060
  oauthCredentialsId?: string | null;
1061
+ /**
1062
+ * The lifetime of the reward
1063
+ */
1064
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
732
1065
  /**
733
1066
  * Type of reward issued by this rule
734
1067
  */
735
- rewardType?: 'points' | 'multiplier';
1068
+ rewardType?: 'points' | 'multiplier' | 'badge';
1069
+ /**
1070
+ * URL of the Shopify store
1071
+ */
1072
+ shopifyStoreUrl?: string | null;
1073
+ /**
1074
+ * Whether to show this rule before the start time
1075
+ */
1076
+ showBeforeStart?: boolean;
736
1077
  /**
737
1078
  * Start time for the loyalty rule
738
1079
  */
739
1080
  startTime?: string | null;
740
1081
  /**
741
- * Optional subscription identifier for the rule
1082
+ * Optional stratus subscription id for the rule
742
1083
  */
743
- subscriptionIdentifier?: string | null;
1084
+ subscriptionId?: string | null;
744
1085
  }
745
1086
  export declare namespace RuleUpdateResponse {
746
1087
  interface Collection {
@@ -751,12 +1092,30 @@ export declare namespace RuleUpdateResponse {
751
1092
  /**
752
1093
  * Blockchain network for the collection
753
1094
  */
754
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1095
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1096
+ /**
1097
+ * Symbol of the collection.
1098
+ */
1099
+ symbol?: string;
755
1100
  }
756
1101
  /**
757
1102
  * Additional metadata for the loyalty rule
758
1103
  */
759
1104
  interface Metadata {
1105
+ /**
1106
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
1107
+ * only.
1108
+ */
1109
+ allowMultipleRedemptions?: boolean;
1110
+ /**
1111
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
1112
+ * any rule completions count as check-in.
1113
+ */
1114
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
1115
+ /**
1116
+ * Number of tokens per batch.
1117
+ */
1118
+ batchSize?: number | null;
760
1119
  /**
761
1120
  * Text displayed on the action button.
762
1121
  */
@@ -776,7 +1135,7 @@ export declare namespace RuleUpdateResponse {
776
1135
  /**
777
1136
  * Text to check in the Twitter post, username, or bio.
778
1137
  */
779
- checkText?: string | null;
1138
+ checkText?: string | Array<string> | null;
780
1139
  /**
781
1140
  * Array of collections associated with the rule.
782
1141
  */
@@ -784,7 +1143,13 @@ export declare namespace RuleUpdateResponse {
784
1143
  /**
785
1144
  * Conditions for completing the profile.
786
1145
  */
787
- completeProfileConditions?: Record<string, boolean> | null;
1146
+ completeProfileConditions?: {
1147
+ [key: string]: boolean;
1148
+ } | null;
1149
+ /**
1150
+ * Description of the external rule condition (only for external rules)
1151
+ */
1152
+ conditionDescription?: string;
788
1153
  /**
789
1154
  * Object containing details for the call-to-action.
790
1155
  */
@@ -793,6 +1158,10 @@ export declare namespace RuleUpdateResponse {
793
1158
  * API key for custom rewards integration.
794
1159
  */
795
1160
  customRewardsApiKey?: string;
1161
+ /**
1162
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1163
+ */
1164
+ directRpc?: boolean;
796
1165
  /**
797
1166
  * Array of Discord servers, channels, and roles to join.
798
1167
  */
@@ -813,6 +1182,10 @@ export declare namespace RuleUpdateResponse {
813
1182
  * Flag indicating whether the verified multiplier is enabled.
814
1183
  */
815
1184
  enableVerifiedMultiplier?: boolean;
1185
+ /**
1186
+ * Type of ERC20 token for the loyalty rule.
1187
+ */
1188
+ erc20Type?: 'erc20' | 'native';
816
1189
  /**
817
1190
  * Fill source of the order for the token sale
818
1191
  */
@@ -821,6 +1194,14 @@ export declare namespace RuleUpdateResponse {
821
1194
  * Percentage reward given to a user for their first referral.
822
1195
  */
823
1196
  firstReferralReward?: number | null;
1197
+ /**
1198
+ * Name of the GitHub branch to check for PR merge.
1199
+ */
1200
+ githubBranchName?: string | null;
1201
+ /**
1202
+ * URL of the GitHub repository to check for star.
1203
+ */
1204
+ githubRepoUrl?: string | null;
824
1205
  /**
825
1206
  * Flag indicating whether the fill source is included.
826
1207
  */
@@ -829,10 +1210,6 @@ export declare namespace RuleUpdateResponse {
829
1210
  * Indicates if the item has never been sold.
830
1211
  */
831
1212
  hasNeverSold?: boolean;
832
- /**
833
- * Flag indicating whether the order source is included.
834
- */
835
- hasOrderSource?: boolean;
836
1213
  /**
837
1214
  * Indicates if the full royalty has been paid for items.
838
1215
  */
@@ -849,10 +1226,18 @@ export declare namespace RuleUpdateResponse {
849
1226
  * URL of the image associated with the rule.
850
1227
  */
851
1228
  imageUrl?: string | null;
1229
+ /**
1230
+ * If enabled, the first transaction done on the platform will complete this rule
1231
+ */
1232
+ isCheckInOnEveryTxn?: boolean;
852
1233
  /**
853
1234
  * Indicates if the multiplier has been applied to rewards.
854
1235
  */
855
1236
  isMultiplierApplied?: boolean;
1237
+ /**
1238
+ * Flag indicating if the rule is restricted to new users.
1239
+ */
1240
+ isRestrictedToNewUsers?: boolean;
856
1241
  /**
857
1242
  * Flag indicating if rewards are applied retroactively.
858
1243
  */
@@ -865,10 +1250,18 @@ export declare namespace RuleUpdateResponse {
865
1250
  * Optional link associated with the metadata.
866
1251
  */
867
1252
  link?: string | null;
1253
+ /**
1254
+ * Liquidity pool details.
1255
+ */
1256
+ liquidity?: Metadata.Liquidity;
868
1257
  /**
869
1258
  * Maximum quantity constraint for token holding.
870
1259
  */
871
1260
  maxQty?: number | null;
1261
+ /**
1262
+ * Minimum follower count for the rule. Accepts both number and string values.
1263
+ */
1264
+ minimumFollowerCount?: number | null;
872
1265
  /**
873
1266
  * Minimum quantity constraint for token holding.
874
1267
  */
@@ -898,17 +1291,33 @@ export declare namespace RuleUpdateResponse {
898
1291
  */
899
1292
  onlyRewardSingleTokenOwnership?: boolean | null;
900
1293
  /**
901
- * Order source of the order for the token sale
1294
+ * Pre-generated text template that will be used to prefill the post content.
902
1295
  */
903
- orderSource?: string;
1296
+ preGeneratedPostText?: string | null;
904
1297
  /**
905
1298
  * Promotional code associated with the rule.
906
1299
  */
907
1300
  promoCode?: string;
1301
+ /**
1302
+ * URL of the CSV file containing promo codes.
1303
+ */
1304
+ promoCodeCsvUrl?: string;
1305
+ /**
1306
+ * Numbers of the promotional code to be generated.
1307
+ */
1308
+ promoCodeLength?: number | null;
1309
+ /**
1310
+ * Type of the promotional code.
1311
+ */
1312
+ promoCodeType?: 'code' | 'csv' | 'generate';
908
1313
  /**
909
1314
  * Array defining ranges and corresponding rewards.
910
1315
  */
911
1316
  range?: Array<Metadata.Range>;
1317
+ /**
1318
+ * ID of the Reddit post.
1319
+ */
1320
+ redditPostId?: string | null;
912
1321
  /**
913
1322
  * Object defining referral requirements.
914
1323
  */
@@ -917,10 +1326,61 @@ export declare namespace RuleUpdateResponse {
917
1326
  * Lump sum reward given to a referrer.
918
1327
  */
919
1328
  referrerReward?: number | null;
1329
+ /**
1330
+ * Loyalty currency ID of the referrer reward.
1331
+ */
1332
+ referrerRewardLoyaltyCurrencyId?: string | null;
1333
+ /**
1334
+ * Flag indicating if the post link is required.
1335
+ */
1336
+ requirePostLink?: boolean | null;
1337
+ /**
1338
+ * Flag indicating if media metadata is required.
1339
+ */
1340
+ requirePostMediaLink?: boolean | null;
1341
+ /**
1342
+ * If enabled, the progress tracking row will be deleted after a successful claim,
1343
+ * allowing the user to re-earn the rule.
1344
+ */
1345
+ resetProgressOnClaim?: boolean | null;
1346
+ /**
1347
+ * Flag indicating if the rule can also reward badges per range.
1348
+ */
1349
+ rewardBadgePerRange?: boolean;
1350
+ /**
1351
+ * Flag indicating if the reward is rewarded by batch.
1352
+ */
1353
+ rewardByBatch?: boolean | null;
1354
+ /**
1355
+ * Criteria to evaluate the reward.
1356
+ */
1357
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1358
+ /**
1359
+ * Flag indicating if the reward is rewarded per action.
1360
+ */
1361
+ rewardPerAction?: boolean | null;
920
1362
  /**
921
1363
  * Flag indicating if rewards are given per impression.
922
1364
  */
923
1365
  rewardPerImpression?: boolean | null;
1366
+ /**
1367
+ * Flag indicating if the rule should reward based on value of traded tokens
1368
+ * instead of count.
1369
+ */
1370
+ rewardPerValue?: boolean;
1371
+ /**
1372
+ * Flag indicating if the rule should reward quality posts.
1373
+ */
1374
+ rewardQualityPosts?: boolean;
1375
+ robinhoodSymbols?: Array<string> | null;
1376
+ /**
1377
+ * Wallet address of the user can only be used if userId is not provided
1378
+ */
1379
+ royaltyAddress?: string;
1380
+ /**
1381
+ * Royalty percentage of the item.
1382
+ */
1383
+ royaltyPercentage?: number;
924
1384
  /**
925
1385
  * Currency associated with sales.
926
1386
  */
@@ -944,7 +1404,7 @@ export declare namespace RuleUpdateResponse {
944
1404
  /**
945
1405
  * Social media platform associated with the rule.
946
1406
  */
947
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
1407
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
948
1408
  /**
949
1409
  * URL of the social platform's logo.
950
1410
  */
@@ -953,10 +1413,18 @@ export declare namespace RuleUpdateResponse {
953
1413
  * Name of the social platform.
954
1414
  */
955
1415
  socialPlatformName?: string | null;
1416
+ /**
1417
+ * ID of the Steam app.
1418
+ */
1419
+ steamAppId?: string | null;
956
1420
  /**
957
1421
  * Array of streak milestones and corresponding rewards.
958
1422
  */
959
1423
  streakArray?: Array<Metadata.StreakArray> | null;
1424
+ /**
1425
+ * Metadata for swap loyalty rules
1426
+ */
1427
+ swap?: Metadata.Swap;
960
1428
  /**
961
1429
  * ID of the Telegram channel.
962
1430
  */
@@ -969,6 +1437,11 @@ export declare namespace RuleUpdateResponse {
969
1437
  * Flag indicating if all contracts are tracked.
970
1438
  */
971
1439
  trackAllContracts?: boolean | null;
1440
+ /**
1441
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1442
+ * completed once the progress is 100%.
1443
+ */
1444
+ trackProgress?: boolean | null;
972
1445
  /**
973
1446
  * URL of the associated Twitter account.
974
1447
  */
@@ -1004,7 +1477,15 @@ export declare namespace RuleUpdateResponse {
1004
1477
  /**
1005
1478
  * Type of wallet associated with the rule.
1006
1479
  */
1007
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1480
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
1481
+ /**
1482
+ * ID of the Youtube channel.
1483
+ */
1484
+ youtubeChannelId?: string | null;
1485
+ /**
1486
+ * ID of the Youtube video.
1487
+ */
1488
+ youtubeVideoId?: string | null;
1008
1489
  }
1009
1490
  namespace Metadata {
1010
1491
  interface Collection {
@@ -1019,7 +1500,7 @@ export declare namespace RuleUpdateResponse {
1019
1500
  /**
1020
1501
  * Blockchain network of the collection.
1021
1502
  */
1022
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1503
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1023
1504
  }
1024
1505
  /**
1025
1506
  * Object containing details for the call-to-action.
@@ -1084,34 +1565,85 @@ export declare namespace RuleUpdateResponse {
1084
1565
  */
1085
1566
  id: string;
1086
1567
  }
1087
- interface Range {
1568
+ /**
1569
+ * Liquidity pool details.
1570
+ */
1571
+ interface Liquidity {
1088
1572
  /**
1089
- * Reward amount for this range.
1573
+ * Calculation type of the liquidity pool.
1090
1574
  */
1091
- amount: number;
1575
+ calculationType?: 'fixed' | 'custom';
1092
1576
  /**
1093
- * End value of the range.
1577
+ * Custom function to calculate the the reward amount based on the liquidity
1578
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1579
+ * USD.
1094
1580
  */
1095
- endRange: number;
1581
+ customFunction?: string;
1096
1582
  /**
1097
- * Start value of the range.
1583
+ * Liquidity provided per day in USD
1098
1584
  */
1099
- startRange: number;
1100
- }
1101
- /**
1102
- * Object defining referral requirements.
1103
- */
1104
- interface ReferralRequirements {
1585
+ liquidityPerDay?: number;
1105
1586
  /**
1106
- * Flag indicating if achieving points is required.
1587
+ * Blockchain network of the liquidity pool.
1107
1588
  */
1108
- achievePoints?: boolean | null;
1589
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1109
1590
  /**
1110
- * Flag indicating if completing the profile is required.
1591
+ * Indicates if only in-range liquidity is rewarded.
1111
1592
  */
1112
- completeProfile?: boolean | null;
1593
+ onlyRewardInRangeLiquidity?: boolean;
1113
1594
  /**
1114
- * Flag indicating if connecting Discord is required.
1595
+ * Array of liquidity pools associated with the rule.
1596
+ */
1597
+ pools?: Array<Liquidity.Pool>;
1598
+ /**
1599
+ * Protocol of the liquidity pool.
1600
+ */
1601
+ protocol?: string;
1602
+ }
1603
+ namespace Liquidity {
1604
+ interface Pool {
1605
+ /**
1606
+ * Unique identifier of the liquidity pool.
1607
+ */
1608
+ id: string;
1609
+ }
1610
+ }
1611
+ interface Range {
1612
+ /**
1613
+ * Reward amount for this range.
1614
+ */
1615
+ amount: number;
1616
+ /**
1617
+ * End value of the range.
1618
+ */
1619
+ endRange: number;
1620
+ /**
1621
+ * Start value of the range.
1622
+ */
1623
+ startRange: number;
1624
+ /**
1625
+ * ID of the loyalty badge for this range.
1626
+ */
1627
+ loyaltyBadgeId?: string;
1628
+ /**
1629
+ * Amount of the loyalty multiplier for this range.
1630
+ */
1631
+ loyaltyMultiplierAmount?: number;
1632
+ }
1633
+ /**
1634
+ * Object defining referral requirements.
1635
+ */
1636
+ interface ReferralRequirements {
1637
+ /**
1638
+ * Flag indicating if achieving points is required.
1639
+ */
1640
+ achievePoints?: boolean | null;
1641
+ /**
1642
+ * Flag indicating if completing the profile is required.
1643
+ */
1644
+ completeProfile?: boolean | null;
1645
+ /**
1646
+ * Flag indicating if connecting Discord is required.
1115
1647
  */
1116
1648
  connectDiscord?: boolean | null;
1117
1649
  /**
@@ -1140,18 +1672,14 @@ export declare namespace RuleUpdateResponse {
1140
1672
  * Object containing details of the associated smart contract.
1141
1673
  */
1142
1674
  interface SmartContract {
1143
- /**
1144
- * ABI of the smart contract.
1145
- */
1146
- abi?: string | null;
1147
1675
  /**
1148
1676
  * Mapping of addresses for the smart contract.
1149
1677
  */
1150
1678
  addressMapping?: string | null;
1151
1679
  /**
1152
- * Array of bonus details applied to the rule.
1680
+ * Object containing details of the amount multiplier from the event.
1153
1681
  */
1154
- bonus?: Array<SmartContract.Bonus> | null;
1682
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1155
1683
  /**
1156
1684
  * ID of the smart contract.
1157
1685
  */
@@ -1160,157 +1688,967 @@ export declare namespace RuleUpdateResponse {
1160
1688
  * Criteria to evaluate the smart contract event.
1161
1689
  */
1162
1690
  criteria?: 'everyEvent' | 'byParameter' | null;
1163
- /**
1164
- * Time range applied to the rule.
1165
- */
1166
- customRange?: SmartContract.CustomRange | null;
1167
1691
  /**
1168
1692
  * Event emitted by the smart contract.
1169
1693
  */
1170
1694
  event?: string | null;
1171
- /**
1172
- * Maximum value allowed for the parameter.
1173
- */
1174
- max?: number | null;
1175
1695
  /**
1176
1696
  * Array of parameters for the smart contract.
1177
1697
  */
1178
1698
  params?: Array<SmartContract.Param> | null;
1179
1699
  /**
1180
- * Flag indicating if a bonus is applied.
1700
+ * Type of the smart contract interaction.
1701
+ */
1702
+ type?: 'function' | 'event' | null;
1703
+ }
1704
+ namespace SmartContract {
1705
+ /**
1706
+ * Object containing details of the amount multiplier from the event.
1707
+ */
1708
+ interface AmountMultiplier {
1709
+ /**
1710
+ * Mapping of the value for the smart contract.
1711
+ */
1712
+ valueMapping?: string | null;
1713
+ }
1714
+ interface Param {
1715
+ /**
1716
+ * Condition to check for the parameter.
1717
+ */
1718
+ condition?: string | null;
1719
+ /**
1720
+ * Name of the smart contract parameter.
1721
+ */
1722
+ name?: string | null;
1723
+ /**
1724
+ * Value of the parameter.
1725
+ */
1726
+ value?: string | null;
1727
+ }
1728
+ }
1729
+ interface SnapshotProposal {
1730
+ /**
1731
+ * ID of the snapshot proposal.
1732
+ */
1733
+ id: string;
1734
+ /**
1735
+ * Space associated with the snapshot proposal.
1736
+ */
1737
+ space: string;
1738
+ }
1739
+ interface StreakArray {
1740
+ /**
1741
+ * Reward amount for achieving the streak milestone.
1742
+ */
1743
+ streakAmount: number;
1744
+ /**
1745
+ * Milestone required to achieve the streak.
1746
+ */
1747
+ streakMilestone: number;
1748
+ }
1749
+ /**
1750
+ * Metadata for swap loyalty rules
1751
+ */
1752
+ interface Swap {
1753
+ from?: Swap.From;
1754
+ provider?: 'any' | 'relay' | 'lifi';
1755
+ relayReferrerId?: string;
1756
+ requireCrossChainSwap?: boolean;
1757
+ to?: Swap.To;
1758
+ }
1759
+ namespace Swap {
1760
+ interface From {
1761
+ chain?: 'any' | number | string;
1762
+ mode?: 'any' | 'specific';
1763
+ tokens?: Array<From.Token>;
1764
+ trackAmount?: boolean;
1765
+ }
1766
+ namespace From {
1767
+ interface Token {
1768
+ address: string;
1769
+ chainId: string;
1770
+ }
1771
+ }
1772
+ interface To {
1773
+ chain?: 'any' | number | string;
1774
+ mode?: 'any' | 'specific';
1775
+ tokens?: Array<To.Token>;
1776
+ trackAmount?: boolean;
1777
+ }
1778
+ namespace To {
1779
+ interface Token {
1780
+ address: string;
1781
+ chainId: string;
1782
+ }
1783
+ }
1784
+ }
1785
+ }
1786
+ }
1787
+ export interface RuleListResponse {
1788
+ data: Array<RuleListResponse.Data>;
1789
+ hasNextPage: boolean;
1790
+ }
1791
+ export declare namespace RuleListResponse {
1792
+ interface Data {
1793
+ /**
1794
+ * Unique identifier for the loyalty rule
1795
+ */
1796
+ id: string;
1797
+ /**
1798
+ * Amount associated with the loyalty rule
1799
+ */
1800
+ amount: number | null;
1801
+ /**
1802
+ * Timestamp when the loyalty rule was created
1803
+ */
1804
+ createdAt: string;
1805
+ /**
1806
+ * Timestamp when the loyalty rule was deleted (if applicable)
1807
+ */
1808
+ deletedAt: string | null;
1809
+ /**
1810
+ * Description of the loyalty rule
1811
+ */
1812
+ description: string;
1813
+ /**
1814
+ * End time of the loyalty rule
1815
+ */
1816
+ endTime: string | null;
1817
+ /**
1818
+ * Frequency of the loyalty rule
1819
+ */
1820
+ frequency: string;
1821
+ /**
1822
+ * Chains attached to the loyalty rule
1823
+ */
1824
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1825
+ /**
1826
+ * Name of the loyalty rule
1827
+ */
1828
+ name: string;
1829
+ /**
1830
+ * Unique identifier for the organization
1831
+ */
1832
+ organizationId: string;
1833
+ /**
1834
+ * Type of the reward
1835
+ */
1836
+ rewardType: 'points' | 'multiplier' | 'badge';
1837
+ /**
1838
+ * Start time of the loyalty rule
1839
+ */
1840
+ startTime: string | null;
1841
+ /**
1842
+ * Type of the loyalty rule
1843
+ */
1844
+ type: string;
1845
+ /**
1846
+ * Timestamp when the loyalty rule was last updated
1847
+ */
1848
+ updatedAt: string;
1849
+ /**
1850
+ * Unique identifier for the website
1851
+ */
1852
+ websiteId: string;
1853
+ /**
1854
+ * Optional address of the collection
1855
+ */
1856
+ collectionAddress?: string;
1857
+ /**
1858
+ * URL of the media associated with the loyalty rule
1859
+ */
1860
+ mediaUrl?: string | null;
1861
+ /**
1862
+ * Optional metadata for the loyalty rule
1863
+ */
1864
+ metadata?: {
1865
+ [key: string]: Data.Metadata;
1866
+ };
1867
+ }
1868
+ namespace Data {
1869
+ interface LoyaltyRuleChain {
1870
+ /**
1871
+ * Unique identifier for the rule chain
1872
+ */
1873
+ id: string;
1874
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1875
+ /**
1876
+ * Unique identifier for the loyalty rule
1877
+ */
1878
+ loyaltyRuleId: string;
1879
+ /**
1880
+ * Name of the rule chain
1881
+ */
1882
+ name: string;
1883
+ /**
1884
+ * Type of the operator. AND if all conditions must be met, OR if any condition can
1885
+ * be met.
1886
+ */
1887
+ operatorType?: 'AND' | 'OR';
1888
+ }
1889
+ namespace LoyaltyRuleChain {
1890
+ interface LoyaltyCondition {
1891
+ /**
1892
+ * Unique identifier for the condition
1893
+ */
1894
+ id: string;
1895
+ /**
1896
+ * Amount of the condition
1897
+ */
1898
+ amount: number | null;
1899
+ association: Array<LoyaltyCondition.Association>;
1900
+ /**
1901
+ * URL of the CSV file
1902
+ */
1903
+ csvUrl: string | null;
1904
+ /**
1905
+ * Description of the condition
1906
+ */
1907
+ description: string | null;
1908
+ /**
1909
+ * Number of times the condition must be met
1910
+ */
1911
+ repeatCount: number | null;
1912
+ /**
1913
+ * Number of times the condition must be met
1914
+ */
1915
+ requiredCount: number | null;
1916
+ /**
1917
+ * Type of the condition
1918
+ */
1919
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1920
+ }
1921
+ namespace LoyaltyCondition {
1922
+ interface Association {
1923
+ /**
1924
+ * Unique identifier for the association
1925
+ */
1926
+ id: string;
1927
+ /**
1928
+ * Unique identifier for the loyalty badge
1929
+ */
1930
+ loyaltyBadgeId: string | null;
1931
+ loyaltyCurrency: Association.LoyaltyCurrency | null;
1932
+ /**
1933
+ * Unique identifier for the loyalty currency
1934
+ */
1935
+ loyaltyCurrencyId: string | null;
1936
+ loyaltyRule: Association.LoyaltyRule | null;
1937
+ /**
1938
+ * Unique identifier for the loyalty rule group
1939
+ */
1940
+ loyaltyRuleGroupId: string | null;
1941
+ /**
1942
+ * Unique identifier for the loyalty rule
1943
+ */
1944
+ loyaltyRuleId: string | null;
1945
+ }
1946
+ namespace Association {
1947
+ interface LoyaltyCurrency {
1948
+ /**
1949
+ * Name of the loyalty currency
1950
+ */
1951
+ name: string;
1952
+ }
1953
+ interface LoyaltyRule {
1954
+ /**
1955
+ * Name of the loyalty rule
1956
+ */
1957
+ name: string;
1958
+ }
1959
+ }
1960
+ }
1961
+ }
1962
+ interface Metadata {
1963
+ /**
1964
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
1965
+ * only.
1966
+ */
1967
+ allowMultipleRedemptions?: boolean;
1968
+ /**
1969
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
1970
+ * any rule completions count as check-in.
1971
+ */
1972
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
1973
+ /**
1974
+ * Number of tokens per batch.
1975
+ */
1976
+ batchSize?: number | null;
1977
+ /**
1978
+ * Text displayed on the action button.
1979
+ */
1980
+ buttonText?: string | null;
1981
+ /**
1982
+ * Flag indicating if commenting is required.
1983
+ */
1984
+ checkComment?: boolean | null;
1985
+ /**
1986
+ * Flag indicating if liking the post is required.
1987
+ */
1988
+ checkLike?: boolean | null;
1989
+ /**
1990
+ * Flag indicating if reposting is required.
1991
+ */
1992
+ checkRepost?: boolean | null;
1993
+ /**
1994
+ * Text to check in the Twitter post, username, or bio.
1995
+ */
1996
+ checkText?: string | Array<string> | null;
1997
+ /**
1998
+ * Array of collections associated with the rule.
1999
+ */
2000
+ collection?: Array<Metadata.Collection>;
2001
+ /**
2002
+ * Conditions for completing the profile.
2003
+ */
2004
+ completeProfileConditions?: {
2005
+ [key: string]: boolean;
2006
+ } | null;
2007
+ /**
2008
+ * Description of the external rule condition (only for external rules)
2009
+ */
2010
+ conditionDescription?: string;
2011
+ /**
2012
+ * Object containing details for the call-to-action.
2013
+ */
2014
+ cta?: Metadata.Cta | null;
2015
+ /**
2016
+ * API key for custom rewards integration.
2017
+ */
2018
+ customRewardsApiKey?: string;
2019
+ /**
2020
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2021
+ */
2022
+ directRpc?: boolean;
2023
+ /**
2024
+ * Array of Discord servers, channels, and roles to join.
2025
+ */
2026
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2027
+ /**
2028
+ * Array of drip quests required to complete the rule.
2029
+ */
2030
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2031
+ /**
2032
+ * Flag indicating whether joining Discord servers is required.
2033
+ */
2034
+ enableJoinDiscordServers?: boolean | null;
2035
+ /**
2036
+ * Flag indicating whether streaks are enabled.
2037
+ */
2038
+ enableStreaks?: boolean | null;
2039
+ /**
2040
+ * Flag indicating whether the verified multiplier is enabled.
2041
+ */
2042
+ enableVerifiedMultiplier?: boolean;
2043
+ /**
2044
+ * Type of ERC20 token for the loyalty rule.
2045
+ */
2046
+ erc20Type?: 'erc20' | 'native';
2047
+ /**
2048
+ * Fill source of the order for the token sale
2049
+ */
2050
+ fillSource?: string;
2051
+ /**
2052
+ * Percentage reward given to a user for their first referral.
2053
+ */
2054
+ firstReferralReward?: number | null;
2055
+ /**
2056
+ * Name of the GitHub branch to check for PR merge.
2057
+ */
2058
+ githubBranchName?: string | null;
2059
+ /**
2060
+ * URL of the GitHub repository to check for star.
2061
+ */
2062
+ githubRepoUrl?: string | null;
2063
+ /**
2064
+ * Flag indicating whether the fill source is included.
2065
+ */
2066
+ hasFillSource?: boolean;
2067
+ /**
2068
+ * Indicates if the item has never been sold.
2069
+ */
2070
+ hasNeverSold?: boolean;
2071
+ /**
2072
+ * Indicates if the full royalty has been paid for items.
2073
+ */
2074
+ hasPaidFullRoyalty?: boolean;
2075
+ /**
2076
+ * Flag indicating if the sale currency is included.
2077
+ */
2078
+ hasSaleCurrency?: boolean;
2079
+ /**
2080
+ * Indicates if the user has a verified Twitter account.
2081
+ */
2082
+ hasVerifiedTwitter?: boolean;
2083
+ /**
2084
+ * URL of the image associated with the rule.
2085
+ */
2086
+ imageUrl?: string | null;
2087
+ /**
2088
+ * If enabled, the first transaction done on the platform will complete this rule
2089
+ */
2090
+ isCheckInOnEveryTxn?: boolean;
2091
+ /**
2092
+ * Indicates if the multiplier has been applied to rewards.
2093
+ */
2094
+ isMultiplierApplied?: boolean;
2095
+ /**
2096
+ * Flag indicating if the rule is restricted to new users.
2097
+ */
2098
+ isRestrictedToNewUsers?: boolean;
2099
+ /**
2100
+ * Flag indicating if rewards are applied retroactively.
2101
+ */
2102
+ isRetroactive?: boolean | null;
2103
+ /**
2104
+ * Flag indicating if the token hold multiplier is applied.
2105
+ */
2106
+ isTokenHoldMultiplier?: boolean;
2107
+ /**
2108
+ * Optional link associated with the metadata.
2109
+ */
2110
+ link?: string | null;
2111
+ /**
2112
+ * Liquidity pool details.
2113
+ */
2114
+ liquidity?: Metadata.Liquidity;
2115
+ /**
2116
+ * Maximum quantity constraint for token holding.
2117
+ */
2118
+ maxQty?: number | null;
2119
+ /**
2120
+ * Minimum follower count for the rule. Accepts both number and string values.
2121
+ */
2122
+ minimumFollowerCount?: number | null;
2123
+ /**
2124
+ * Minimum quantity constraint for token holding.
2125
+ */
2126
+ minQty?: number | null;
2127
+ /**
2128
+ * Array of loyalty currency IDs used for multipliers.
2129
+ */
2130
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2131
+ /**
2132
+ * Flag indicating whether to include only known users.
2133
+ */
2134
+ onlyKnownUsers?: boolean;
2135
+ /**
2136
+ * Flag indicating whether to include only native tokens.
2137
+ */
2138
+ onlyNative?: boolean;
2139
+ /**
2140
+ * Flag indicating whether to include only non-listed items.
2141
+ */
2142
+ onlyNonListed?: boolean;
2143
+ /**
2144
+ * Indicates if only existing users are rewarded.
2145
+ */
2146
+ onlyRewardExistingUser?: boolean;
2147
+ /**
2148
+ * give points for only one token ownership per contract
2149
+ */
2150
+ onlyRewardSingleTokenOwnership?: boolean | null;
2151
+ /**
2152
+ * Pre-generated text template that will be used to prefill the post content.
2153
+ */
2154
+ preGeneratedPostText?: string | null;
2155
+ /**
2156
+ * Promotional code associated with the rule.
2157
+ */
2158
+ promoCode?: string;
2159
+ /**
2160
+ * URL of the CSV file containing promo codes.
2161
+ */
2162
+ promoCodeCsvUrl?: string;
2163
+ /**
2164
+ * Numbers of the promotional code to be generated.
2165
+ */
2166
+ promoCodeLength?: number | null;
2167
+ /**
2168
+ * Type of the promotional code.
2169
+ */
2170
+ promoCodeType?: 'code' | 'csv' | 'generate';
2171
+ /**
2172
+ * Array defining ranges and corresponding rewards.
2173
+ */
2174
+ range?: Array<Metadata.Range>;
2175
+ /**
2176
+ * ID of the Reddit post.
2177
+ */
2178
+ redditPostId?: string | null;
2179
+ /**
2180
+ * Object defining referral requirements.
2181
+ */
2182
+ referralRequirements?: Metadata.ReferralRequirements | null;
2183
+ /**
2184
+ * Lump sum reward given to a referrer.
2185
+ */
2186
+ referrerReward?: number | null;
2187
+ /**
2188
+ * Loyalty currency ID of the referrer reward.
2189
+ */
2190
+ referrerRewardLoyaltyCurrencyId?: string | null;
2191
+ /**
2192
+ * Flag indicating if the post link is required.
2193
+ */
2194
+ requirePostLink?: boolean | null;
2195
+ /**
2196
+ * Flag indicating if media metadata is required.
1181
2197
  */
1182
- withBonus?: boolean | null;
2198
+ requirePostMediaLink?: boolean | null;
2199
+ /**
2200
+ * If enabled, the progress tracking row will be deleted after a successful claim,
2201
+ * allowing the user to re-earn the rule.
2202
+ */
2203
+ resetProgressOnClaim?: boolean | null;
2204
+ /**
2205
+ * Flag indicating if the rule can also reward badges per range.
2206
+ */
2207
+ rewardBadgePerRange?: boolean;
2208
+ /**
2209
+ * Flag indicating if the reward is rewarded by batch.
2210
+ */
2211
+ rewardByBatch?: boolean | null;
2212
+ /**
2213
+ * Criteria to evaluate the reward.
2214
+ */
2215
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2216
+ /**
2217
+ * Flag indicating if the reward is rewarded per action.
2218
+ */
2219
+ rewardPerAction?: boolean | null;
2220
+ /**
2221
+ * Flag indicating if rewards are given per impression.
2222
+ */
2223
+ rewardPerImpression?: boolean | null;
2224
+ /**
2225
+ * Flag indicating if the rule should reward based on value of traded tokens
2226
+ * instead of count.
2227
+ */
2228
+ rewardPerValue?: boolean;
2229
+ /**
2230
+ * Flag indicating if the rule should reward quality posts.
2231
+ */
2232
+ rewardQualityPosts?: boolean;
2233
+ robinhoodSymbols?: Array<string> | null;
2234
+ /**
2235
+ * Wallet address of the user can only be used if userId is not provided
2236
+ */
2237
+ royaltyAddress?: string;
2238
+ /**
2239
+ * Royalty percentage of the item.
2240
+ */
2241
+ royaltyPercentage?: number;
2242
+ /**
2243
+ * Currency associated with sales.
2244
+ */
2245
+ saleCurrency?: string;
2246
+ /**
2247
+ * Percentage reward given for a second-level referral.
2248
+ */
2249
+ secondReferralReward?: number | null;
2250
+ /**
2251
+ * Flag indicating if the multiplier is skipped.
2252
+ */
2253
+ skipMultiplier?: boolean | null;
2254
+ /**
2255
+ * Object containing details of the associated smart contract.
2256
+ */
2257
+ smartContract?: Metadata.SmartContract;
2258
+ /**
2259
+ * Array of snapshot proposals for the rule.
2260
+ */
2261
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2262
+ /**
2263
+ * Social media platform associated with the rule.
2264
+ */
2265
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
2266
+ /**
2267
+ * URL of the social platform's logo.
2268
+ */
2269
+ socialPlatformLogo?: string | null;
2270
+ /**
2271
+ * Name of the social platform.
2272
+ */
2273
+ socialPlatformName?: string | null;
2274
+ /**
2275
+ * ID of the Steam app.
2276
+ */
2277
+ steamAppId?: string | null;
2278
+ /**
2279
+ * Array of streak milestones and corresponding rewards.
2280
+ */
2281
+ streakArray?: Array<Metadata.StreakArray> | null;
2282
+ /**
2283
+ * Metadata for swap loyalty rules
2284
+ */
2285
+ swap?: Metadata.Swap;
2286
+ /**
2287
+ * ID of the Telegram channel.
2288
+ */
2289
+ telegramChannelId?: string | null;
2290
+ /**
2291
+ * Time delay in seconds to verify actions.
2292
+ */
2293
+ timeDelayToVerifySeconds?: string | number | null;
2294
+ /**
2295
+ * Flag indicating if all contracts are tracked.
2296
+ */
2297
+ trackAllContracts?: boolean | null;
2298
+ /**
2299
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2300
+ * completed once the progress is 100%.
2301
+ */
2302
+ trackProgress?: boolean | null;
2303
+ /**
2304
+ * URL of the associated Twitter account.
2305
+ */
2306
+ twitterAccountUrl?: string;
2307
+ /**
2308
+ * Hashtag associated with the Twitter post.
2309
+ */
2310
+ twitterHashtag?: string;
2311
+ /**
2312
+ * URL of the associated Twitter post.
2313
+ */
2314
+ twitterPostUrl?: string;
2315
+ /**
2316
+ * Unique identifier of the Twitter user.
2317
+ */
2318
+ twitterUserId?: string;
2319
+ /**
2320
+ * Twitter username of the user.
2321
+ */
2322
+ twitterUsername?: string;
2323
+ /**
2324
+ * Minimum length of the verification text.
2325
+ */
2326
+ verificationTextMinimumLength?: number | null;
2327
+ /**
2328
+ * Multiplier applied to rewards for verified users.
2329
+ */
2330
+ verifiedMultiplier?: number | null;
2331
+ /**
2332
+ * Placeholder text for verification input fields.
2333
+ */
2334
+ verifyPlaceHolderText?: string | null;
2335
+ /**
2336
+ * Type of wallet associated with the rule.
2337
+ */
2338
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
2339
+ /**
2340
+ * ID of the Youtube channel.
2341
+ */
2342
+ youtubeChannelId?: string | null;
2343
+ /**
2344
+ * ID of the Youtube video.
2345
+ */
2346
+ youtubeVideoId?: string | null;
2347
+ }
2348
+ namespace Metadata {
2349
+ interface Collection {
2350
+ /**
2351
+ * Blockchain address of the collection.
2352
+ */
2353
+ address?: string;
2354
+ /**
2355
+ * Multiplier applied to the rewards for this collection.
2356
+ */
2357
+ multiplier?: number;
2358
+ /**
2359
+ * Blockchain network of the collection.
2360
+ */
2361
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2362
+ }
2363
+ /**
2364
+ * Object containing details for the call-to-action.
2365
+ */
2366
+ interface Cta {
2367
+ /**
2368
+ * Link for the call-to-action.
2369
+ */
2370
+ href?: string | null;
2371
+ /**
2372
+ * Label for the call-to-action.
2373
+ */
2374
+ label?: string | null;
2375
+ }
2376
+ interface DiscordServersToJoin {
2377
+ /**
2378
+ * ID of the Discord server to join.
2379
+ */
2380
+ id?: string;
2381
+ /**
2382
+ * Array of Discord channels to join.
2383
+ */
2384
+ channels?: Array<DiscordServersToJoin.Channel>;
2385
+ /**
2386
+ * Array of roles to assign in the Discord server.
2387
+ */
2388
+ roles?: Array<DiscordServersToJoin.Role>;
2389
+ }
2390
+ namespace DiscordServersToJoin {
2391
+ interface Channel {
2392
+ /**
2393
+ * ID of the Discord channel.
2394
+ */
2395
+ id?: string;
2396
+ /**
2397
+ * Array of emojis used in the channel.
2398
+ */
2399
+ emojis?: Array<Channel.Emoji>;
2400
+ /**
2401
+ * Phrase of text to be present in the discord message
2402
+ */
2403
+ text?: string;
2404
+ }
2405
+ namespace Channel {
2406
+ interface Emoji {
2407
+ /**
2408
+ * ID of the emoji used in the channel.
2409
+ */
2410
+ id?: string;
2411
+ }
2412
+ }
2413
+ interface Role {
2414
+ /**
2415
+ * ID of the role in the Discord server.
2416
+ */
2417
+ id: string;
2418
+ }
2419
+ }
2420
+ interface DripQuestsToComplete {
2421
+ /**
2422
+ * ID of the drip quest to complete.
2423
+ */
2424
+ id: string;
2425
+ }
1183
2426
  /**
1184
- * Flag indicating if a custom range is applied.
2427
+ * Liquidity pool details.
1185
2428
  */
1186
- withCustomRange?: boolean | null;
2429
+ interface Liquidity {
2430
+ /**
2431
+ * Calculation type of the liquidity pool.
2432
+ */
2433
+ calculationType?: 'fixed' | 'custom';
2434
+ /**
2435
+ * Custom function to calculate the the reward amount based on the liquidity
2436
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2437
+ * USD.
2438
+ */
2439
+ customFunction?: string;
2440
+ /**
2441
+ * Liquidity provided per day in USD
2442
+ */
2443
+ liquidityPerDay?: number;
2444
+ /**
2445
+ * Blockchain network of the liquidity pool.
2446
+ */
2447
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2448
+ /**
2449
+ * Indicates if only in-range liquidity is rewarded.
2450
+ */
2451
+ onlyRewardInRangeLiquidity?: boolean;
2452
+ /**
2453
+ * Array of liquidity pools associated with the rule.
2454
+ */
2455
+ pools?: Array<Liquidity.Pool>;
2456
+ /**
2457
+ * Protocol of the liquidity pool.
2458
+ */
2459
+ protocol?: string;
2460
+ }
2461
+ namespace Liquidity {
2462
+ interface Pool {
2463
+ /**
2464
+ * Unique identifier of the liquidity pool.
2465
+ */
2466
+ id: string;
2467
+ }
2468
+ }
2469
+ interface Range {
2470
+ /**
2471
+ * Reward amount for this range.
2472
+ */
2473
+ amount: number;
2474
+ /**
2475
+ * End value of the range.
2476
+ */
2477
+ endRange: number;
2478
+ /**
2479
+ * Start value of the range.
2480
+ */
2481
+ startRange: number;
2482
+ /**
2483
+ * ID of the loyalty badge for this range.
2484
+ */
2485
+ loyaltyBadgeId?: string;
2486
+ /**
2487
+ * Amount of the loyalty multiplier for this range.
2488
+ */
2489
+ loyaltyMultiplierAmount?: number;
2490
+ }
1187
2491
  /**
1188
- * Flag indicating if a maximum limit is applied.
2492
+ * Object defining referral requirements.
1189
2493
  */
1190
- withMax?: boolean | null;
1191
- }
1192
- namespace SmartContract {
1193
- interface Bonus {
2494
+ interface ReferralRequirements {
1194
2495
  /**
1195
- * Amount of the bonus.
2496
+ * Flag indicating if achieving points is required.
1196
2497
  */
1197
- amount?: number | null;
2498
+ achievePoints?: boolean | null;
2499
+ /**
2500
+ * Flag indicating if completing the profile is required.
2501
+ */
2502
+ completeProfile?: boolean | null;
2503
+ /**
2504
+ * Flag indicating if connecting Discord is required.
2505
+ */
2506
+ connectDiscord?: boolean | null;
2507
+ /**
2508
+ * Flag indicating if connecting email is required.
2509
+ */
2510
+ connectEmail?: boolean | null;
1198
2511
  /**
1199
- * Number of times the bonus is applied.
2512
+ * Flag indicating if connecting Twitter is required.
1200
2513
  */
1201
- count?: number | null;
2514
+ connectTwitter?: boolean | null;
2515
+ points?: ReferralRequirements.Points | null;
2516
+ }
2517
+ namespace ReferralRequirements {
2518
+ interface Points {
2519
+ /**
2520
+ * Points required for referral.
2521
+ */
2522
+ amount?: number | null;
2523
+ /**
2524
+ * ID of the loyalty currency for referral.
2525
+ */
2526
+ loyaltyCurrecyId?: string | null;
2527
+ }
1202
2528
  }
1203
2529
  /**
1204
- * Time range applied to the rule.
2530
+ * Object containing details of the associated smart contract.
1205
2531
  */
1206
- interface CustomRange {
2532
+ interface SmartContract {
2533
+ /**
2534
+ * Mapping of addresses for the smart contract.
2535
+ */
2536
+ addressMapping?: string | null;
2537
+ /**
2538
+ * Object containing details of the amount multiplier from the event.
2539
+ */
2540
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2541
+ /**
2542
+ * ID of the smart contract.
2543
+ */
2544
+ contractId?: string | null;
2545
+ /**
2546
+ * Criteria to evaluate the smart contract event.
2547
+ */
2548
+ criteria?: 'everyEvent' | 'byParameter' | null;
2549
+ /**
2550
+ * Event emitted by the smart contract.
2551
+ */
2552
+ event?: string | null;
1207
2553
  /**
1208
- * End time of the custom range.
2554
+ * Array of parameters for the smart contract.
1209
2555
  */
1210
- endsAt?: string | null;
2556
+ params?: Array<SmartContract.Param> | null;
1211
2557
  /**
1212
- * Start time of the custom range.
2558
+ * Type of the smart contract interaction.
1213
2559
  */
1214
- startsAt?: string | null;
2560
+ type?: 'function' | 'event' | null;
1215
2561
  }
1216
- interface Param {
2562
+ namespace SmartContract {
1217
2563
  /**
1218
- * Condition to check for the parameter.
2564
+ * Object containing details of the amount multiplier from the event.
1219
2565
  */
1220
- condition?: string | null;
2566
+ interface AmountMultiplier {
2567
+ /**
2568
+ * Mapping of the value for the smart contract.
2569
+ */
2570
+ valueMapping?: string | null;
2571
+ }
2572
+ interface Param {
2573
+ /**
2574
+ * Condition to check for the parameter.
2575
+ */
2576
+ condition?: string | null;
2577
+ /**
2578
+ * Name of the smart contract parameter.
2579
+ */
2580
+ name?: string | null;
2581
+ /**
2582
+ * Value of the parameter.
2583
+ */
2584
+ value?: string | null;
2585
+ }
2586
+ }
2587
+ interface SnapshotProposal {
1221
2588
  /**
1222
- * Name of the smart contract parameter.
2589
+ * ID of the snapshot proposal.
1223
2590
  */
1224
- name?: string | null;
2591
+ id: string;
1225
2592
  /**
1226
- * Value of the parameter.
2593
+ * Space associated with the snapshot proposal.
1227
2594
  */
1228
- value?: string | null;
2595
+ space: string;
2596
+ }
2597
+ interface StreakArray {
2598
+ /**
2599
+ * Reward amount for achieving the streak milestone.
2600
+ */
2601
+ streakAmount: number;
2602
+ /**
2603
+ * Milestone required to achieve the streak.
2604
+ */
2605
+ streakMilestone: number;
1229
2606
  }
1230
- }
1231
- interface SnapshotProposal {
1232
- /**
1233
- * ID of the snapshot proposal.
1234
- */
1235
- id: string;
1236
- /**
1237
- * Space associated with the snapshot proposal.
1238
- */
1239
- space: string;
1240
- }
1241
- interface StreakArray {
1242
- /**
1243
- * Reward amount for achieving the streak milestone.
1244
- */
1245
- streakAmount: number;
1246
2607
  /**
1247
- * Milestone required to achieve the streak.
2608
+ * Metadata for swap loyalty rules
1248
2609
  */
1249
- streakMilestone: number;
2610
+ interface Swap {
2611
+ from?: Swap.From;
2612
+ provider?: 'any' | 'relay' | 'lifi';
2613
+ relayReferrerId?: string;
2614
+ requireCrossChainSwap?: boolean;
2615
+ to?: Swap.To;
2616
+ }
2617
+ namespace Swap {
2618
+ interface From {
2619
+ chain?: 'any' | number | string;
2620
+ mode?: 'any' | 'specific';
2621
+ tokens?: Array<From.Token>;
2622
+ trackAmount?: boolean;
2623
+ }
2624
+ namespace From {
2625
+ interface Token {
2626
+ address: string;
2627
+ chainId: string;
2628
+ }
2629
+ }
2630
+ interface To {
2631
+ chain?: 'any' | number | string;
2632
+ mode?: 'any' | 'specific';
2633
+ tokens?: Array<To.Token>;
2634
+ trackAmount?: boolean;
2635
+ }
2636
+ namespace To {
2637
+ interface Token {
2638
+ address: string;
2639
+ chainId: string;
2640
+ }
2641
+ }
2642
+ }
1250
2643
  }
1251
2644
  }
1252
2645
  }
1253
- export interface RuleListResponse {
1254
- data: Array<RuleListResponse.Data>;
1255
- hasNextPage: boolean;
1256
- }
1257
- export declare namespace RuleListResponse {
1258
- /**
1259
- * Schema for a loyalty rule
1260
- */
1261
- interface Data {
1262
- /**
1263
- * Unique identifier for the loyalty rule
1264
- */
1265
- id: string;
1266
- /**
1267
- * Amount associated with the loyalty rule
1268
- */
1269
- amount: number;
1270
- /**
1271
- * Timestamp when the loyalty rule was created
1272
- */
1273
- createdAt: string;
1274
- /**
1275
- * Timestamp when the loyalty rule was deleted (if applicable)
1276
- */
1277
- deletedAt: string | null;
1278
- /**
1279
- * Frequency of the loyalty rule
1280
- */
1281
- frequency: string;
1282
- /**
1283
- * Unique identifier for the organization
1284
- */
1285
- organizationId: string;
1286
- /**
1287
- * Type of the loyalty rule
1288
- */
1289
- type: string;
1290
- /**
1291
- * Timestamp when the loyalty rule was last updated
1292
- */
1293
- updatedAt: string;
1294
- /**
1295
- * Unique identifier for the website
1296
- */
1297
- websiteId: string;
1298
- /**
1299
- * Optional address of the collection
1300
- */
1301
- collectionAddress?: string;
1302
- /**
1303
- * Optional metadata for the loyalty rule
1304
- */
1305
- metadata?: Record<string, unknown>;
1306
- }
1307
- }
1308
2646
  export interface RuleDeleteResponse {
1309
2647
  id: string;
1310
2648
  deletedAt: string;
1311
2649
  }
1312
2650
  export interface RuleCompleteResponse {
1313
- message: string;
2651
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1314
2652
  }
1315
2653
  export interface RuleGetStatusResponse {
1316
2654
  data: Array<RuleGetStatusResponse.Data>;
@@ -1318,9 +2656,110 @@ export interface RuleGetStatusResponse {
1318
2656
  export declare namespace RuleGetStatusResponse {
1319
2657
  interface Data {
1320
2658
  loyaltyRuleId: string;
1321
- status: 'pending' | 'processing' | 'completed' | 'failed';
1322
2659
  userId: string;
2660
+ /**
2661
+ * The ID of the loyalty rule status for the Progress object
2662
+ */
2663
+ id?: string;
2664
+ createdAt?: string;
2665
+ fulfilledAt?: string | null;
2666
+ /**
2667
+ * Categorized examples of messages that may be returned for a loyalty rule's
2668
+ * processing result.
2669
+ *
2670
+ * User Onboarding
2671
+ *
2672
+ * - Check In: "Streak successful"
2673
+ * - Complete Profile Details: "Profile not complete"
2674
+ *
2675
+ * Connect Accounts
2676
+ *
2677
+ * - Connect TikTok: "TikTok not connected"
2678
+ * - Connect Discord: "Discord not connected", "Discord request timeout"
2679
+ * - Connect X: "Twitter not connected", "Twitter not connected or content url is
2680
+ * required"
2681
+ * - Connect Email: "Email address not connected"
2682
+ * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
2683
+ * telegramUsername), please setup username in telegram and reconnect.",
2684
+ * "Telegram request rate-limited"
2685
+ * - Connect Steam: "Steam not connected"
2686
+ * - Connect Youtube: "Youtube not connected"
2687
+ *
2688
+ * Social Quests
2689
+ *
2690
+ * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
2691
+ * successfully"
2692
+ * - Post on TikTok: "TikTok post not verified"
2693
+ * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
2694
+ * "Quest Not Completed: Comment not found for the specified tweet"
2695
+ * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
2696
+ * Completed: Retweet not found for the specified tweet", "Quest Completed: You
2697
+ * have retweeted and commented on the tweet", "Quest Not Completed: You have not
2698
+ * retweeted or commented on the tweet"
2699
+ * - Follow an X Account: "Missing required parameters: twitterUserId,
2700
+ * targetUsername", "Quest Completed: You are a follower of
2701
+ * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
2702
+ * and try again in few minutes"
2703
+ * - React to an X Post: "Missing required parameters: texts, twitterUserId,
2704
+ * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
2705
+ * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
2706
+ * posts are already claimed. Please post a new tweet and try again in a few
2707
+ * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
2708
+ * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
2709
+ * not have media", "Text found in tweet"
2710
+ * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
2711
+ * not found", "Text found in bio", "Text not found in bio"
2712
+ * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
2713
+ * "User not found", "Text found in username", "Text not found in username"
2714
+ * - Comment on an X Post with Text: "Missing required parameters: texts,
2715
+ * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
2716
+ * not found in comment", "Tweet not found or could not be retrieved"
2717
+ * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
2718
+ * added"
2719
+ * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
2720
+ * please make sure you have made your subscriptions public in youtube"
2721
+ * - Get X post impressions: "You've already claimed the reward for this impression
2722
+ * range."
2723
+ * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
2724
+ * item not added"
2725
+ *
2726
+ * Complex Onchain Logic
2727
+ *
2728
+ * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
2729
+ *
2730
+ * Other
2731
+ *
2732
+ * - Answer a Quiz: "Quiz question not configured", "No question response found",
2733
+ * "Incorrect answer", "Correct answer"
2734
+ * - Answer a Poll: "Poll question not configured", "Poll response recorded"
2735
+ * - Spend in Shopify Store: "Shopify not connected"
2736
+ * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
2737
+ *
2738
+ * General
2739
+ *
2740
+ * - "Quest already completed"
2741
+ * - "Quest already completed using the same social account (${socialAccountName}),
2742
+ * with the different user."
2743
+ * - "You've already claimed the reward for this quest."
2744
+ * - "Quest not achieved, please try again."
2745
+ * - "Rule is not setup"
2746
+ * - "Request aborted due to timeout"
2747
+ * - "Google account not connected"
2748
+ * - "Claim failed: Multiplier is already active"
2749
+ */
1323
2750
  message?: string;
2751
+ organizationId?: string;
2752
+ /**
2753
+ * The progress of the loyalty rule from 0 to 100
2754
+ */
2755
+ progress?: number;
2756
+ /**
2757
+ * Status of the queued job, this is only returned if the job is queued and being
2758
+ * processed, this wil be retained for 10 minutes after the job is completed
2759
+ */
2760
+ status?: 'pending' | 'processing' | 'completed' | 'failed';
2761
+ updatedAt?: string;
2762
+ websiteId?: string;
1324
2763
  }
1325
2764
  }
1326
2765
  export interface RuleCreateParams {
@@ -1343,7 +2782,7 @@ export interface RuleCreateParams {
1343
2782
  /**
1344
2783
  * Execution frequency of the loyalty rule
1345
2784
  */
1346
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
2785
+ frequency: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1347
2786
  /**
1348
2787
  * Unique identifier for the loyalty currency
1349
2788
  */
@@ -1367,7 +2806,7 @@ export interface RuleCreateParams {
1367
2806
  /**
1368
2807
  * Type of loyalty rule being created
1369
2808
  */
1370
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
2809
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'github_repo_fork' | 'github_repo_collaborator' | 'github_merge_PR' | 'discord_role_grant' | 'connected_reddit' | 'reddit_comment' | 'robinhood_token_hold' | 'connected_instagram' | 'instagram_post' | 'instagram_follow' | 'dapps_by_gas_spent';
1371
2810
  /**
1372
2811
  * Unique identifier for the associated website
1373
2812
  */
@@ -1376,6 +2815,10 @@ export interface RuleCreateParams {
1376
2815
  * URL of the background asset to be displayed
1377
2816
  */
1378
2817
  backgroundAssetUrl?: string;
2818
+ /**
2819
+ * The type of claim for the reward
2820
+ */
2821
+ claimType?: 'manual' | 'auto' | null;
1379
2822
  /**
1380
2823
  * Blockchain address of the associated collection
1381
2824
  */
@@ -1384,6 +2827,10 @@ export interface RuleCreateParams {
1384
2827
  * List of associated collections
1385
2828
  */
1386
2829
  collections?: Array<RuleCreateParams.Collection> | null;
2830
+ /**
2831
+ * The IDs of the contracts
2832
+ */
2833
+ contractIds?: Array<string> | null;
1387
2834
  /**
1388
2835
  * URL for fetching custom rewards
1389
2836
  */
@@ -1396,6 +2843,15 @@ export interface RuleCreateParams {
1396
2843
  * Optional detailed description of the rule
1397
2844
  */
1398
2845
  description?: string;
2846
+ duplicatedFromId?: string | null;
2847
+ /**
2848
+ * ID of the external integration
2849
+ */
2850
+ externalIntegrationId?: string | null;
2851
+ /**
2852
+ * Optional stratus function id for the rule
2853
+ */
2854
+ functionId?: string | null;
1399
2855
  /**
1400
2856
  * Whether to hide this rule in the user interface
1401
2857
  */
@@ -1403,15 +2859,33 @@ export interface RuleCreateParams {
1403
2859
  /**
1404
2860
  * Interval between rule executions
1405
2861
  */
1406
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2862
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1407
2863
  /**
1408
2864
  * Whether this rule is mandatory
1409
2865
  */
1410
2866
  isRequired?: boolean;
2867
+ /**
2868
+ * Unique identifier for the loyalty badge
2869
+ */
2870
+ loyaltyBadgeId?: string | null;
1411
2871
  /**
1412
2872
  * Unique identifier for the loyalty rule group
1413
2873
  */
1414
2874
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2875
+ /**
2876
+ * URL for uploading loyalty user allotment via CSV
2877
+ */
2878
+ loyaltyUserAllotmentCsvUrl?: string;
2879
+ /**
2880
+ * The interval for the max amount. Available for the smart contract and external
2881
+ * rules.
2882
+ */
2883
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2884
+ /**
2885
+ * The maximum amount of points a user can earn per interval. Available for the
2886
+ * smart contract and external rules.
2887
+ */
2888
+ maxAmountPerInterval?: number | null;
1415
2889
  /**
1416
2890
  * URL of the media to be displayed
1417
2891
  */
@@ -1419,25 +2893,51 @@ export interface RuleCreateParams {
1419
2893
  /**
1420
2894
  * Blockchain network where the rule will apply
1421
2895
  */
1422
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
2896
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1423
2897
  /**
1424
2898
  * OAuth credentials associated with the rule
1425
2899
  */
1426
2900
  oauthCredentialsId?: string | null;
2901
+ /**
2902
+ * The lifetime of the reward
2903
+ */
2904
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
1427
2905
  /**
1428
2906
  * Type of reward issued by the rule
1429
2907
  */
1430
- rewardType?: 'points' | 'multiplier';
2908
+ rewardType?: 'points' | 'multiplier' | 'badge';
2909
+ /**
2910
+ * URL of the Shopify store
2911
+ */
2912
+ shopifyStoreUrl?: string | null;
2913
+ /**
2914
+ * Whether to show this rule before the start time
2915
+ */
2916
+ showBeforeStart?: boolean;
1431
2917
  /**
1432
- * Identifier for associated subscriptions
2918
+ * Optional stratus subscription id for the rule
1433
2919
  */
1434
- subscriptionIdentifier?: string | null;
2920
+ subscriptionId?: string | null;
1435
2921
  }
1436
2922
  export declare namespace RuleCreateParams {
1437
2923
  /**
1438
2924
  * Additional metadata for the loyalty rule
1439
2925
  */
1440
2926
  interface Metadata {
2927
+ /**
2928
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
2929
+ * only.
2930
+ */
2931
+ allowMultipleRedemptions?: boolean;
2932
+ /**
2933
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
2934
+ * any rule completions count as check-in.
2935
+ */
2936
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
2937
+ /**
2938
+ * Number of tokens per batch.
2939
+ */
2940
+ batchSize?: number | null;
1441
2941
  /**
1442
2942
  * Text displayed on the action button.
1443
2943
  */
@@ -1457,7 +2957,7 @@ export declare namespace RuleCreateParams {
1457
2957
  /**
1458
2958
  * Text to check in the Twitter post, username, or bio.
1459
2959
  */
1460
- checkText?: string | null;
2960
+ checkText?: string | Array<string> | null;
1461
2961
  /**
1462
2962
  * Array of collections associated with the rule.
1463
2963
  */
@@ -1465,7 +2965,13 @@ export declare namespace RuleCreateParams {
1465
2965
  /**
1466
2966
  * Conditions for completing the profile.
1467
2967
  */
1468
- completeProfileConditions?: Record<string, boolean> | null;
2968
+ completeProfileConditions?: {
2969
+ [key: string]: boolean;
2970
+ } | null;
2971
+ /**
2972
+ * Description of the external rule condition (only for external rules)
2973
+ */
2974
+ conditionDescription?: string;
1469
2975
  /**
1470
2976
  * Object containing details for the call-to-action.
1471
2977
  */
@@ -1474,6 +2980,10 @@ export declare namespace RuleCreateParams {
1474
2980
  * API key for custom rewards integration.
1475
2981
  */
1476
2982
  customRewardsApiKey?: string;
2983
+ /**
2984
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2985
+ */
2986
+ directRpc?: boolean;
1477
2987
  /**
1478
2988
  * Array of Discord servers, channels, and roles to join.
1479
2989
  */
@@ -1494,6 +3004,10 @@ export declare namespace RuleCreateParams {
1494
3004
  * Flag indicating whether the verified multiplier is enabled.
1495
3005
  */
1496
3006
  enableVerifiedMultiplier?: boolean;
3007
+ /**
3008
+ * Type of ERC20 token for the loyalty rule.
3009
+ */
3010
+ erc20Type?: 'erc20' | 'native';
1497
3011
  /**
1498
3012
  * Fill source of the order for the token sale
1499
3013
  */
@@ -1502,6 +3016,14 @@ export declare namespace RuleCreateParams {
1502
3016
  * Percentage reward given to a user for their first referral.
1503
3017
  */
1504
3018
  firstReferralReward?: number | null;
3019
+ /**
3020
+ * Name of the GitHub branch to check for PR merge.
3021
+ */
3022
+ githubBranchName?: string | null;
3023
+ /**
3024
+ * URL of the GitHub repository to check for star.
3025
+ */
3026
+ githubRepoUrl?: string | null;
1505
3027
  /**
1506
3028
  * Flag indicating whether the fill source is included.
1507
3029
  */
@@ -1510,10 +3032,6 @@ export declare namespace RuleCreateParams {
1510
3032
  * Indicates if the item has never been sold.
1511
3033
  */
1512
3034
  hasNeverSold?: boolean;
1513
- /**
1514
- * Flag indicating whether the order source is included.
1515
- */
1516
- hasOrderSource?: boolean;
1517
3035
  /**
1518
3036
  * Indicates if the full royalty has been paid for items.
1519
3037
  */
@@ -1530,10 +3048,18 @@ export declare namespace RuleCreateParams {
1530
3048
  * URL of the image associated with the rule.
1531
3049
  */
1532
3050
  imageUrl?: string | null;
3051
+ /**
3052
+ * If enabled, the first transaction done on the platform will complete this rule
3053
+ */
3054
+ isCheckInOnEveryTxn?: boolean;
1533
3055
  /**
1534
3056
  * Indicates if the multiplier has been applied to rewards.
1535
3057
  */
1536
3058
  isMultiplierApplied?: boolean;
3059
+ /**
3060
+ * Flag indicating if the rule is restricted to new users.
3061
+ */
3062
+ isRestrictedToNewUsers?: boolean;
1537
3063
  /**
1538
3064
  * Flag indicating if rewards are applied retroactively.
1539
3065
  */
@@ -1546,10 +3072,18 @@ export declare namespace RuleCreateParams {
1546
3072
  * Optional link associated with the metadata.
1547
3073
  */
1548
3074
  link?: string | null;
3075
+ /**
3076
+ * Liquidity pool details.
3077
+ */
3078
+ liquidity?: Metadata.Liquidity;
1549
3079
  /**
1550
3080
  * Maximum quantity constraint for token holding.
1551
3081
  */
1552
3082
  maxQty?: number | null;
3083
+ /**
3084
+ * Minimum follower count for the rule. Accepts both number and string values.
3085
+ */
3086
+ minimumFollowerCount?: number | null;
1553
3087
  /**
1554
3088
  * Minimum quantity constraint for token holding.
1555
3089
  */
@@ -1577,31 +3111,98 @@ export declare namespace RuleCreateParams {
1577
3111
  /**
1578
3112
  * give points for only one token ownership per contract
1579
3113
  */
1580
- onlyRewardSingleTokenOwnership?: boolean | null;
3114
+ onlyRewardSingleTokenOwnership?: boolean | null;
3115
+ /**
3116
+ * Pre-generated text template that will be used to prefill the post content.
3117
+ */
3118
+ preGeneratedPostText?: string | null;
3119
+ /**
3120
+ * Promotional code associated with the rule.
3121
+ */
3122
+ promoCode?: string;
3123
+ /**
3124
+ * URL of the CSV file containing promo codes.
3125
+ */
3126
+ promoCodeCsvUrl?: string;
3127
+ /**
3128
+ * Numbers of the promotional code to be generated.
3129
+ */
3130
+ promoCodeLength?: number | null;
3131
+ /**
3132
+ * Type of the promotional code.
3133
+ */
3134
+ promoCodeType?: 'code' | 'csv' | 'generate';
3135
+ /**
3136
+ * Array defining ranges and corresponding rewards.
3137
+ */
3138
+ range?: Array<Metadata.Range>;
3139
+ /**
3140
+ * ID of the Reddit post.
3141
+ */
3142
+ redditPostId?: string | null;
3143
+ /**
3144
+ * Object defining referral requirements.
3145
+ */
3146
+ referralRequirements?: Metadata.ReferralRequirements | null;
3147
+ /**
3148
+ * Lump sum reward given to a referrer.
3149
+ */
3150
+ referrerReward?: number | null;
3151
+ /**
3152
+ * Loyalty currency ID of the referrer reward.
3153
+ */
3154
+ referrerRewardLoyaltyCurrencyId?: string | null;
3155
+ /**
3156
+ * Flag indicating if the post link is required.
3157
+ */
3158
+ requirePostLink?: boolean | null;
3159
+ /**
3160
+ * Flag indicating if media metadata is required.
3161
+ */
3162
+ requirePostMediaLink?: boolean | null;
3163
+ /**
3164
+ * If enabled, the progress tracking row will be deleted after a successful claim,
3165
+ * allowing the user to re-earn the rule.
3166
+ */
3167
+ resetProgressOnClaim?: boolean | null;
3168
+ /**
3169
+ * Flag indicating if the rule can also reward badges per range.
3170
+ */
3171
+ rewardBadgePerRange?: boolean;
3172
+ /**
3173
+ * Flag indicating if the reward is rewarded by batch.
3174
+ */
3175
+ rewardByBatch?: boolean | null;
3176
+ /**
3177
+ * Criteria to evaluate the reward.
3178
+ */
3179
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1581
3180
  /**
1582
- * Order source of the order for the token sale
3181
+ * Flag indicating if the reward is rewarded per action.
1583
3182
  */
1584
- orderSource?: string;
3183
+ rewardPerAction?: boolean | null;
1585
3184
  /**
1586
- * Promotional code associated with the rule.
3185
+ * Flag indicating if rewards are given per impression.
1587
3186
  */
1588
- promoCode?: string;
3187
+ rewardPerImpression?: boolean | null;
1589
3188
  /**
1590
- * Array defining ranges and corresponding rewards.
3189
+ * Flag indicating if the rule should reward based on value of traded tokens
3190
+ * instead of count.
1591
3191
  */
1592
- range?: Array<Metadata.Range>;
3192
+ rewardPerValue?: boolean;
1593
3193
  /**
1594
- * Object defining referral requirements.
3194
+ * Flag indicating if the rule should reward quality posts.
1595
3195
  */
1596
- referralRequirements?: Metadata.ReferralRequirements | null;
3196
+ rewardQualityPosts?: boolean;
3197
+ robinhoodSymbols?: Array<string> | null;
1597
3198
  /**
1598
- * Lump sum reward given to a referrer.
3199
+ * Wallet address of the user can only be used if userId is not provided
1599
3200
  */
1600
- referrerReward?: number | null;
3201
+ royaltyAddress?: string;
1601
3202
  /**
1602
- * Flag indicating if rewards are given per impression.
3203
+ * Royalty percentage of the item.
1603
3204
  */
1604
- rewardPerImpression?: boolean | null;
3205
+ royaltyPercentage?: number;
1605
3206
  /**
1606
3207
  * Currency associated with sales.
1607
3208
  */
@@ -1625,7 +3226,7 @@ export declare namespace RuleCreateParams {
1625
3226
  /**
1626
3227
  * Social media platform associated with the rule.
1627
3228
  */
1628
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
3229
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
1629
3230
  /**
1630
3231
  * URL of the social platform's logo.
1631
3232
  */
@@ -1634,10 +3235,18 @@ export declare namespace RuleCreateParams {
1634
3235
  * Name of the social platform.
1635
3236
  */
1636
3237
  socialPlatformName?: string | null;
3238
+ /**
3239
+ * ID of the Steam app.
3240
+ */
3241
+ steamAppId?: string | null;
1637
3242
  /**
1638
3243
  * Array of streak milestones and corresponding rewards.
1639
3244
  */
1640
3245
  streakArray?: Array<Metadata.StreakArray> | null;
3246
+ /**
3247
+ * Metadata for swap loyalty rules
3248
+ */
3249
+ swap?: Metadata.Swap;
1641
3250
  /**
1642
3251
  * ID of the Telegram channel.
1643
3252
  */
@@ -1650,6 +3259,11 @@ export declare namespace RuleCreateParams {
1650
3259
  * Flag indicating if all contracts are tracked.
1651
3260
  */
1652
3261
  trackAllContracts?: boolean | null;
3262
+ /**
3263
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3264
+ * completed once the progress is 100%.
3265
+ */
3266
+ trackProgress?: boolean | null;
1653
3267
  /**
1654
3268
  * URL of the associated Twitter account.
1655
3269
  */
@@ -1685,7 +3299,15 @@ export declare namespace RuleCreateParams {
1685
3299
  /**
1686
3300
  * Type of wallet associated with the rule.
1687
3301
  */
1688
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3302
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3303
+ /**
3304
+ * ID of the Youtube channel.
3305
+ */
3306
+ youtubeChannelId?: string | null;
3307
+ /**
3308
+ * ID of the Youtube video.
3309
+ */
3310
+ youtubeVideoId?: string | null;
1689
3311
  }
1690
3312
  namespace Metadata {
1691
3313
  interface Collection {
@@ -1700,7 +3322,7 @@ export declare namespace RuleCreateParams {
1700
3322
  /**
1701
3323
  * Blockchain network of the collection.
1702
3324
  */
1703
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3325
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1704
3326
  }
1705
3327
  /**
1706
3328
  * Object containing details for the call-to-action.
@@ -1765,6 +3387,49 @@ export declare namespace RuleCreateParams {
1765
3387
  */
1766
3388
  id: string;
1767
3389
  }
3390
+ /**
3391
+ * Liquidity pool details.
3392
+ */
3393
+ interface Liquidity {
3394
+ /**
3395
+ * Calculation type of the liquidity pool.
3396
+ */
3397
+ calculationType?: 'fixed' | 'custom';
3398
+ /**
3399
+ * Custom function to calculate the the reward amount based on the liquidity
3400
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3401
+ * USD.
3402
+ */
3403
+ customFunction?: string;
3404
+ /**
3405
+ * Liquidity provided per day in USD
3406
+ */
3407
+ liquidityPerDay?: number;
3408
+ /**
3409
+ * Blockchain network of the liquidity pool.
3410
+ */
3411
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
3412
+ /**
3413
+ * Indicates if only in-range liquidity is rewarded.
3414
+ */
3415
+ onlyRewardInRangeLiquidity?: boolean;
3416
+ /**
3417
+ * Array of liquidity pools associated with the rule.
3418
+ */
3419
+ pools?: Array<Liquidity.Pool>;
3420
+ /**
3421
+ * Protocol of the liquidity pool.
3422
+ */
3423
+ protocol?: string;
3424
+ }
3425
+ namespace Liquidity {
3426
+ interface Pool {
3427
+ /**
3428
+ * Unique identifier of the liquidity pool.
3429
+ */
3430
+ id: string;
3431
+ }
3432
+ }
1768
3433
  interface Range {
1769
3434
  /**
1770
3435
  * Reward amount for this range.
@@ -1778,6 +3443,14 @@ export declare namespace RuleCreateParams {
1778
3443
  * Start value of the range.
1779
3444
  */
1780
3445
  startRange: number;
3446
+ /**
3447
+ * ID of the loyalty badge for this range.
3448
+ */
3449
+ loyaltyBadgeId?: string;
3450
+ /**
3451
+ * Amount of the loyalty multiplier for this range.
3452
+ */
3453
+ loyaltyMultiplierAmount?: number;
1781
3454
  }
1782
3455
  /**
1783
3456
  * Object defining referral requirements.
@@ -1821,18 +3494,14 @@ export declare namespace RuleCreateParams {
1821
3494
  * Object containing details of the associated smart contract.
1822
3495
  */
1823
3496
  interface SmartContract {
1824
- /**
1825
- * ABI of the smart contract.
1826
- */
1827
- abi?: string | null;
1828
3497
  /**
1829
3498
  * Mapping of addresses for the smart contract.
1830
3499
  */
1831
3500
  addressMapping?: string | null;
1832
3501
  /**
1833
- * Array of bonus details applied to the rule.
3502
+ * Object containing details of the amount multiplier from the event.
1834
3503
  */
1835
- bonus?: Array<SmartContract.Bonus> | null;
3504
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1836
3505
  /**
1837
3506
  * ID of the smart contract.
1838
3507
  */
@@ -1841,58 +3510,28 @@ export declare namespace RuleCreateParams {
1841
3510
  * Criteria to evaluate the smart contract event.
1842
3511
  */
1843
3512
  criteria?: 'everyEvent' | 'byParameter' | null;
1844
- /**
1845
- * Time range applied to the rule.
1846
- */
1847
- customRange?: SmartContract.CustomRange | null;
1848
3513
  /**
1849
3514
  * Event emitted by the smart contract.
1850
3515
  */
1851
3516
  event?: string | null;
1852
- /**
1853
- * Maximum value allowed for the parameter.
1854
- */
1855
- max?: number | null;
1856
3517
  /**
1857
3518
  * Array of parameters for the smart contract.
1858
3519
  */
1859
3520
  params?: Array<SmartContract.Param> | null;
1860
3521
  /**
1861
- * Flag indicating if a bonus is applied.
1862
- */
1863
- withBonus?: boolean | null;
1864
- /**
1865
- * Flag indicating if a custom range is applied.
1866
- */
1867
- withCustomRange?: boolean | null;
1868
- /**
1869
- * Flag indicating if a maximum limit is applied.
3522
+ * Type of the smart contract interaction.
1870
3523
  */
1871
- withMax?: boolean | null;
3524
+ type?: 'function' | 'event' | null;
1872
3525
  }
1873
3526
  namespace SmartContract {
1874
- interface Bonus {
1875
- /**
1876
- * Amount of the bonus.
1877
- */
1878
- amount?: number | null;
1879
- /**
1880
- * Number of times the bonus is applied.
1881
- */
1882
- count?: number | null;
1883
- }
1884
3527
  /**
1885
- * Time range applied to the rule.
3528
+ * Object containing details of the amount multiplier from the event.
1886
3529
  */
1887
- interface CustomRange {
1888
- /**
1889
- * End time of the custom range.
1890
- */
1891
- endsAt?: string | null;
3530
+ interface AmountMultiplier {
1892
3531
  /**
1893
- * Start time of the custom range.
3532
+ * Mapping of the value for the smart contract.
1894
3533
  */
1895
- startsAt?: string | null;
3534
+ valueMapping?: string | null;
1896
3535
  }
1897
3536
  interface Param {
1898
3537
  /**
@@ -1929,6 +3568,42 @@ export declare namespace RuleCreateParams {
1929
3568
  */
1930
3569
  streakMilestone: number;
1931
3570
  }
3571
+ /**
3572
+ * Metadata for swap loyalty rules
3573
+ */
3574
+ interface Swap {
3575
+ from?: Swap.From;
3576
+ provider?: 'any' | 'relay' | 'lifi';
3577
+ relayReferrerId?: string;
3578
+ requireCrossChainSwap?: boolean;
3579
+ to?: Swap.To;
3580
+ }
3581
+ namespace Swap {
3582
+ interface From {
3583
+ chain?: 'any' | number | string;
3584
+ mode?: 'any' | 'specific';
3585
+ tokens?: Array<From.Token>;
3586
+ trackAmount?: boolean;
3587
+ }
3588
+ namespace From {
3589
+ interface Token {
3590
+ address: string;
3591
+ chainId: string;
3592
+ }
3593
+ }
3594
+ interface To {
3595
+ chain?: 'any' | number | string;
3596
+ mode?: 'any' | 'specific';
3597
+ tokens?: Array<To.Token>;
3598
+ trackAmount?: boolean;
3599
+ }
3600
+ namespace To {
3601
+ interface Token {
3602
+ address: string;
3603
+ chainId: string;
3604
+ }
3605
+ }
3606
+ }
1932
3607
  }
1933
3608
  interface Collection {
1934
3609
  /**
@@ -1938,7 +3613,11 @@ export declare namespace RuleCreateParams {
1938
3613
  /**
1939
3614
  * Blockchain network for the collection
1940
3615
  */
1941
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3616
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
3617
+ /**
3618
+ * Symbol of the collection.
3619
+ */
3620
+ symbol?: string;
1942
3621
  }
1943
3622
  }
1944
3623
  export interface RuleUpdateParams {
@@ -1954,14 +3633,22 @@ export interface RuleUpdateParams {
1954
3633
  * Name of the loyalty rule
1955
3634
  */
1956
3635
  name: string;
3636
+ /**
3637
+ * The type of claim for the reward
3638
+ */
3639
+ claimType?: 'manual' | 'auto' | null;
1957
3640
  /**
1958
3641
  * Blockchain address of the associated collection
1959
3642
  */
1960
- collectionAddress?: string;
3643
+ collectionAddress?: string | null;
1961
3644
  /**
1962
3645
  * List of associated collections
1963
3646
  */
1964
3647
  collections?: Array<RuleUpdateParams.Collection> | null;
3648
+ /**
3649
+ * The IDs of the contracts
3650
+ */
3651
+ contractIds?: Array<string> | null;
1965
3652
  /**
1966
3653
  * API URL for custom rewards integration
1967
3654
  */
@@ -1970,6 +3657,11 @@ export interface RuleUpdateParams {
1970
3657
  * URL for uploading custom rewards via CSV
1971
3658
  */
1972
3659
  customRewardsCsvUrl?: string | null;
3660
+ /**
3661
+ * Timestamp when the loyalty rule was deleted. Set to null to restore a deleted
3662
+ * rule.
3663
+ */
3664
+ deletedAt?: string | null;
1973
3665
  /**
1974
3666
  * Optional description of the loyalty rule
1975
3667
  */
@@ -1982,10 +3674,18 @@ export interface RuleUpdateParams {
1982
3674
  * Effective start time of the rule
1983
3675
  */
1984
3676
  effectiveStartTime?: string | null;
3677
+ /**
3678
+ * ID of the external integration
3679
+ */
3680
+ externalIntegrationId?: string | null;
1985
3681
  /**
1986
3682
  * Frequency of the rule execution
1987
3683
  */
1988
- frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3684
+ frequency?: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3685
+ /**
3686
+ * Optional stratus function id for the rule
3687
+ */
3688
+ functionId?: string | null;
1989
3689
  /**
1990
3690
  * Whether to hide this rule in the user interface
1991
3691
  */
@@ -1993,7 +3693,7 @@ export interface RuleUpdateParams {
1993
3693
  /**
1994
3694
  * Time interval for recurring rule execution
1995
3695
  */
1996
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3696
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1997
3697
  /**
1998
3698
  * Whether this rule is required for participation
1999
3699
  */
@@ -2002,6 +3702,16 @@ export interface RuleUpdateParams {
2002
3702
  * ID of the rule group section to associate with the rule
2003
3703
  */
2004
3704
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3705
+ /**
3706
+ * The interval for the max amount. Available for the smart contract and external
3707
+ * rules.
3708
+ */
3709
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3710
+ /**
3711
+ * The maximum amount of points a user can earn per interval. Available for the
3712
+ * smart contract and external rules.
3713
+ */
3714
+ maxAmountPerInterval?: number | null;
2005
3715
  /**
2006
3716
  * URL of the media to be displayed
2007
3717
  */
@@ -2013,23 +3723,35 @@ export interface RuleUpdateParams {
2013
3723
  /**
2014
3724
  * Blockchain network where the rule will apply
2015
3725
  */
2016
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3726
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2017
3727
  /**
2018
3728
  * ID for associated OAuth credentials
2019
3729
  */
2020
3730
  oauthCredentialsId?: string | null;
3731
+ /**
3732
+ * The lifetime of the reward
3733
+ */
3734
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
2021
3735
  /**
2022
3736
  * Type of reward issued by this rule
2023
3737
  */
2024
- rewardType?: 'points' | 'multiplier';
3738
+ rewardType?: 'points' | 'multiplier' | 'badge';
3739
+ /**
3740
+ * URL of the Shopify store
3741
+ */
3742
+ shopifyStoreUrl?: string | null;
3743
+ /**
3744
+ * Whether to show this rule before the start time
3745
+ */
3746
+ showBeforeStart?: boolean;
2025
3747
  /**
2026
3748
  * Start time for the loyalty rule
2027
3749
  */
2028
3750
  startTime?: string | null;
2029
3751
  /**
2030
- * Optional subscription identifier for the rule
3752
+ * Optional stratus subscription id for the rule
2031
3753
  */
2032
- subscriptionIdentifier?: string | null;
3754
+ subscriptionId?: string | null;
2033
3755
  }
2034
3756
  export declare namespace RuleUpdateParams {
2035
3757
  interface Collection {
@@ -2040,12 +3762,30 @@ export declare namespace RuleUpdateParams {
2040
3762
  /**
2041
3763
  * Blockchain network for the collection
2042
3764
  */
2043
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3765
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
3766
+ /**
3767
+ * Symbol of the collection.
3768
+ */
3769
+ symbol?: string;
2044
3770
  }
2045
3771
  /**
2046
3772
  * Additional metadata for the loyalty rule
2047
3773
  */
2048
3774
  interface Metadata {
3775
+ /**
3776
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
3777
+ * only.
3778
+ */
3779
+ allowMultipleRedemptions?: boolean;
3780
+ /**
3781
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
3782
+ * any rule completions count as check-in.
3783
+ */
3784
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
3785
+ /**
3786
+ * Number of tokens per batch.
3787
+ */
3788
+ batchSize?: number | null;
2049
3789
  /**
2050
3790
  * Text displayed on the action button.
2051
3791
  */
@@ -2065,7 +3805,7 @@ export declare namespace RuleUpdateParams {
2065
3805
  /**
2066
3806
  * Text to check in the Twitter post, username, or bio.
2067
3807
  */
2068
- checkText?: string | null;
3808
+ checkText?: string | Array<string> | null;
2069
3809
  /**
2070
3810
  * Array of collections associated with the rule.
2071
3811
  */
@@ -2073,7 +3813,13 @@ export declare namespace RuleUpdateParams {
2073
3813
  /**
2074
3814
  * Conditions for completing the profile.
2075
3815
  */
2076
- completeProfileConditions?: Record<string, boolean> | null;
3816
+ completeProfileConditions?: {
3817
+ [key: string]: boolean;
3818
+ } | null;
3819
+ /**
3820
+ * Description of the external rule condition (only for external rules)
3821
+ */
3822
+ conditionDescription?: string;
2077
3823
  /**
2078
3824
  * Object containing details for the call-to-action.
2079
3825
  */
@@ -2082,6 +3828,10 @@ export declare namespace RuleUpdateParams {
2082
3828
  * API key for custom rewards integration.
2083
3829
  */
2084
3830
  customRewardsApiKey?: string;
3831
+ /**
3832
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3833
+ */
3834
+ directRpc?: boolean;
2085
3835
  /**
2086
3836
  * Array of Discord servers, channels, and roles to join.
2087
3837
  */
@@ -2102,6 +3852,10 @@ export declare namespace RuleUpdateParams {
2102
3852
  * Flag indicating whether the verified multiplier is enabled.
2103
3853
  */
2104
3854
  enableVerifiedMultiplier?: boolean;
3855
+ /**
3856
+ * Type of ERC20 token for the loyalty rule.
3857
+ */
3858
+ erc20Type?: 'erc20' | 'native';
2105
3859
  /**
2106
3860
  * Fill source of the order for the token sale
2107
3861
  */
@@ -2110,6 +3864,14 @@ export declare namespace RuleUpdateParams {
2110
3864
  * Percentage reward given to a user for their first referral.
2111
3865
  */
2112
3866
  firstReferralReward?: number | null;
3867
+ /**
3868
+ * Name of the GitHub branch to check for PR merge.
3869
+ */
3870
+ githubBranchName?: string | null;
3871
+ /**
3872
+ * URL of the GitHub repository to check for star.
3873
+ */
3874
+ githubRepoUrl?: string | null;
2113
3875
  /**
2114
3876
  * Flag indicating whether the fill source is included.
2115
3877
  */
@@ -2118,10 +3880,6 @@ export declare namespace RuleUpdateParams {
2118
3880
  * Indicates if the item has never been sold.
2119
3881
  */
2120
3882
  hasNeverSold?: boolean;
2121
- /**
2122
- * Flag indicating whether the order source is included.
2123
- */
2124
- hasOrderSource?: boolean;
2125
3883
  /**
2126
3884
  * Indicates if the full royalty has been paid for items.
2127
3885
  */
@@ -2138,10 +3896,18 @@ export declare namespace RuleUpdateParams {
2138
3896
  * URL of the image associated with the rule.
2139
3897
  */
2140
3898
  imageUrl?: string | null;
3899
+ /**
3900
+ * If enabled, the first transaction done on the platform will complete this rule
3901
+ */
3902
+ isCheckInOnEveryTxn?: boolean;
2141
3903
  /**
2142
3904
  * Indicates if the multiplier has been applied to rewards.
2143
3905
  */
2144
3906
  isMultiplierApplied?: boolean;
3907
+ /**
3908
+ * Flag indicating if the rule is restricted to new users.
3909
+ */
3910
+ isRestrictedToNewUsers?: boolean;
2145
3911
  /**
2146
3912
  * Flag indicating if rewards are applied retroactively.
2147
3913
  */
@@ -2154,10 +3920,18 @@ export declare namespace RuleUpdateParams {
2154
3920
  * Optional link associated with the metadata.
2155
3921
  */
2156
3922
  link?: string | null;
3923
+ /**
3924
+ * Liquidity pool details.
3925
+ */
3926
+ liquidity?: Metadata.Liquidity;
2157
3927
  /**
2158
3928
  * Maximum quantity constraint for token holding.
2159
3929
  */
2160
3930
  maxQty?: number | null;
3931
+ /**
3932
+ * Minimum follower count for the rule. Accepts both number and string values.
3933
+ */
3934
+ minimumFollowerCount?: number | null;
2161
3935
  /**
2162
3936
  * Minimum quantity constraint for token holding.
2163
3937
  */
@@ -2187,17 +3961,33 @@ export declare namespace RuleUpdateParams {
2187
3961
  */
2188
3962
  onlyRewardSingleTokenOwnership?: boolean | null;
2189
3963
  /**
2190
- * Order source of the order for the token sale
3964
+ * Pre-generated text template that will be used to prefill the post content.
2191
3965
  */
2192
- orderSource?: string;
3966
+ preGeneratedPostText?: string | null;
2193
3967
  /**
2194
3968
  * Promotional code associated with the rule.
2195
3969
  */
2196
3970
  promoCode?: string;
3971
+ /**
3972
+ * URL of the CSV file containing promo codes.
3973
+ */
3974
+ promoCodeCsvUrl?: string;
3975
+ /**
3976
+ * Numbers of the promotional code to be generated.
3977
+ */
3978
+ promoCodeLength?: number | null;
3979
+ /**
3980
+ * Type of the promotional code.
3981
+ */
3982
+ promoCodeType?: 'code' | 'csv' | 'generate';
2197
3983
  /**
2198
3984
  * Array defining ranges and corresponding rewards.
2199
3985
  */
2200
3986
  range?: Array<Metadata.Range>;
3987
+ /**
3988
+ * ID of the Reddit post.
3989
+ */
3990
+ redditPostId?: string | null;
2201
3991
  /**
2202
3992
  * Object defining referral requirements.
2203
3993
  */
@@ -2206,10 +3996,61 @@ export declare namespace RuleUpdateParams {
2206
3996
  * Lump sum reward given to a referrer.
2207
3997
  */
2208
3998
  referrerReward?: number | null;
3999
+ /**
4000
+ * Loyalty currency ID of the referrer reward.
4001
+ */
4002
+ referrerRewardLoyaltyCurrencyId?: string | null;
4003
+ /**
4004
+ * Flag indicating if the post link is required.
4005
+ */
4006
+ requirePostLink?: boolean | null;
4007
+ /**
4008
+ * Flag indicating if media metadata is required.
4009
+ */
4010
+ requirePostMediaLink?: boolean | null;
4011
+ /**
4012
+ * If enabled, the progress tracking row will be deleted after a successful claim,
4013
+ * allowing the user to re-earn the rule.
4014
+ */
4015
+ resetProgressOnClaim?: boolean | null;
4016
+ /**
4017
+ * Flag indicating if the rule can also reward badges per range.
4018
+ */
4019
+ rewardBadgePerRange?: boolean;
4020
+ /**
4021
+ * Flag indicating if the reward is rewarded by batch.
4022
+ */
4023
+ rewardByBatch?: boolean | null;
4024
+ /**
4025
+ * Criteria to evaluate the reward.
4026
+ */
4027
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
4028
+ /**
4029
+ * Flag indicating if the reward is rewarded per action.
4030
+ */
4031
+ rewardPerAction?: boolean | null;
2209
4032
  /**
2210
4033
  * Flag indicating if rewards are given per impression.
2211
4034
  */
2212
4035
  rewardPerImpression?: boolean | null;
4036
+ /**
4037
+ * Flag indicating if the rule should reward based on value of traded tokens
4038
+ * instead of count.
4039
+ */
4040
+ rewardPerValue?: boolean;
4041
+ /**
4042
+ * Flag indicating if the rule should reward quality posts.
4043
+ */
4044
+ rewardQualityPosts?: boolean;
4045
+ robinhoodSymbols?: Array<string> | null;
4046
+ /**
4047
+ * Wallet address of the user can only be used if userId is not provided
4048
+ */
4049
+ royaltyAddress?: string;
4050
+ /**
4051
+ * Royalty percentage of the item.
4052
+ */
4053
+ royaltyPercentage?: number;
2213
4054
  /**
2214
4055
  * Currency associated with sales.
2215
4056
  */
@@ -2233,7 +4074,7 @@ export declare namespace RuleUpdateParams {
2233
4074
  /**
2234
4075
  * Social media platform associated with the rule.
2235
4076
  */
2236
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
4077
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
2237
4078
  /**
2238
4079
  * URL of the social platform's logo.
2239
4080
  */
@@ -2242,10 +4083,18 @@ export declare namespace RuleUpdateParams {
2242
4083
  * Name of the social platform.
2243
4084
  */
2244
4085
  socialPlatformName?: string | null;
4086
+ /**
4087
+ * ID of the Steam app.
4088
+ */
4089
+ steamAppId?: string | null;
2245
4090
  /**
2246
4091
  * Array of streak milestones and corresponding rewards.
2247
4092
  */
2248
4093
  streakArray?: Array<Metadata.StreakArray> | null;
4094
+ /**
4095
+ * Metadata for swap loyalty rules
4096
+ */
4097
+ swap?: Metadata.Swap;
2249
4098
  /**
2250
4099
  * ID of the Telegram channel.
2251
4100
  */
@@ -2258,6 +4107,11 @@ export declare namespace RuleUpdateParams {
2258
4107
  * Flag indicating if all contracts are tracked.
2259
4108
  */
2260
4109
  trackAllContracts?: boolean | null;
4110
+ /**
4111
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4112
+ * completed once the progress is 100%.
4113
+ */
4114
+ trackProgress?: boolean | null;
2261
4115
  /**
2262
4116
  * URL of the associated Twitter account.
2263
4117
  */
@@ -2293,7 +4147,15 @@ export declare namespace RuleUpdateParams {
2293
4147
  /**
2294
4148
  * Type of wallet associated with the rule.
2295
4149
  */
2296
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
4150
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
4151
+ /**
4152
+ * ID of the Youtube channel.
4153
+ */
4154
+ youtubeChannelId?: string | null;
4155
+ /**
4156
+ * ID of the Youtube video.
4157
+ */
4158
+ youtubeVideoId?: string | null;
2297
4159
  }
2298
4160
  namespace Metadata {
2299
4161
  interface Collection {
@@ -2308,7 +4170,7 @@ export declare namespace RuleUpdateParams {
2308
4170
  /**
2309
4171
  * Blockchain network of the collection.
2310
4172
  */
2311
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
4173
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2312
4174
  }
2313
4175
  /**
2314
4176
  * Object containing details for the call-to-action.
@@ -2373,6 +4235,49 @@ export declare namespace RuleUpdateParams {
2373
4235
  */
2374
4236
  id: string;
2375
4237
  }
4238
+ /**
4239
+ * Liquidity pool details.
4240
+ */
4241
+ interface Liquidity {
4242
+ /**
4243
+ * Calculation type of the liquidity pool.
4244
+ */
4245
+ calculationType?: 'fixed' | 'custom';
4246
+ /**
4247
+ * Custom function to calculate the the reward amount based on the liquidity
4248
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
4249
+ * USD.
4250
+ */
4251
+ customFunction?: string;
4252
+ /**
4253
+ * Liquidity provided per day in USD
4254
+ */
4255
+ liquidityPerDay?: number;
4256
+ /**
4257
+ * Blockchain network of the liquidity pool.
4258
+ */
4259
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
4260
+ /**
4261
+ * Indicates if only in-range liquidity is rewarded.
4262
+ */
4263
+ onlyRewardInRangeLiquidity?: boolean;
4264
+ /**
4265
+ * Array of liquidity pools associated with the rule.
4266
+ */
4267
+ pools?: Array<Liquidity.Pool>;
4268
+ /**
4269
+ * Protocol of the liquidity pool.
4270
+ */
4271
+ protocol?: string;
4272
+ }
4273
+ namespace Liquidity {
4274
+ interface Pool {
4275
+ /**
4276
+ * Unique identifier of the liquidity pool.
4277
+ */
4278
+ id: string;
4279
+ }
4280
+ }
2376
4281
  interface Range {
2377
4282
  /**
2378
4283
  * Reward amount for this range.
@@ -2386,6 +4291,14 @@ export declare namespace RuleUpdateParams {
2386
4291
  * Start value of the range.
2387
4292
  */
2388
4293
  startRange: number;
4294
+ /**
4295
+ * ID of the loyalty badge for this range.
4296
+ */
4297
+ loyaltyBadgeId?: string;
4298
+ /**
4299
+ * Amount of the loyalty multiplier for this range.
4300
+ */
4301
+ loyaltyMultiplierAmount?: number;
2389
4302
  }
2390
4303
  /**
2391
4304
  * Object defining referral requirements.
@@ -2429,18 +4342,14 @@ export declare namespace RuleUpdateParams {
2429
4342
  * Object containing details of the associated smart contract.
2430
4343
  */
2431
4344
  interface SmartContract {
2432
- /**
2433
- * ABI of the smart contract.
2434
- */
2435
- abi?: string | null;
2436
4345
  /**
2437
4346
  * Mapping of addresses for the smart contract.
2438
4347
  */
2439
4348
  addressMapping?: string | null;
2440
4349
  /**
2441
- * Array of bonus details applied to the rule.
4350
+ * Object containing details of the amount multiplier from the event.
2442
4351
  */
2443
- bonus?: Array<SmartContract.Bonus> | null;
4352
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2444
4353
  /**
2445
4354
  * ID of the smart contract.
2446
4355
  */
@@ -2449,58 +4358,28 @@ export declare namespace RuleUpdateParams {
2449
4358
  * Criteria to evaluate the smart contract event.
2450
4359
  */
2451
4360
  criteria?: 'everyEvent' | 'byParameter' | null;
2452
- /**
2453
- * Time range applied to the rule.
2454
- */
2455
- customRange?: SmartContract.CustomRange | null;
2456
4361
  /**
2457
4362
  * Event emitted by the smart contract.
2458
4363
  */
2459
4364
  event?: string | null;
2460
- /**
2461
- * Maximum value allowed for the parameter.
2462
- */
2463
- max?: number | null;
2464
4365
  /**
2465
4366
  * Array of parameters for the smart contract.
2466
4367
  */
2467
4368
  params?: Array<SmartContract.Param> | null;
2468
4369
  /**
2469
- * Flag indicating if a bonus is applied.
2470
- */
2471
- withBonus?: boolean | null;
2472
- /**
2473
- * Flag indicating if a custom range is applied.
4370
+ * Type of the smart contract interaction.
2474
4371
  */
2475
- withCustomRange?: boolean | null;
2476
- /**
2477
- * Flag indicating if a maximum limit is applied.
2478
- */
2479
- withMax?: boolean | null;
4372
+ type?: 'function' | 'event' | null;
2480
4373
  }
2481
4374
  namespace SmartContract {
2482
- interface Bonus {
2483
- /**
2484
- * Amount of the bonus.
2485
- */
2486
- amount?: number | null;
2487
- /**
2488
- * Number of times the bonus is applied.
2489
- */
2490
- count?: number | null;
2491
- }
2492
4375
  /**
2493
- * Time range applied to the rule.
4376
+ * Object containing details of the amount multiplier from the event.
2494
4377
  */
2495
- interface CustomRange {
4378
+ interface AmountMultiplier {
2496
4379
  /**
2497
- * End time of the custom range.
4380
+ * Mapping of the value for the smart contract.
2498
4381
  */
2499
- endsAt?: string | null;
2500
- /**
2501
- * Start time of the custom range.
2502
- */
2503
- startsAt?: string | null;
4382
+ valueMapping?: string | null;
2504
4383
  }
2505
4384
  interface Param {
2506
4385
  /**
@@ -2537,15 +4416,73 @@ export declare namespace RuleUpdateParams {
2537
4416
  */
2538
4417
  streakMilestone: number;
2539
4418
  }
4419
+ /**
4420
+ * Metadata for swap loyalty rules
4421
+ */
4422
+ interface Swap {
4423
+ from?: Swap.From;
4424
+ provider?: 'any' | 'relay' | 'lifi';
4425
+ relayReferrerId?: string;
4426
+ requireCrossChainSwap?: boolean;
4427
+ to?: Swap.To;
4428
+ }
4429
+ namespace Swap {
4430
+ interface From {
4431
+ chain?: 'any' | number | string;
4432
+ mode?: 'any' | 'specific';
4433
+ tokens?: Array<From.Token>;
4434
+ trackAmount?: boolean;
4435
+ }
4436
+ namespace From {
4437
+ interface Token {
4438
+ address: string;
4439
+ chainId: string;
4440
+ }
4441
+ }
4442
+ interface To {
4443
+ chain?: 'any' | number | string;
4444
+ mode?: 'any' | 'specific';
4445
+ tokens?: Array<To.Token>;
4446
+ trackAmount?: boolean;
4447
+ }
4448
+ namespace To {
4449
+ interface Token {
4450
+ address: string;
4451
+ chainId: string;
4452
+ }
4453
+ }
4454
+ }
2540
4455
  }
2541
4456
  }
2542
4457
  export interface RuleListParams {
4458
+ /**
4459
+ * IDs of the users to filter results by
4460
+ */
4461
+ allotedToUserId?: string | Array<string>;
4462
+ /**
4463
+ * ID of the user group to filter results by
4464
+ */
4465
+ allotedUserGroupId?: string;
2543
4466
  /**
2544
4467
  * Address of the collection to filter by
2545
4468
  */
2546
4469
  collectionAddress?: string;
2547
4470
  /**
2548
- * Maximum number of records to return (max 1000)
4471
+ * Whether to include deleted/archived records
4472
+ */
4473
+ includeDeleted?: boolean | null;
4474
+ /**
4475
+ * If true this will only return active rules, the rules for which the startTime is
4476
+ * in the past and the endTime is in the future
4477
+ */
4478
+ isActive?: 'true' | 'false';
4479
+ /**
4480
+ * If true this will only return special rules, special rules are the rules that
4481
+ * are used for anti sybil as honey pot
4482
+ */
4483
+ isSpecial?: 'true' | 'false';
4484
+ /**
4485
+ * Maximum number of records to return (max 100)
2549
4486
  */
2550
4487
  limit?: number;
2551
4488
  /**
@@ -2569,6 +4506,12 @@ export interface RuleListParams {
2569
4506
  */
2570
4507
  websiteId?: string;
2571
4508
  }
4509
+ export interface RuleDeleteParams {
4510
+ /**
4511
+ * Whether to debit loyalty points
4512
+ */
4513
+ debitLoyaltyPoints?: string;
4514
+ }
2572
4515
  export interface RuleCompleteParams {
2573
4516
  /**
2574
4517
  * Override amount for the reward (rounded to nearest whole number). This will
@@ -2576,13 +4519,25 @@ export interface RuleCompleteParams {
2576
4519
  */
2577
4520
  amount?: number | null;
2578
4521
  /**
2579
- * Link to the comment made by user
4522
+ * Link to the post/comment made by user
4523
+ */
4524
+ contentUrl?: string;
4525
+ /**
4526
+ * Unique key to ensure idempotent requests.
2580
4527
  */
2581
- commentLink?: string;
4528
+ idempotencyKey?: string;
2582
4529
  /**
2583
4530
  * ID of the choice selected by the user
2584
4531
  */
2585
4532
  loyaltyQuestionChoiceId?: string;
4533
+ /**
4534
+ * Value to compare with the range
4535
+ */
4536
+ rangeValue?: number | null;
4537
+ /**
4538
+ * Flag indicating if the chain or required check should be skipped.
4539
+ */
4540
+ skipChainOrRequiredCheck?: boolean;
2586
4541
  /**
2587
4542
  * Unique identifier for the user
2588
4543
  */
@@ -2593,7 +4548,7 @@ export interface RuleCompleteParams {
2593
4548
  verificationCode?: string;
2594
4549
  /**
2595
4550
  * Flag indicating if only verification is required, this will not create a
2596
- * transaction and reward the user
4551
+ * transaction and reward the user.
2597
4552
  */
2598
4553
  verifyOnly?: string;
2599
4554
  /**
@@ -2602,11 +4557,25 @@ export interface RuleCompleteParams {
2602
4557
  walletAddress?: string;
2603
4558
  }
2604
4559
  export interface RuleGetStatusParams {
2605
- organizationId: string;
2606
- websiteId: string;
4560
+ /**
4561
+ * Number of items to return
4562
+ */
4563
+ limit?: number | null;
4564
+ /**
4565
+ * Unique identifier for the loyalty rule[s]
4566
+ */
4567
+ loyaltyRuleId?: string | Array<string>;
4568
+ organizationId?: string;
4569
+ /**
4570
+ * Starting after item
4571
+ */
4572
+ startingAfter?: string;
4573
+ userGroupId?: string;
2607
4574
  userId?: string;
4575
+ walletAddress?: string;
4576
+ websiteId?: string;
2608
4577
  }
2609
4578
  export declare namespace Rules {
2610
- export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
4579
+ export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleDeleteParams as RuleDeleteParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
2611
4580
  }
2612
4581
  //# sourceMappingURL=rules.d.ts.map