featurebase-node 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/api-promise.d.mts +1 -0
  3. package/api-promise.d.mts.map +1 -1
  4. package/api-promise.d.ts +1 -0
  5. package/api-promise.d.ts.map +1 -1
  6. package/api-promise.mjs +1 -0
  7. package/api-promise.mjs.map +1 -1
  8. package/client.d.mts +9 -3
  9. package/client.d.mts.map +1 -1
  10. package/client.d.ts +9 -3
  11. package/client.d.ts.map +1 -1
  12. package/client.js +6 -0
  13. package/client.js.map +1 -1
  14. package/client.mjs +6 -0
  15. package/client.mjs.map +1 -1
  16. package/core/api-promise.d.mts.map +1 -1
  17. package/core/api-promise.d.ts.map +1 -1
  18. package/core/api-promise.mjs.map +1 -1
  19. package/core/error.mjs.map +1 -1
  20. package/core/pagination.d.mts.map +1 -1
  21. package/core/pagination.d.ts.map +1 -1
  22. package/core/pagination.mjs.map +1 -1
  23. package/core/resource.d.mts.map +1 -1
  24. package/core/resource.d.ts.map +1 -1
  25. package/core/uploads.d.mts.map +1 -1
  26. package/core/uploads.d.ts.map +1 -1
  27. package/core/uploads.mjs.map +1 -1
  28. package/error.d.mts +1 -0
  29. package/error.d.mts.map +1 -1
  30. package/error.d.ts +1 -0
  31. package/error.d.ts.map +1 -1
  32. package/error.mjs +1 -0
  33. package/error.mjs.map +1 -1
  34. package/index.d.mts.map +1 -1
  35. package/index.d.ts.map +1 -1
  36. package/index.mjs.map +1 -1
  37. package/internal/detect-platform.mjs.map +1 -1
  38. package/internal/headers.mjs.map +1 -1
  39. package/internal/parse.d.mts.map +1 -1
  40. package/internal/parse.d.ts.map +1 -1
  41. package/internal/parse.mjs.map +1 -1
  42. package/internal/qs/formats.d.mts.map +1 -1
  43. package/internal/qs/formats.d.ts.map +1 -1
  44. package/internal/qs/index.d.mts +2 -2
  45. package/internal/qs/index.d.mts.map +1 -1
  46. package/internal/qs/index.d.ts +2 -2
  47. package/internal/qs/index.d.ts.map +1 -1
  48. package/internal/qs/index.mjs.map +1 -1
  49. package/internal/qs/stringify.d.mts.map +1 -1
  50. package/internal/qs/stringify.d.ts.map +1 -1
  51. package/internal/qs/stringify.mjs.map +1 -1
  52. package/internal/qs/utils.d.mts.map +1 -1
  53. package/internal/qs/utils.d.ts.map +1 -1
  54. package/internal/qs/utils.mjs.map +1 -1
  55. package/internal/request-options.d.mts.map +1 -1
  56. package/internal/request-options.d.ts.map +1 -1
  57. package/internal/shims.d.mts +6 -0
  58. package/internal/shims.d.mts.map +1 -1
  59. package/internal/shims.d.ts +6 -0
  60. package/internal/shims.d.ts.map +1 -1
  61. package/internal/to-file.d.mts.map +1 -1
  62. package/internal/to-file.d.ts.map +1 -1
  63. package/internal/to-file.mjs.map +1 -1
  64. package/internal/types.d.mts +4 -4
  65. package/internal/types.d.mts.map +1 -1
  66. package/internal/types.d.ts +4 -4
  67. package/internal/types.d.ts.map +1 -1
  68. package/internal/uploads.d.mts.map +1 -1
  69. package/internal/uploads.d.ts.map +1 -1
  70. package/internal/uploads.mjs.map +1 -1
  71. package/internal/utils/base64.mjs.map +1 -1
  72. package/internal/utils/log.d.mts.map +1 -1
  73. package/internal/utils/log.d.ts.map +1 -1
  74. package/internal/utils/log.js +2 -0
  75. package/internal/utils/log.js.map +1 -1
  76. package/internal/utils/log.mjs +2 -0
  77. package/internal/utils/log.mjs.map +1 -1
  78. package/internal/utils/path.mjs.map +1 -1
  79. package/internal/utils/query.mjs.map +1 -1
  80. package/internal/utils/values.mjs.map +1 -1
  81. package/internal/utils.d.mts.map +1 -1
  82. package/internal/utils.d.ts.map +1 -1
  83. package/internal/utils.mjs.map +1 -1
  84. package/package.json +16 -10
  85. package/pagination.d.mts +1 -0
  86. package/pagination.d.mts.map +1 -1
  87. package/pagination.d.ts +1 -0
  88. package/pagination.d.ts.map +1 -1
  89. package/pagination.mjs +1 -0
  90. package/pagination.mjs.map +1 -1
  91. package/resource.d.mts +1 -0
  92. package/resource.d.mts.map +1 -1
  93. package/resource.d.ts +1 -0
  94. package/resource.d.ts.map +1 -1
  95. package/resource.mjs +1 -0
  96. package/resource.mjs.map +1 -1
  97. package/resources/changelogs/changelogs.d.mts +106 -106
  98. package/resources/changelogs/changelogs.d.mts.map +1 -1
  99. package/resources/changelogs/changelogs.d.ts +106 -106
  100. package/resources/changelogs/changelogs.d.ts.map +1 -1
  101. package/resources/changelogs/changelogs.js +74 -74
  102. package/resources/changelogs/changelogs.js.map +1 -1
  103. package/resources/changelogs/changelogs.mjs +74 -74
  104. package/resources/changelogs/changelogs.mjs.map +1 -1
  105. package/resources/changelogs/index.d.mts +1 -1
  106. package/resources/changelogs/index.d.mts.map +1 -1
  107. package/resources/changelogs/index.d.ts +1 -1
  108. package/resources/changelogs/index.d.ts.map +1 -1
  109. package/resources/changelogs/index.mjs.map +1 -1
  110. package/resources/changelogs/subscribers.d.mts.map +1 -1
  111. package/resources/changelogs/subscribers.d.ts.map +1 -1
  112. package/resources/changelogs/subscribers.mjs.map +1 -1
  113. package/resources/changelogs.d.mts.map +1 -1
  114. package/resources/changelogs.d.ts.map +1 -1
  115. package/resources/changelogs.mjs.map +1 -1
  116. package/resources/conversation-attributes.d.mts +117 -0
  117. package/resources/conversation-attributes.d.mts.map +1 -0
  118. package/resources/conversation-attributes.d.ts +117 -0
  119. package/resources/conversation-attributes.d.ts.map +1 -0
  120. package/resources/conversation-attributes.js +61 -0
  121. package/resources/conversation-attributes.js.map +1 -0
  122. package/resources/conversation-attributes.mjs +57 -0
  123. package/resources/conversation-attributes.mjs.map +1 -0
  124. package/resources/feedback/boards.d.mts +17 -17
  125. package/resources/feedback/boards.d.mts.map +1 -1
  126. package/resources/feedback/boards.d.ts +17 -17
  127. package/resources/feedback/boards.d.ts.map +1 -1
  128. package/resources/feedback/boards.js +20 -20
  129. package/resources/feedback/boards.js.map +1 -1
  130. package/resources/feedback/boards.mjs +20 -20
  131. package/resources/feedback/boards.mjs.map +1 -1
  132. package/resources/feedback/comments.d.mts +400 -123
  133. package/resources/feedback/comments.d.mts.map +1 -1
  134. package/resources/feedback/comments.d.ts +400 -123
  135. package/resources/feedback/comments.d.ts.map +1 -1
  136. package/resources/feedback/comments.js +253 -93
  137. package/resources/feedback/comments.js.map +1 -1
  138. package/resources/feedback/comments.mjs +253 -93
  139. package/resources/feedback/comments.mjs.map +1 -1
  140. package/resources/feedback/custom-fields.d.mts +34 -34
  141. package/resources/feedback/custom-fields.d.mts.map +1 -1
  142. package/resources/feedback/custom-fields.d.ts +34 -34
  143. package/resources/feedback/custom-fields.d.ts.map +1 -1
  144. package/resources/feedback/custom-fields.js +36 -36
  145. package/resources/feedback/custom-fields.js.map +1 -1
  146. package/resources/feedback/custom-fields.mjs +36 -36
  147. package/resources/feedback/custom-fields.mjs.map +1 -1
  148. package/resources/feedback/feedback.d.mts +7 -7
  149. package/resources/feedback/feedback.d.mts.map +1 -1
  150. package/resources/feedback/feedback.d.ts +7 -7
  151. package/resources/feedback/feedback.d.ts.map +1 -1
  152. package/resources/feedback/feedback.js.map +1 -1
  153. package/resources/feedback/feedback.mjs.map +1 -1
  154. package/resources/feedback/index.d.mts +5 -5
  155. package/resources/feedback/index.d.mts.map +1 -1
  156. package/resources/feedback/index.d.ts +5 -5
  157. package/resources/feedback/index.d.ts.map +1 -1
  158. package/resources/feedback/index.js.map +1 -1
  159. package/resources/feedback/index.mjs.map +1 -1
  160. package/resources/feedback/post-statuses.d.mts +18 -18
  161. package/resources/feedback/post-statuses.d.mts.map +1 -1
  162. package/resources/feedback/post-statuses.d.ts +18 -18
  163. package/resources/feedback/post-statuses.d.ts.map +1 -1
  164. package/resources/feedback/post-statuses.js +23 -23
  165. package/resources/feedback/post-statuses.js.map +1 -1
  166. package/resources/feedback/post-statuses.mjs +23 -23
  167. package/resources/feedback/post-statuses.mjs.map +1 -1
  168. package/resources/feedback/posts/index.d.mts +1 -1
  169. package/resources/feedback/posts/index.d.mts.map +1 -1
  170. package/resources/feedback/posts/index.d.ts +1 -1
  171. package/resources/feedback/posts/index.d.ts.map +1 -1
  172. package/resources/feedback/posts/index.js.map +1 -1
  173. package/resources/feedback/posts/index.mjs.map +1 -1
  174. package/resources/feedback/posts/posts.d.mts +238 -284
  175. package/resources/feedback/posts/posts.d.mts.map +1 -1
  176. package/resources/feedback/posts/posts.d.ts +238 -284
  177. package/resources/feedback/posts/posts.d.ts.map +1 -1
  178. package/resources/feedback/posts/posts.js +122 -96
  179. package/resources/feedback/posts/posts.js.map +1 -1
  180. package/resources/feedback/posts/posts.mjs +122 -96
  181. package/resources/feedback/posts/posts.mjs.map +1 -1
  182. package/resources/feedback/posts/voters.d.mts.map +1 -1
  183. package/resources/feedback/posts/voters.d.ts.map +1 -1
  184. package/resources/feedback/posts/voters.mjs.map +1 -1
  185. package/resources/feedback/posts.d.mts.map +1 -1
  186. package/resources/feedback/posts.d.ts.map +1 -1
  187. package/resources/feedback/posts.mjs.map +1 -1
  188. package/resources/feedback.d.mts.map +1 -1
  189. package/resources/feedback.d.ts.map +1 -1
  190. package/resources/feedback.mjs.map +1 -1
  191. package/resources/help-center/articles.d.mts +98 -152
  192. package/resources/help-center/articles.d.mts.map +1 -1
  193. package/resources/help-center/articles.d.ts +98 -152
  194. package/resources/help-center/articles.d.ts.map +1 -1
  195. package/resources/help-center/articles.js +73 -73
  196. package/resources/help-center/articles.js.map +1 -1
  197. package/resources/help-center/articles.mjs +73 -73
  198. package/resources/help-center/articles.mjs.map +1 -1
  199. package/resources/help-center/collections.d.mts +64 -64
  200. package/resources/help-center/collections.d.mts.map +1 -1
  201. package/resources/help-center/collections.d.ts +64 -64
  202. package/resources/help-center/collections.d.ts.map +1 -1
  203. package/resources/help-center/collections.js +65 -65
  204. package/resources/help-center/collections.js.map +1 -1
  205. package/resources/help-center/collections.mjs +65 -65
  206. package/resources/help-center/collections.mjs.map +1 -1
  207. package/resources/help-center/help-center.d.mts +5 -5
  208. package/resources/help-center/help-center.d.mts.map +1 -1
  209. package/resources/help-center/help-center.d.ts +5 -5
  210. package/resources/help-center/help-center.d.ts.map +1 -1
  211. package/resources/help-center/help-center.js.map +1 -1
  212. package/resources/help-center/help-center.mjs.map +1 -1
  213. package/resources/help-center/help-centers.d.mts +43 -43
  214. package/resources/help-center/help-centers.d.mts.map +1 -1
  215. package/resources/help-center/help-centers.d.ts +43 -43
  216. package/resources/help-center/help-centers.d.ts.map +1 -1
  217. package/resources/help-center/help-centers.js +43 -43
  218. package/resources/help-center/help-centers.js.map +1 -1
  219. package/resources/help-center/help-centers.mjs +43 -43
  220. package/resources/help-center/help-centers.mjs.map +1 -1
  221. package/resources/help-center/index.d.mts +4 -4
  222. package/resources/help-center/index.d.mts.map +1 -1
  223. package/resources/help-center/index.d.ts +4 -4
  224. package/resources/help-center/index.d.ts.map +1 -1
  225. package/resources/help-center/index.js.map +1 -1
  226. package/resources/help-center/index.mjs.map +1 -1
  227. package/resources/help-center/redirect-rules.d.mts +117 -117
  228. package/resources/help-center/redirect-rules.d.mts.map +1 -1
  229. package/resources/help-center/redirect-rules.d.ts +117 -117
  230. package/resources/help-center/redirect-rules.d.ts.map +1 -1
  231. package/resources/help-center/redirect-rules.js +112 -112
  232. package/resources/help-center/redirect-rules.js.map +1 -1
  233. package/resources/help-center/redirect-rules.mjs +112 -112
  234. package/resources/help-center/redirect-rules.mjs.map +1 -1
  235. package/resources/help-center.d.mts.map +1 -1
  236. package/resources/help-center.d.ts.map +1 -1
  237. package/resources/help-center.mjs.map +1 -1
  238. package/resources/index.d.mts +4 -3
  239. package/resources/index.d.mts.map +1 -1
  240. package/resources/index.d.ts +4 -3
  241. package/resources/index.d.ts.map +1 -1
  242. package/resources/index.js +3 -1
  243. package/resources/index.js.map +1 -1
  244. package/resources/index.mjs +1 -0
  245. package/resources/index.mjs.map +1 -1
  246. package/resources/organization/admins.d.mts +23 -23
  247. package/resources/organization/admins.d.mts.map +1 -1
  248. package/resources/organization/admins.d.ts +23 -23
  249. package/resources/organization/admins.d.ts.map +1 -1
  250. package/resources/organization/admins.js +25 -25
  251. package/resources/organization/admins.js.map +1 -1
  252. package/resources/organization/admins.mjs +25 -25
  253. package/resources/organization/admins.mjs.map +1 -1
  254. package/resources/organization/brands.d.mts +50 -50
  255. package/resources/organization/brands.d.mts.map +1 -1
  256. package/resources/organization/brands.d.ts +50 -50
  257. package/resources/organization/brands.d.ts.map +1 -1
  258. package/resources/organization/brands.js +54 -54
  259. package/resources/organization/brands.js.map +1 -1
  260. package/resources/organization/brands.mjs +54 -54
  261. package/resources/organization/brands.mjs.map +1 -1
  262. package/resources/organization/index.d.mts +3 -3
  263. package/resources/organization/index.d.mts.map +1 -1
  264. package/resources/organization/index.d.ts +3 -3
  265. package/resources/organization/index.d.ts.map +1 -1
  266. package/resources/organization/index.mjs.map +1 -1
  267. package/resources/organization/organization.d.mts +3 -3
  268. package/resources/organization/organization.d.mts.map +1 -1
  269. package/resources/organization/organization.d.ts +3 -3
  270. package/resources/organization/organization.d.ts.map +1 -1
  271. package/resources/organization/organization.mjs.map +1 -1
  272. package/resources/organization/teams.d.mts +45 -45
  273. package/resources/organization/teams.d.mts.map +1 -1
  274. package/resources/organization/teams.d.ts +45 -45
  275. package/resources/organization/teams.d.ts.map +1 -1
  276. package/resources/organization/teams.js +44 -44
  277. package/resources/organization/teams.js.map +1 -1
  278. package/resources/organization/teams.mjs +44 -44
  279. package/resources/organization/teams.mjs.map +1 -1
  280. package/resources/organization.d.mts.map +1 -1
  281. package/resources/organization.d.ts.map +1 -1
  282. package/resources/organization.mjs.map +1 -1
  283. package/resources/support/conversation-tags.d.mts +40 -40
  284. package/resources/support/conversation-tags.d.mts.map +1 -1
  285. package/resources/support/conversation-tags.d.ts +40 -40
  286. package/resources/support/conversation-tags.d.ts.map +1 -1
  287. package/resources/support/conversation-tags.js +32 -32
  288. package/resources/support/conversation-tags.js.map +1 -1
  289. package/resources/support/conversation-tags.mjs +32 -32
  290. package/resources/support/conversation-tags.mjs.map +1 -1
  291. package/resources/support/conversations/conversations.d.mts +624 -722
  292. package/resources/support/conversations/conversations.d.mts.map +1 -1
  293. package/resources/support/conversations/conversations.d.ts +624 -722
  294. package/resources/support/conversations/conversations.d.ts.map +1 -1
  295. package/resources/support/conversations/conversations.js +309 -302
  296. package/resources/support/conversations/conversations.js.map +1 -1
  297. package/resources/support/conversations/conversations.mjs +309 -302
  298. package/resources/support/conversations/conversations.mjs.map +1 -1
  299. package/resources/support/conversations/index.d.mts +1 -1
  300. package/resources/support/conversations/index.d.mts.map +1 -1
  301. package/resources/support/conversations/index.d.ts +1 -1
  302. package/resources/support/conversations/index.d.ts.map +1 -1
  303. package/resources/support/conversations/index.js.map +1 -1
  304. package/resources/support/conversations/index.mjs.map +1 -1
  305. package/resources/support/conversations/participants.d.mts.map +1 -1
  306. package/resources/support/conversations/participants.d.ts.map +1 -1
  307. package/resources/support/conversations/participants.mjs.map +1 -1
  308. package/resources/support/conversations.d.mts.map +1 -1
  309. package/resources/support/conversations.d.ts.map +1 -1
  310. package/resources/support/conversations.mjs.map +1 -1
  311. package/resources/support/index.d.mts +3 -3
  312. package/resources/support/index.d.mts.map +1 -1
  313. package/resources/support/index.d.ts +3 -3
  314. package/resources/support/index.d.ts.map +1 -1
  315. package/resources/support/index.js.map +1 -1
  316. package/resources/support/index.mjs.map +1 -1
  317. package/resources/support/support.d.mts +4 -4
  318. package/resources/support/support.d.mts.map +1 -1
  319. package/resources/support/support.d.ts +4 -4
  320. package/resources/support/support.d.ts.map +1 -1
  321. package/resources/support/support.js.map +1 -1
  322. package/resources/support/support.mjs.map +1 -1
  323. package/resources/support/tickets/categories.d.mts +18 -18
  324. package/resources/support/tickets/categories.d.mts.map +1 -1
  325. package/resources/support/tickets/categories.d.ts +18 -18
  326. package/resources/support/tickets/categories.d.ts.map +1 -1
  327. package/resources/support/tickets/categories.js +25 -25
  328. package/resources/support/tickets/categories.js.map +1 -1
  329. package/resources/support/tickets/categories.mjs +25 -25
  330. package/resources/support/tickets/categories.mjs.map +1 -1
  331. package/resources/support/tickets/custom-fields.d.mts +20 -20
  332. package/resources/support/tickets/custom-fields.d.mts.map +1 -1
  333. package/resources/support/tickets/custom-fields.d.ts +20 -20
  334. package/resources/support/tickets/custom-fields.d.ts.map +1 -1
  335. package/resources/support/tickets/custom-fields.js +19 -19
  336. package/resources/support/tickets/custom-fields.js.map +1 -1
  337. package/resources/support/tickets/custom-fields.mjs +19 -19
  338. package/resources/support/tickets/custom-fields.mjs.map +1 -1
  339. package/resources/support/tickets/index.d.mts +4 -4
  340. package/resources/support/tickets/index.d.mts.map +1 -1
  341. package/resources/support/tickets/index.d.ts +4 -4
  342. package/resources/support/tickets/index.d.ts.map +1 -1
  343. package/resources/support/tickets/index.mjs.map +1 -1
  344. package/resources/support/tickets/statuses.d.mts +17 -17
  345. package/resources/support/tickets/statuses.d.mts.map +1 -1
  346. package/resources/support/tickets/statuses.d.ts +17 -17
  347. package/resources/support/tickets/statuses.d.ts.map +1 -1
  348. package/resources/support/tickets/statuses.js +21 -21
  349. package/resources/support/tickets/statuses.js.map +1 -1
  350. package/resources/support/tickets/statuses.mjs +21 -21
  351. package/resources/support/tickets/statuses.mjs.map +1 -1
  352. package/resources/support/tickets/tickets.d.mts +69 -69
  353. package/resources/support/tickets/tickets.d.mts.map +1 -1
  354. package/resources/support/tickets/tickets.d.ts +69 -69
  355. package/resources/support/tickets/tickets.d.ts.map +1 -1
  356. package/resources/support/tickets/tickets.js +44 -44
  357. package/resources/support/tickets/tickets.js.map +1 -1
  358. package/resources/support/tickets/tickets.mjs +44 -44
  359. package/resources/support/tickets/tickets.mjs.map +1 -1
  360. package/resources/support/tickets.d.mts.map +1 -1
  361. package/resources/support/tickets.d.ts.map +1 -1
  362. package/resources/support/tickets.mjs.map +1 -1
  363. package/resources/support.d.mts.map +1 -1
  364. package/resources/support.d.ts.map +1 -1
  365. package/resources/support.mjs.map +1 -1
  366. package/resources/surveys.d.mts +41 -41
  367. package/resources/surveys.d.mts.map +1 -1
  368. package/resources/surveys.d.ts +41 -41
  369. package/resources/surveys.d.ts.map +1 -1
  370. package/resources/surveys.js +44 -44
  371. package/resources/surveys.js.map +1 -1
  372. package/resources/surveys.mjs +44 -44
  373. package/resources/surveys.mjs.map +1 -1
  374. package/resources/users/companies/companies.d.mts +149 -177
  375. package/resources/users/companies/companies.d.mts.map +1 -1
  376. package/resources/users/companies/companies.d.ts +149 -177
  377. package/resources/users/companies/companies.d.ts.map +1 -1
  378. package/resources/users/companies/companies.js +153 -142
  379. package/resources/users/companies/companies.js.map +1 -1
  380. package/resources/users/companies/companies.mjs +153 -142
  381. package/resources/users/companies/companies.mjs.map +1 -1
  382. package/resources/users/companies/contacts.d.mts.map +1 -1
  383. package/resources/users/companies/contacts.d.ts.map +1 -1
  384. package/resources/users/companies/contacts.mjs.map +1 -1
  385. package/resources/users/companies/index.d.mts +1 -1
  386. package/resources/users/companies/index.d.mts.map +1 -1
  387. package/resources/users/companies/index.d.ts +1 -1
  388. package/resources/users/companies/index.d.ts.map +1 -1
  389. package/resources/users/companies/index.mjs.map +1 -1
  390. package/resources/users/companies.d.mts.map +1 -1
  391. package/resources/users/companies.d.ts.map +1 -1
  392. package/resources/users/companies.mjs.map +1 -1
  393. package/resources/users/contacts/by-user-id/by-user-id.d.mts.map +1 -1
  394. package/resources/users/contacts/by-user-id/by-user-id.d.ts.map +1 -1
  395. package/resources/users/contacts/by-user-id/by-user-id.mjs.map +1 -1
  396. package/resources/users/contacts/by-user-id/email-preferences.d.mts.map +1 -1
  397. package/resources/users/contacts/by-user-id/email-preferences.d.ts.map +1 -1
  398. package/resources/users/contacts/by-user-id/email-preferences.mjs.map +1 -1
  399. package/resources/users/contacts/by-user-id/index.d.mts.map +1 -1
  400. package/resources/users/contacts/by-user-id/index.d.ts.map +1 -1
  401. package/resources/users/contacts/by-user-id/index.mjs.map +1 -1
  402. package/resources/users/contacts/by-user-id.d.mts.map +1 -1
  403. package/resources/users/contacts/by-user-id.d.ts.map +1 -1
  404. package/resources/users/contacts/by-user-id.mjs.map +1 -1
  405. package/resources/users/contacts/contacts.d.mts +229 -256
  406. package/resources/users/contacts/contacts.d.mts.map +1 -1
  407. package/resources/users/contacts/contacts.d.ts +229 -256
  408. package/resources/users/contacts/contacts.d.ts.map +1 -1
  409. package/resources/users/contacts/contacts.js +213 -201
  410. package/resources/users/contacts/contacts.js.map +1 -1
  411. package/resources/users/contacts/contacts.mjs +213 -201
  412. package/resources/users/contacts/contacts.mjs.map +1 -1
  413. package/resources/users/contacts/email-preferences.d.mts.map +1 -1
  414. package/resources/users/contacts/email-preferences.d.ts.map +1 -1
  415. package/resources/users/contacts/email-preferences.mjs.map +1 -1
  416. package/resources/users/contacts/index.d.mts +1 -1
  417. package/resources/users/contacts/index.d.mts.map +1 -1
  418. package/resources/users/contacts/index.d.ts +1 -1
  419. package/resources/users/contacts/index.d.ts.map +1 -1
  420. package/resources/users/contacts/index.mjs.map +1 -1
  421. package/resources/users/contacts.d.mts.map +1 -1
  422. package/resources/users/contacts.d.ts.map +1 -1
  423. package/resources/users/contacts.mjs.map +1 -1
  424. package/resources/users/index.d.mts +2 -2
  425. package/resources/users/index.d.mts.map +1 -1
  426. package/resources/users/index.d.ts +2 -2
  427. package/resources/users/index.d.ts.map +1 -1
  428. package/resources/users/index.mjs.map +1 -1
  429. package/resources/users/users.d.mts +2 -2
  430. package/resources/users/users.d.mts.map +1 -1
  431. package/resources/users/users.d.ts +2 -2
  432. package/resources/users/users.d.ts.map +1 -1
  433. package/resources/users/users.mjs.map +1 -1
  434. package/resources/users.d.mts.map +1 -1
  435. package/resources/users.d.ts.map +1 -1
  436. package/resources/users.mjs.map +1 -1
  437. package/resources/webhooks.d.mts +75 -75
  438. package/resources/webhooks.d.mts.map +1 -1
  439. package/resources/webhooks.d.ts +75 -75
  440. package/resources/webhooks.d.ts.map +1 -1
  441. package/resources/webhooks.js +77 -77
  442. package/resources/webhooks.js.map +1 -1
  443. package/resources/webhooks.mjs +77 -77
  444. package/resources/webhooks.mjs.map +1 -1
  445. package/resources.d.mts.map +1 -1
  446. package/resources.d.ts.map +1 -1
  447. package/resources.mjs.map +1 -1
  448. package/src/client.ts +25 -3
  449. package/src/internal/utils/log.ts +2 -0
  450. package/src/resources/changelogs/changelogs.ts +170 -170
  451. package/src/resources/changelogs/index.ts +1 -1
  452. package/src/resources/conversation-attributes.ts +181 -0
  453. package/src/resources/feedback/boards.ts +28 -28
  454. package/src/resources/feedback/comments.ts +464 -141
  455. package/src/resources/feedback/custom-fields.ts +44 -44
  456. package/src/resources/feedback/feedback.ts +23 -5
  457. package/src/resources/feedback/index.ts +14 -5
  458. package/src/resources/feedback/post-statuses.ts +31 -31
  459. package/src/resources/feedback/posts/index.ts +7 -1
  460. package/src/resources/feedback/posts/posts.ts +294 -340
  461. package/src/resources/help-center/articles.ts +123 -186
  462. package/src/resources/help-center/collections.ts +84 -84
  463. package/src/resources/help-center/help-center.ts +7 -5
  464. package/src/resources/help-center/help-centers.ts +55 -55
  465. package/src/resources/help-center/index.ts +6 -5
  466. package/src/resources/help-center/redirect-rules.ts +174 -174
  467. package/src/resources/index.ts +11 -3
  468. package/src/resources/organization/admins.ts +33 -33
  469. package/src/resources/organization/brands.ts +66 -66
  470. package/src/resources/organization/index.ts +3 -3
  471. package/src/resources/organization/organization.ts +3 -3
  472. package/src/resources/organization/teams.ts +52 -52
  473. package/src/resources/support/conversation-tags.ts +59 -59
  474. package/src/resources/support/conversations/conversations.ts +748 -867
  475. package/src/resources/support/conversations/index.ts +11 -6
  476. package/src/resources/support/index.ts +14 -9
  477. package/src/resources/support/support.ts +21 -11
  478. package/src/resources/support/tickets/categories.ts +33 -33
  479. package/src/resources/support/tickets/custom-fields.ts +27 -27
  480. package/src/resources/support/tickets/index.ts +4 -4
  481. package/src/resources/support/tickets/statuses.ts +29 -29
  482. package/src/resources/support/tickets/tickets.ts +95 -95
  483. package/src/resources/surveys.ts +58 -58
  484. package/src/resources/users/companies/companies.ts +193 -223
  485. package/src/resources/users/companies/index.ts +2 -2
  486. package/src/resources/users/contacts/contacts.ts +275 -302
  487. package/src/resources/users/contacts/index.ts +3 -3
  488. package/src/resources/users/index.ts +5 -5
  489. package/src/resources/users/users.ts +5 -5
  490. package/src/resources/webhooks.ts +95 -95
  491. package/src/version.ts +1 -1
  492. package/uploads.d.mts +1 -0
  493. package/uploads.d.mts.map +1 -1
  494. package/uploads.d.ts +1 -0
  495. package/uploads.d.ts.map +1 -1
  496. package/uploads.mjs +1 -0
  497. package/uploads.mjs.map +1 -1
  498. package/version.d.mts +1 -1
  499. package/version.d.ts +1 -1
  500. package/version.js +1 -1
  501. package/version.mjs +1 -1
@@ -1,5 +1,6 @@
1
1
  import { APIResource } from "../../../core/resource.js";
2
2
  import * as ContactsAPI from "./contacts.js";
3
+ import * as PostsAPI from "../../feedback/posts/posts.js";
3
4
  import * as CompaniesAPI from "../companies/companies.js";
4
5
  import * as EmailPreferencesAPI from "./email-preferences.js";
5
6
  import { EmailPreferenceRetrieveParams, EmailPreferenceUpdateParams, EmailPreferences, PreferenceState, PreferencesOutput, UpdatePreferenceBody } from "./email-preferences.js";
@@ -15,19 +16,27 @@ export declare class Contacts extends APIResource {
15
16
  byUserID: ByUserIDAPI.ByUserID;
16
17
  emailPreferences: EmailPreferencesAPI.EmailPreferences;
17
18
  /**
18
- * Retrieves a single contact by their Featurebase ID.
19
- *
20
- * Returns both customers and leads.
19
+ * Returns a list of contacts (customers and leads) in your organization using
20
+ * cursor-based pagination.
21
21
  *
22
- * ### Path Parameters
22
+ * ### Query Parameters
23
23
  *
24
- * - `id` - The Featurebase contact ID (24-character ObjectId)
24
+ * - `limit` - Number of contacts to return (1-100, default 10)
25
+ * - `cursor` - Cursor from previous response for pagination
26
+ * - `contactType` - Filter by contact type: "customer" (default), "lead", or "all"
25
27
  *
26
28
  * ### Response Format
27
29
  *
28
- * Returns a single contact object with:
30
+ * Returns a list object with:
31
+ *
32
+ * - `object` - Always "list"
33
+ * - `data` - Array of contact objects
34
+ * - `nextCursor` - Cursor for the next page, or null if no more results
35
+ *
36
+ * ### Contact Object
37
+ *
38
+ * Each contact includes:
29
39
  *
30
- * - `object` - Always "contact"
31
40
  * - `id` - Unique contact identifier
32
41
  * - `userId` - External user ID from SSO (if set)
33
42
  * - `email` - Contact email address
@@ -44,11 +53,115 @@ export declare class Contacts extends APIResource {
44
53
  *
45
54
  * ```json
46
55
  * {
56
+ * "object": "list",
57
+ * "data": [
58
+ * {
59
+ * "object": "contact",
60
+ * "id": "676f0f6765bdaa7d7d760f88",
61
+ * "email": "john@example.com",
62
+ * "name": "John Doe",
63
+ * "type": "customer",
64
+ * ...
65
+ * }
66
+ * ],
67
+ * "nextCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9"
68
+ * }
69
+ * ```
70
+ *
71
+ * ### Version Availability
72
+ *
73
+ * This endpoint is only available in API version 2026-01-01.nova and newer.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * // Automatically fetches more pages as needed.
78
+ * for await (const contact of client.users.contacts.list()) {
79
+ * // ...
80
+ * }
81
+ * ```
82
+ */
83
+ list(params?: ContactListParams | null | undefined, options?: RequestOptions): PagePromise<ContactListDataCursorPage, ContactList.Data>;
84
+ /**
85
+ * Creates a new contact or updates an existing one.
86
+ *
87
+ * If a contact with the given `email` or `userId` already exists, it will be
88
+ * updated. Otherwise, a new contact will be created.
89
+ *
90
+ * **At least one of `email` or `userId` must be provided for identification.**
91
+ *
92
+ * ### Request Body
93
+ *
94
+ * | Field | Type | Required | Description |
95
+ * | ----------------------- | ------- | ------------------- | --------------------------------------- |
96
+ * | `email` | string | One of email/userId | Contact email address |
97
+ * | `userId` | string | One of email/userId | External user ID from your system |
98
+ * | `name` | string | No | Contact display name |
99
+ * | `profilePicture` | string | No | Profile picture URL |
100
+ * | `companies` | array | No | Companies the contact belongs to |
101
+ * | `customFields` | object | No | Custom field values |
102
+ * | `subscribedToChangelog` | boolean | No | Whether subscribed to changelog |
103
+ * | `locale` | string | No | Contact locale/language |
104
+ * | `phone` | string | No | Contact phone number |
105
+ * | `roles` | array | No | Role IDs to assign |
106
+ * | `userHash` | string | No | HMAC hash for identity verification |
107
+ * | `createdAt` | string | No | When the contact was created (ISO 8601) |
108
+ *
109
+ * ### Company Object
110
+ *
111
+ * Each company in the `companies` array can have:
112
+ *
113
+ * - `id` (required) - External company ID from your system
114
+ * - `name` (required) - Company name
115
+ * - `monthlySpend` - Monthly spend/revenue
116
+ * - `customFields` - Custom field values
117
+ * - `industry` - Industry
118
+ * - `website` - Company website URL
119
+ * - `plan` - Current plan/subscription
120
+ * - `companySize` - Number of employees
121
+ * - `createdAt` - When the company was created
122
+ *
123
+ * ### Response
124
+ *
125
+ * Returns the created or updated contact object.
126
+ *
127
+ * - **201 Created** - A new contact was created
128
+ * - **200 OK** - An existing contact was updated
129
+ *
130
+ * ### Example Request
131
+ *
132
+ * ```json
133
+ * {
134
+ * "email": "john@example.com",
135
+ * "name": "John Doe",
136
+ * "userId": "usr_12345",
137
+ * "companies": [
138
+ * {
139
+ * "id": "company_123",
140
+ * "name": "Acme Inc",
141
+ * "monthlySpend": 500,
142
+ * "plan": "enterprise"
143
+ * }
144
+ * ],
145
+ * "customFields": {
146
+ * "plan": "pro",
147
+ * "signupSource": "website"
148
+ * },
149
+ * "subscribedToChangelog": true
150
+ * }
151
+ * ```
152
+ *
153
+ * ### Example Response
154
+ *
155
+ * ```json
156
+ * {
47
157
  * "object": "contact",
48
158
  * "id": "676f0f6765bdaa7d7d760f88",
49
159
  * "email": "john@example.com",
50
160
  * "name": "John Doe",
161
+ * "userId": "usr_12345",
51
162
  * "type": "customer",
163
+ * "companies": [...],
164
+ * "customFields": {...},
52
165
  * ...
53
166
  * }
54
167
  * ```
@@ -59,34 +172,25 @@ export declare class Contacts extends APIResource {
59
172
  *
60
173
  * @example
61
174
  * ```ts
62
- * const contact = await client.users.contacts.retrieve(
63
- * '507f1f77bcf86cd799439011',
64
- * );
175
+ * const response =
176
+ * await client.users.contacts.createOrUpdate();
65
177
  * ```
66
178
  */
67
- retrieve(id: string, params?: ContactRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<ContactRetrieveResponse>;
179
+ createOrUpdate(params: ContactCreateOrUpdateParams, options?: RequestOptions): APIPromise<ContactCreateOrUpdateResponse>;
68
180
  /**
69
- * Returns a list of contacts (customers and leads) in your organization using
70
- * cursor-based pagination.
71
- *
72
- * ### Query Parameters
73
- *
74
- * - `limit` - Number of contacts to return (1-100, default 10)
75
- * - `cursor` - Cursor from previous response for pagination
76
- * - `contactType` - Filter by contact type: "customer" (default), "lead", or "all"
181
+ * Retrieves a single contact by their Featurebase ID.
77
182
  *
78
- * ### Response Format
183
+ * Returns both customers and leads.
79
184
  *
80
- * Returns a list object with:
185
+ * ### Path Parameters
81
186
  *
82
- * - `object` - Always "list"
83
- * - `data` - Array of contact objects
84
- * - `nextCursor` - Cursor for the next page, or null if no more results
187
+ * - `id` - The Featurebase contact ID (24-character ObjectId)
85
188
  *
86
- * ### Contact Object
189
+ * ### Response Format
87
190
  *
88
- * Each contact includes:
191
+ * Returns a single contact object with:
89
192
  *
193
+ * - `object` - Always "contact"
90
194
  * - `id` - Unique contact identifier
91
195
  * - `userId` - External user ID from SSO (if set)
92
196
  * - `email` - Contact email address
@@ -103,18 +207,12 @@ export declare class Contacts extends APIResource {
103
207
  *
104
208
  * ```json
105
209
  * {
106
- * "object": "list",
107
- * "data": [
108
- * {
109
- * "object": "contact",
110
- * "id": "676f0f6765bdaa7d7d760f88",
111
- * "email": "john@example.com",
112
- * "name": "John Doe",
113
- * "type": "customer",
114
- * ...
115
- * }
116
- * ],
117
- * "nextCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9"
210
+ * "object": "contact",
211
+ * "id": "676f0f6765bdaa7d7d760f88",
212
+ * "email": "john@example.com",
213
+ * "name": "John Doe",
214
+ * "type": "customer",
215
+ * ...
118
216
  * }
119
217
  * ```
120
218
  *
@@ -124,13 +222,12 @@ export declare class Contacts extends APIResource {
124
222
  *
125
223
  * @example
126
224
  * ```ts
127
- * // Automatically fetches more pages as needed.
128
- * for await (const contact of client.users.contacts.list()) {
129
- * // ...
130
- * }
225
+ * const contact = await client.users.contacts.retrieve(
226
+ * '507f1f77bcf86cd799439011',
227
+ * );
131
228
  * ```
132
229
  */
133
- list(params?: ContactListParams | null | undefined, options?: RequestOptions): PagePromise<ContactListDataCursorPage, ContactList.Data>;
230
+ retrieve(id: string, params?: ContactRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<ContactRetrieveResponse>;
134
231
  /**
135
232
  * Permanently deletes a contact by their Featurebase ID.
136
233
  *
@@ -180,7 +277,7 @@ export declare class Contacts extends APIResource {
180
277
  */
181
278
  delete(id: string, params?: ContactDeleteParams | null | undefined, options?: RequestOptions): APIPromise<DeletedContact>;
182
279
  /**
183
- * Blocks a contact by their Featurebase ID from the messenger/inbox.
280
+ * Blocks a contact by their Featurebase ID using the global moderation system.
184
281
  *
185
282
  * ### Path Parameters
186
283
  *
@@ -198,6 +295,8 @@ export declare class Contacts extends APIResource {
198
295
  * When a contact is blocked:
199
296
  *
200
297
  * - The contact cannot send new messages via messenger
298
+ * - The contact cannot interact with feedback/changelog surfaces for this
299
+ * organization
201
300
  * - Existing conversations are not deleted but no new messages can be added by the
202
301
  * blocked user
203
302
  * - The block can be removed by unblocking the contact
@@ -233,87 +332,42 @@ export declare class Contacts extends APIResource {
233
332
  */
234
333
  block(id: string, params?: ContactBlockParams | null | undefined, options?: RequestOptions): APIPromise<ContactBlockResponse>;
235
334
  /**
236
- * Creates a new contact or updates an existing one.
237
- *
238
- * If a contact with the given `email` or `userId` already exists, it will be
239
- * updated. Otherwise, a new contact will be created.
335
+ * Unblocks a contact by their Featurebase ID from the global moderation system.
240
336
  *
241
- * **At least one of `email` or `userId` must be provided for identification.**
337
+ * ### Path Parameters
242
338
  *
243
- * ### Request Body
339
+ * - `id` - The Featurebase internal ID of the contact (MongoDB ObjectId)
244
340
  *
245
- * | Field | Type | Required | Description |
246
- * | ----------------------- | ------- | ------------------- | --------------------------------------- |
247
- * | `email` | string | One of email/userId | Contact email address |
248
- * | `userId` | string | One of email/userId | External user ID from your system |
249
- * | `name` | string | No | Contact display name |
250
- * | `profilePicture` | string | No | Profile picture URL |
251
- * | `companies` | array | No | Companies the contact belongs to |
252
- * | `customFields` | object | No | Custom field values |
253
- * | `subscribedToChangelog` | boolean | No | Whether subscribed to changelog |
254
- * | `locale` | string | No | Contact locale/language |
255
- * | `phone` | string | No | Contact phone number |
256
- * | `roles` | array | No | Role IDs to assign |
257
- * | `userHash` | string | No | HMAC hash for identity verification |
258
- * | `createdAt` | string | No | When the contact was created (ISO 8601) |
341
+ * ### Supported Contact Types
259
342
  *
260
- * ### Company Object
343
+ * This endpoint unblocks both:
261
344
  *
262
- * Each company in the `companies` array can have:
345
+ * - **Customers** - Users with registered accounts
346
+ * - **Leads** - Anonymous or unregistered visitors
263
347
  *
264
- * - `id` (required) - External company ID from your system
265
- * - `name` (required) - Company name
266
- * - `monthlySpend` - Monthly spend/revenue
267
- * - `customFields` - Custom field values
268
- * - `industry` - Industry
269
- * - `website` - Company website URL
270
- * - `plan` - Current plan/subscription
271
- * - `companySize` - Number of employees
272
- * - `createdAt` - When the company was created
348
+ * ### Unblocking Behavior
273
349
  *
274
- * ### Response
350
+ * When a contact is unblocked:
275
351
  *
276
- * Returns the created or updated contact object.
352
+ * - The contact can resume sending messages via messenger
353
+ * - Previously blocked conversations remain intact
354
+ * - The contact regains full messenger functionality
277
355
  *
278
- * - **201 Created** - A new contact was created
279
- * - **200 OK** - An existing contact was updated
356
+ * ### Response
280
357
  *
281
- * ### Example Request
358
+ * Returns an unblock confirmation object:
282
359
  *
283
- * ```json
284
- * {
285
- * "email": "john@example.com",
286
- * "name": "John Doe",
287
- * "userId": "usr_12345",
288
- * "companies": [
289
- * {
290
- * "id": "company_123",
291
- * "name": "Acme Inc",
292
- * "monthlySpend": 500,
293
- * "plan": "enterprise"
294
- * }
295
- * ],
296
- * "customFields": {
297
- * "plan": "pro",
298
- * "signupSource": "website"
299
- * },
300
- * "subscribedToChangelog": true
301
- * }
302
- * ```
360
+ * - `id` - The ID of the unblocked contact
361
+ * - `object` - Always "contact"
362
+ * - `unblocked` - Always `true`
303
363
  *
304
364
  * ### Example Response
305
365
  *
306
366
  * ```json
307
367
  * {
368
+ * "id": "507f1f77bcf86cd799439011",
308
369
  * "object": "contact",
309
- * "id": "676f0f6765bdaa7d7d760f88",
310
- * "email": "john@example.com",
311
- * "name": "John Doe",
312
- * "userId": "usr_12345",
313
- * "type": "customer",
314
- * "companies": [...],
315
- * "customFields": {...},
316
- * ...
370
+ * "unblocked": true
317
371
  * }
318
372
  * ```
319
373
  *
@@ -323,11 +377,12 @@ export declare class Contacts extends APIResource {
323
377
  *
324
378
  * @example
325
379
  * ```ts
326
- * const response =
327
- * await client.users.contacts.createOrUpdate();
380
+ * const response = await client.users.contacts.unblock(
381
+ * '507f1f77bcf86cd799439011',
382
+ * );
328
383
  * ```
329
384
  */
330
- createOrUpdate(params: ContactCreateOrUpdateParams, options?: RequestOptions): APIPromise<ContactCreateOrUpdateResponse>;
385
+ unblock(id: string, params?: ContactUnblockParams | null | undefined, options?: RequestOptions): APIPromise<ContactUnblockResponse>;
331
386
  /**
332
387
  * Search contacts (customers and leads) with a structured filter AST, sorting, and
333
388
  * cursor pagination.
@@ -343,10 +398,10 @@ export declare class Contacts extends APIResource {
343
398
  * "operator": "AND",
344
399
  * "value": [
345
400
  * { "field": "type", "operator": "=", "value": "customer" },
346
- * { "field": "last_activity", "operator": ">", "value": 1735689600 }
401
+ * { "field": "lastActivity", "operator": ">", "value": 1735689600 }
347
402
  * ]
348
403
  * },
349
- * "sort": "last_activity:desc",
404
+ * "sort": "lastActivity:desc",
350
405
  * "limit": 20
351
406
  * }
352
407
  * ```
@@ -355,17 +410,23 @@ export declare class Contacts extends APIResource {
355
410
  *
356
411
  * ### Supported fields and operators
357
412
  *
358
- * | Field | Type | Operators |
359
- * | ------------------ | -------------------------------- | --------------------------- |
360
- * | `external_id` | string (caller-provided user id) | `=`, `!=`, `IN`, `NIN` |
361
- * | `email` | string | `=`, `!=`, `IN`, `NIN` |
362
- * | `name` | string | `=`, `!=`, `IN`, `NIN`, `~` |
363
- * | `type` | enum (`customer`, `lead`) | `=`, `!=`, `IN`, `NIN` |
364
- * | `company_ids` | id (Featurebase company `id`) | `=`, `!=`, `IN`, `NIN` |
365
- * | `posts_created` | number | `=`, `!=`, `>`, `<` |
366
- * | `comments_created` | number | `=`, `!=`, `>`, `<` |
367
- * | `last_activity` | unix seconds | `=`, `!=`, `>`, `<` |
368
- * | `created_at` | unix seconds | `=`, `!=`, `>`, `<` |
413
+ * Field names are camelCase, matching the rest of the v2 public API. Snake_case
414
+ * names that this endpoint originally shipped with (`external_id`, `company_ids`,
415
+ * `posts_created`, `comments_created`, `last_activity`, `created_at`) are still
416
+ * accepted for back-compat but are deprecated — please migrate to camelCase in new
417
+ * code.
418
+ *
419
+ * | Field | Type | Operators |
420
+ * | ----------------- | -------------------------------- | --------------------------- |
421
+ * | `externalId` | string (caller-provided user id) | `=`, `!=`, `IN`, `NIN` |
422
+ * | `email` | string | `=`, `!=`, `IN`, `NIN` |
423
+ * | `name` | string | `=`, `!=`, `IN`, `NIN`, `~` |
424
+ * | `type` | enum (`customer`, `lead`) | `=`, `!=`, `IN`, `NIN` |
425
+ * | `companyIds` | id (Featurebase company `id`) | `=`, `!=`, `IN`, `NIN` |
426
+ * | `postsCreated` | number | `=`, `!=`, `>`, `<` |
427
+ * | `commentsCreated` | number | `=`, `!=`, `>`, `<` |
428
+ * | `lastActivity` | unix seconds | `=`, `!=`, `>`, `<` |
429
+ * | `createdAt` | unix seconds | `=`, `!=`, `>`, `<` |
369
430
  *
370
431
  * The `name ~ "..."` operator runs a word-aware substring search via the
371
432
  * underlying text index. Other string operators (`!~`, `^`, `$`) are reserved for
@@ -383,10 +444,14 @@ export declare class Contacts extends APIResource {
383
444
  *
384
445
  * Allowed values:
385
446
  *
386
- * - `last_activity:desc` (default), `last_activity:asc`
387
- * - `created_at:desc`, `created_at:asc`
388
- * - `posts_created:desc`, `posts_created:asc`
389
- * - `comments_created:desc`, `comments_created:asc`
447
+ * - `lastActivity:desc` (default), `lastActivity:asc`
448
+ * - `createdAt:desc`, `createdAt:asc`
449
+ * - `postsCreated:desc`, `postsCreated:asc`
450
+ * - `commentsCreated:desc`, `commentsCreated:asc`
451
+ *
452
+ * Snake_case sort axes (`last_activity:desc`, `created_at:asc`, etc.) are accepted
453
+ * for back-compat — the cursor encodes the canonical camelCase identity, so a
454
+ * caller can switch naming conventions mid-pagination without restarting.
390
455
  *
391
456
  * The chosen sort axis is encoded in the cursor; switching `sort` mid-pagination
392
457
  * returns `400 invalid_cursor`. Restart pagination without a cursor when changing
@@ -413,58 +478,6 @@ export declare class Contacts extends APIResource {
413
478
  * ```
414
479
  */
415
480
  search(params: ContactSearchParams, options?: RequestOptions): APIPromise<ContactSearchResponse>;
416
- /**
417
- * Unblocks a contact by their Featurebase ID from the messenger/inbox.
418
- *
419
- * ### Path Parameters
420
- *
421
- * - `id` - The Featurebase internal ID of the contact (MongoDB ObjectId)
422
- *
423
- * ### Supported Contact Types
424
- *
425
- * This endpoint unblocks both:
426
- *
427
- * - **Customers** - Users with registered accounts
428
- * - **Leads** - Anonymous or unregistered visitors
429
- *
430
- * ### Unblocking Behavior
431
- *
432
- * When a contact is unblocked:
433
- *
434
- * - The contact can resume sending messages via messenger
435
- * - Previously blocked conversations remain intact
436
- * - The contact regains full messenger functionality
437
- *
438
- * ### Response
439
- *
440
- * Returns an unblock confirmation object:
441
- *
442
- * - `id` - The ID of the unblocked contact
443
- * - `object` - Always "contact"
444
- * - `unblocked` - Always `true`
445
- *
446
- * ### Example Response
447
- *
448
- * ```json
449
- * {
450
- * "id": "507f1f77bcf86cd799439011",
451
- * "object": "contact",
452
- * "unblocked": true
453
- * }
454
- * ```
455
- *
456
- * ### Version Availability
457
- *
458
- * This endpoint is only available in API version 2026-01-01.nova and newer.
459
- *
460
- * @example
461
- * ```ts
462
- * const response = await client.users.contacts.unblock(
463
- * '507f1f77bcf86cd799439011',
464
- * );
465
- * ```
466
- */
467
- unblock(id: string, params?: ContactUnblockParams | null | undefined, options?: RequestOptions): APIPromise<ContactUnblockResponse>;
468
481
  }
469
482
  export type ContactListDataCursorPage = CursorPage<ContactList.Data>;
470
483
  /**
@@ -726,13 +739,6 @@ export interface ContactUnblockResponse {
726
739
  */
727
740
  unblocked: true;
728
741
  }
729
- export interface ContactRetrieveParams {
730
- /**
731
- * API version for this request. Defaults to your organization's configured API
732
- * version if not specified.
733
- */
734
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
735
- }
736
742
  export interface ContactListParams extends CursorPageParams {
737
743
  /**
738
744
  * Query param: Filter contacts by type. Defaults to "customer".
@@ -744,20 +750,6 @@ export interface ContactListParams extends CursorPageParams {
744
750
  */
745
751
  'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
746
752
  }
747
- export interface ContactDeleteParams {
748
- /**
749
- * API version for this request. Defaults to your organization's configured API
750
- * version if not specified.
751
- */
752
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
753
- }
754
- export interface ContactBlockParams {
755
- /**
756
- * API version for this request. Defaults to your organization's configured API
757
- * version if not specified.
758
- */
759
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
760
- }
761
753
  export interface ContactCreateOrUpdateParams {
762
754
  /**
763
755
  * Body param: Companies the contact belongs to
@@ -881,6 +873,34 @@ export declare namespace ContactCreateOrUpdateParams {
881
873
  signupSource?: string;
882
874
  }
883
875
  }
876
+ export interface ContactRetrieveParams {
877
+ /**
878
+ * API version for this request. Defaults to your organization's configured API
879
+ * version if not specified.
880
+ */
881
+ 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
882
+ }
883
+ export interface ContactDeleteParams {
884
+ /**
885
+ * API version for this request. Defaults to your organization's configured API
886
+ * version if not specified.
887
+ */
888
+ 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
889
+ }
890
+ export interface ContactBlockParams {
891
+ /**
892
+ * API version for this request. Defaults to your organization's configured API
893
+ * version if not specified.
894
+ */
895
+ 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
896
+ }
897
+ export interface ContactUnblockParams {
898
+ /**
899
+ * API version for this request. Defaults to your organization's configured API
900
+ * version if not specified.
901
+ */
902
+ 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
903
+ }
884
904
  export interface ContactSearchParams {
885
905
  /**
886
906
  * Body param: An opaque cursor for pagination. Use the `nextCursor` value from a
@@ -895,70 +915,23 @@ export interface ContactSearchParams {
895
915
  * Body param: Structured filter AST. Either a single filter clause or one
896
916
  * top-level AND group (max 15 clauses). Top-level OR groups are not yet supported.
897
917
  */
898
- query?: ContactSearchParams.SearchFilter | ContactSearchParams.SearchFilterGroup;
918
+ query?: PostsAPI.SearchFilter | PostsAPI.SearchFilterGroup;
899
919
  /**
900
- * Body param: Sort field + direction. Defaults to `last_activity:desc` (matches
901
- * the dashboard's default contact ordering). The chosen sort axis is encoded in
902
- * the cursor; switching `sort` mid-pagination returns `400 invalid_cursor`.
920
+ * Body param: Sort field + direction. Defaults to `lastActivity:desc` (matches the
921
+ * dashboard's default contact ordering). The chosen sort axis is encoded in the
922
+ * cursor; switching `sort` mid-pagination returns `400 invalid_cursor`. Snake_case
923
+ * names (`last_activity:desc`, `posts_created:asc`, …) are accepted for
924
+ * back-compat — prefer camelCase in new code.
903
925
  */
904
- sort?: 'created_at:desc' | 'created_at:asc' | 'last_activity:desc' | 'last_activity:asc' | 'posts_created:desc' | 'posts_created:asc' | 'comments_created:desc' | 'comments_created:asc';
926
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'lastActivity:desc' | 'lastActivity:asc' | 'postsCreated:desc' | 'postsCreated:asc' | 'commentsCreated:desc' | 'commentsCreated:asc' | 'created_at:desc' | 'created_at:asc' | 'last_activity:desc' | 'last_activity:asc' | 'posts_created:desc' | 'posts_created:asc' | 'comments_created:desc' | 'comments_created:asc';
905
927
  /**
906
928
  * Header param: API version for this request. Defaults to your organization's
907
929
  * configured API version if not specified.
908
930
  */
909
931
  'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
910
932
  }
911
- export declare namespace ContactSearchParams {
912
- interface SearchFilter {
913
- /**
914
- * Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
915
- */
916
- field: string;
917
- /**
918
- * Comparison operator
919
- */
920
- operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
921
- /**
922
- * Value to compare against (primitive or array of primitives)
923
- */
924
- value: string | number | boolean | Array<string | number> | null;
925
- }
926
- interface SearchFilterGroup {
927
- /**
928
- * Group operator: AND (all match) or OR (any match)
929
- */
930
- operator: 'AND' | 'OR';
931
- /**
932
- * Array of filter clauses (1-15 entries)
933
- */
934
- value: Array<SearchFilterGroup.Value>;
935
- }
936
- namespace SearchFilterGroup {
937
- interface Value {
938
- /**
939
- * Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
940
- */
941
- field: string;
942
- /**
943
- * Comparison operator
944
- */
945
- operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
946
- /**
947
- * Value to compare against (primitive or array of primitives)
948
- */
949
- value: string | number | boolean | Array<string | number> | null;
950
- }
951
- }
952
- }
953
- export interface ContactUnblockParams {
954
- /**
955
- * API version for this request. Defaults to your organization's configured API
956
- * version if not specified.
957
- */
958
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
959
- }
960
933
  export declare namespace Contacts {
961
- export { type Contact as Contact, type ContactList as ContactList, type DeletedContact as DeletedContact, type ContactRetrieveResponse as ContactRetrieveResponse, type ContactBlockResponse as ContactBlockResponse, type ContactCreateOrUpdateResponse as ContactCreateOrUpdateResponse, type ContactSearchResponse as ContactSearchResponse, type ContactUnblockResponse as ContactUnblockResponse, type ContactListDataCursorPage as ContactListDataCursorPage, type ContactRetrieveParams as ContactRetrieveParams, type ContactListParams as ContactListParams, type ContactDeleteParams as ContactDeleteParams, type ContactBlockParams as ContactBlockParams, type ContactCreateOrUpdateParams as ContactCreateOrUpdateParams, type ContactSearchParams as ContactSearchParams, type ContactUnblockParams as ContactUnblockParams, };
934
+ export { type Contact as Contact, type ContactList as ContactList, type DeletedContact as DeletedContact, type ContactRetrieveResponse as ContactRetrieveResponse, type ContactBlockResponse as ContactBlockResponse, type ContactCreateOrUpdateResponse as ContactCreateOrUpdateResponse, type ContactSearchResponse as ContactSearchResponse, type ContactUnblockResponse as ContactUnblockResponse, type ContactListDataCursorPage as ContactListDataCursorPage, type ContactListParams as ContactListParams, type ContactCreateOrUpdateParams as ContactCreateOrUpdateParams, type ContactRetrieveParams as ContactRetrieveParams, type ContactDeleteParams as ContactDeleteParams, type ContactBlockParams as ContactBlockParams, type ContactUnblockParams as ContactUnblockParams, type ContactSearchParams as ContactSearchParams, };
962
935
  export { ByUserID as ByUserID, type ByUserIDRetrieveResponse as ByUserIDRetrieveResponse, type ByUserIDRetrieveParams as ByUserIDRetrieveParams, type ByUserIDDeleteParams as ByUserIDDeleteParams, };
963
936
  export { EmailPreferences as EmailPreferences, type PreferenceState as PreferenceState, type PreferencesOutput as PreferencesOutput, type UpdatePreferenceBody as UpdatePreferenceBody, type EmailPreferenceRetrieveParams as EmailPreferenceRetrieveParams, type EmailPreferenceUpdateParams as EmailPreferenceUpdateParams, };
964
937
  }