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,6 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../../../core/resource';
4
+ import * as PostsAPI from './posts';
4
5
  import * as PostStatusesAPI from '../post-statuses';
5
6
  import * as VotersAPI from './voters';
6
7
  import {
@@ -26,6 +27,85 @@ import { path } from '../../../internal/utils/path';
26
27
  export class Posts extends APIResource {
27
28
  voters: VotersAPI.Voters = new VotersAPI.Voters(this._client);
28
29
 
30
+ /**
31
+ * Returns all posts (feedback submissions) for the authenticated organization.
32
+ *
33
+ * Posts are user-submitted feedback items. Each post belongs to a board and can
34
+ * have:
35
+ *
36
+ * - Status (in progress, complete, etc.)
37
+ * - Tags for categorization
38
+ * - Upvotes from users
39
+ * - Comments (if enabled)
40
+ * - Custom field values
41
+ *
42
+ * ### Pagination
43
+ *
44
+ * This endpoint uses **cursor-based pagination**:
45
+ *
46
+ * - `limit` - Number of posts to return (1-100, default 10)
47
+ * - `cursor` - Opaque cursor from a previous response's `nextCursor` field
48
+ *
49
+ * **Example:** To paginate through results:
50
+ *
51
+ * 1. First request: `GET /v2/posts?limit=10`
52
+ * 2. If `nextCursor` is not null, use it for the next page
53
+ * 3. Next request: `GET /v2/posts?limit=10&cursor={nextCursor}`
54
+ *
55
+ * ### Response Format
56
+ *
57
+ * Returns a list object with:
58
+ *
59
+ * - `object` - Always "list"
60
+ * - `data` - Array of post objects
61
+ * - `nextCursor` - Cursor for the next page (null if no more results)
62
+ *
63
+ * ### Filtering
64
+ *
65
+ * Filter posts using query parameters:
66
+ *
67
+ * - `boardId` - Filter by board (category) ID
68
+ * - `statusId` - Filter by status ID
69
+ * - `tags` - Filter by tag names (can be comma-separated or repeated)
70
+ * - `q` - Search query for title/content
71
+ * - `inReview` - Include posts pending moderation
72
+ *
73
+ * ### Sorting
74
+ *
75
+ * Use `sortBy` to sort results:
76
+ *
77
+ * - `createdAt` - Sort by creation date (default)
78
+ * - `upvotes` - Sort by vote count
79
+ * - `trending` - Sort by trending score
80
+ * - `recent` - Sort by most recently updated
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * // Automatically fetches more pages as needed.
85
+ * for await (const post of client.feedback.posts.list()) {
86
+ * // ...
87
+ * }
88
+ * ```
89
+ */
90
+ list(
91
+ params: PostListParams | null | undefined = {},
92
+ options?: RequestOptions,
93
+ ): PagePromise<PostsCursorPage, Post> {
94
+ const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
95
+ return this._client.getAPIList('/v2/posts', CursorPage<Post>, {
96
+ query,
97
+ ...options,
98
+ headers: buildHeaders([
99
+ {
100
+ ...(featurebaseVersion?.toString() != null ?
101
+ { 'Featurebase-Version': featurebaseVersion?.toString() }
102
+ : undefined),
103
+ },
104
+ options?.headers,
105
+ ]),
106
+ });
107
+ }
108
+
29
109
  /**
30
110
  * Creates a new post (feedback submission) in the specified board.
31
111
  *
@@ -185,85 +265,6 @@ export class Posts extends APIResource {
185
265
  });
186
266
  }
187
267
 
188
- /**
189
- * Returns all posts (feedback submissions) for the authenticated organization.
190
- *
191
- * Posts are user-submitted feedback items. Each post belongs to a board and can
192
- * have:
193
- *
194
- * - Status (in progress, complete, etc.)
195
- * - Tags for categorization
196
- * - Upvotes from users
197
- * - Comments (if enabled)
198
- * - Custom field values
199
- *
200
- * ### Pagination
201
- *
202
- * This endpoint uses **cursor-based pagination**:
203
- *
204
- * - `limit` - Number of posts to return (1-100, default 10)
205
- * - `cursor` - Opaque cursor from a previous response's `nextCursor` field
206
- *
207
- * **Example:** To paginate through results:
208
- *
209
- * 1. First request: `GET /v2/posts?limit=10`
210
- * 2. If `nextCursor` is not null, use it for the next page
211
- * 3. Next request: `GET /v2/posts?limit=10&cursor={nextCursor}`
212
- *
213
- * ### Response Format
214
- *
215
- * Returns a list object with:
216
- *
217
- * - `object` - Always "list"
218
- * - `data` - Array of post objects
219
- * - `nextCursor` - Cursor for the next page (null if no more results)
220
- *
221
- * ### Filtering
222
- *
223
- * Filter posts using query parameters:
224
- *
225
- * - `boardId` - Filter by board (category) ID
226
- * - `statusId` - Filter by status ID
227
- * - `tags` - Filter by tag names (can be comma-separated or repeated)
228
- * - `q` - Search query for title/content
229
- * - `inReview` - Include posts pending moderation
230
- *
231
- * ### Sorting
232
- *
233
- * Use `sortBy` to sort results:
234
- *
235
- * - `createdAt` - Sort by creation date (default)
236
- * - `upvotes` - Sort by vote count
237
- * - `trending` - Sort by trending score
238
- * - `recent` - Sort by most recently updated
239
- *
240
- * @example
241
- * ```ts
242
- * // Automatically fetches more pages as needed.
243
- * for await (const post of client.feedback.posts.list()) {
244
- * // ...
245
- * }
246
- * ```
247
- */
248
- list(
249
- params: PostListParams | null | undefined = {},
250
- options?: RequestOptions,
251
- ): PagePromise<PostsCursorPage, Post> {
252
- const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
253
- return this._client.getAPIList('/v2/posts', CursorPage<Post>, {
254
- query,
255
- ...options,
256
- headers: buildHeaders([
257
- {
258
- ...(featurebaseVersion?.toString() != null ?
259
- { 'Featurebase-Version': featurebaseVersion?.toString() }
260
- : undefined),
261
- },
262
- options?.headers,
263
- ]),
264
- });
265
- }
266
-
267
268
  /**
268
269
  * Permanently deletes a post. This action cannot be undone.
269
270
  *
@@ -322,7 +323,7 @@ export class Posts extends APIResource {
322
323
  *
323
324
  * - **Filter mode** — pass a structured `query` AST (and/or `sort`) and the
324
325
  * endpoint returns posts matching the filter, ordered by `sort` (default
325
- * `created_at:desc`). Same shape as `/v2/conversations/search`,
326
+ * `createdAt:desc`). Same shape as `/v2/conversations/search`,
326
327
  * `/v2/companies/search`, `/v2/contacts/search`.
327
328
  * - **Search mode** — pass a top-level `search` string and the endpoint runs a
328
329
  * hybrid full-text + vector search (BM25 + embeddings, semanticRatio 0.5) over
@@ -337,7 +338,7 @@ export class Posts extends APIResource {
337
338
  * "operator": "AND",
338
339
  * "value": [
339
340
  * {
340
- * "field": "board_id",
341
+ * "field": "boardId",
341
342
  * "operator": "IN",
342
343
  * "value": ["507f1f77bcf86cd799439011"]
343
344
  * }
@@ -363,7 +364,7 @@ export class Posts extends APIResource {
363
364
  * "operator": "AND",
364
365
  * "value": [
365
366
  * {
366
- * "field": "board_id",
367
+ * "field": "boardId",
367
368
  * "operator": "IN",
368
369
  * "value": ["507f1f77bcf86cd799439011"]
369
370
  * },
@@ -375,21 +376,44 @@ export class Posts extends APIResource {
375
376
  * }
376
377
  * ```
377
378
  *
379
+ * To list every post a contact has upvoted (the inverse of
380
+ * `feedback.posts.voters.list(postId)`):
381
+ *
382
+ * ```json
383
+ * {
384
+ * "query": {
385
+ * "field": "voterId",
386
+ * "operator": "=",
387
+ * "value": "507f1f77bcf86cd799439011"
388
+ * },
389
+ * "sort": "upvotes:desc",
390
+ * "limit": 100
391
+ * }
392
+ * ```
393
+ *
378
394
  * Top-level `OR` groups and nested groups are not supported in this version.
379
395
  *
380
396
  * ### Supported fields and operators
381
397
  *
382
- * | Field | Type | Operators |
383
- * | ----------------------------------------------------------------- | ---------------------------- | -------------------------------------------------- |
384
- * | `board_id` | id (categoryId) | `=`, `!=`, `IN`, `NIN` |
385
- * | `status_id` | id (postStatus) | `=`, `!=`, `IN`, `NIN` |
386
- * | `tag_id` | id (postTags) | `=`, `!=`, `IN`, `NIN` |
387
- * | `author_id` | string (user id) | `=`, `!=`, `IN`, `NIN` |
388
- * | `assignee_id` | id or null (admin) | `=`, `!=`, `IN`, `NIN` (use `null` for unassigned) |
389
- * | `company_id` | string (external company id) | `=`, `!=`, `IN`, `NIN` |
390
- * | `created_at`, `updated_at`, `eta` | unix seconds | `=`, `!=`, `>`, `<`, `>=`, `<=` |
391
- * | `upvotes`, `comment_count`, `monthly_spend`, `opportunity_amount` | number | `=`, `!=`, `>`, `<`, `>=`, `<=` |
392
- * | `in_review`, `is_pinned` | boolean | `=`, `!=` |
398
+ * Field names are camelCase, matching the rest of the v2 public API. Snake_case
399
+ * names that this endpoint originally shipped with (`board_id`, `status_id`,
400
+ * `tag_id`, `author_id`, `voter_id`, `assignee_id`, `company_id`, `created_at`,
401
+ * `updated_at`, `comment_count`, `monthly_spend`, `opportunity_amount`,
402
+ * `in_review`, `is_pinned`) are still accepted for back-compat but are deprecated
403
+ * please migrate to camelCase in new code.
404
+ *
405
+ * | Field | Type | Operators |
406
+ * | -------------------------------------------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
407
+ * | `boardId` | id (categoryId) | `=`, `!=`, `IN`, `NIN` |
408
+ * | `statusId` | id (postStatus) | `=`, `!=`, `IN`, `NIN` |
409
+ * | `tagId` | id (postTags) | `=`, `!=`, `IN`, `NIN` |
410
+ * | `authorId` | string (user id) | `=`, `!=`, `IN`, `NIN` |
411
+ * | `voterId` | id (customer) | `=`, `IN` (use to list every post a contact has upvoted; only matches `type: customer` upvoters — guests/admins are not searchable here) |
412
+ * | `assigneeId` | id or null (admin) | `=`, `!=`, `IN`, `NIN` (use `null` for unassigned) |
413
+ * | `companyId` | string (external company id) | `=`, `!=`, `IN`, `NIN` |
414
+ * | `createdAt`, `updatedAt`, `eta` | unix seconds | `=`, `!=`, `>`, `<`, `>=`, `<=` |
415
+ * | `upvotes`, `commentCount`, `monthlySpend`, `opportunityAmount` | number | `=`, `!=`, `>`, `<`, `>=`, `<=` |
416
+ * | `inReview`, `isPinned` | boolean | `=`, `!=` |
393
417
  *
394
418
  * Use the top-level `search` field for full-text search across `title` and
395
419
  * `content` (see "Search mode" above). The clause-level operators `~`, `!~`, `^`,
@@ -398,7 +422,7 @@ export class Posts extends APIResource {
398
422
  * A filter-mode query (no `search`) consisting only of `!=` or `NIN` clauses on
399
423
  * unbounded fields is rejected with `query_too_broad` to prevent full-org scans.
400
424
  * Combine the negation with at least one positive clause (`=`, `IN`, `>`, `<`)
401
- * instead. Boolean fields (`in_review`, `is_pinned`) are bounded so a standalone
425
+ * instead. Boolean fields (`inReview`, `isPinned`) are bounded so a standalone
402
426
  * negation on them is allowed. Search mode (with `search` set) relaxes this — the
403
427
  * FTS query itself acts as the positive constraint.
404
428
  *
@@ -406,15 +430,18 @@ export class Posts extends APIResource {
406
430
  *
407
431
  * Allowed values:
408
432
  *
409
- * - `created_at:desc` (default), `created_at:asc`
410
- * - `updated_at:desc`, `updated_at:asc`
433
+ * - `createdAt:desc` (default), `createdAt:asc`
434
+ * - `updatedAt:desc`, `updatedAt:asc`
411
435
  * - `upvotes:desc`, `upvotes:asc`
412
436
  * - `eta:desc`, `eta:asc`
413
- * - `trending_score:desc`, `trending_score:asc`
414
- * - `monthly_spend:desc`, `monthly_spend:asc` (sum of upvoters' monthly spend)
415
- * - `opportunity_amount:desc`, `opportunity_amount:asc` (linked HubSpot/Salesforce
437
+ * - `monthlySpend:desc`, `monthlySpend:asc` (sum of upvoters' monthly spend)
438
+ * - `opportunityAmount:desc`, `opportunityAmount:asc` (linked HubSpot/Salesforce
416
439
  * value)
417
- * - `comment_count:desc`, `comment_count:asc`
440
+ * - `commentCount:desc`, `commentCount:asc`
441
+ *
442
+ * Snake_case sort axes (`created_at:desc`, `monthly_spend:asc`, etc.) are accepted
443
+ * for back-compat — the cursor encodes the canonical camelCase identity, so a
444
+ * caller can switch naming conventions mid-pagination without restarting.
418
445
  *
419
446
  * When `search` is set, results are ranked by relevance unless `sort` is also set,
420
447
  * in which case the matching posts are returned in the requested order. The chosen
@@ -479,14 +506,14 @@ export interface Post {
479
506
  */
480
507
  id: string;
481
508
 
482
- access: Post.Access;
509
+ access: PostAccess;
483
510
 
484
511
  /**
485
512
  * ID of the admin assigned to this post, null if unassigned
486
513
  */
487
514
  assigneeId: string | null;
488
515
 
489
- author: Post.Author | null;
516
+ author: PostAuthor | null;
490
517
 
491
518
  /**
492
519
  * Board (category) ID this post belongs to
@@ -518,7 +545,7 @@ export interface Post {
518
545
  */
519
546
  eta: string | null;
520
547
 
521
- features: Post.Features;
548
+ features: PostFeatures;
522
549
 
523
550
  /**
524
551
  * Whether the post is pending moderation review
@@ -560,7 +587,7 @@ export interface Post {
560
587
  /**
561
588
  * Tags attached to this post
562
589
  */
563
- tags: Array<Post.Tag>;
590
+ tags: Array<PostTag>;
564
591
 
565
592
  /**
566
593
  * Post title
@@ -579,56 +606,6 @@ export interface Post {
579
606
  }
580
607
 
581
608
  export namespace Post {
582
- export interface Access {
583
- /**
584
- * External company IDs explicitly granted access to this post. Empty array means
585
- * no company-level restrictions. Non-empty means only users belonging to these
586
- * companies can see the post.
587
- */
588
- companyExternalIds: Array<string>;
589
-
590
- /**
591
- * User IDs explicitly granted access to this post. Empty array means no user-level
592
- * restrictions (post uses board/org visibility). Non-empty means only these users
593
- * (plus admins) can see the post.
594
- */
595
- userIds: Array<string>;
596
- }
597
-
598
- export interface Author {
599
- /**
600
- * Author unique identifier
601
- */
602
- id: string | null;
603
-
604
- /**
605
- * Author email (if available)
606
- */
607
- email: string | null;
608
-
609
- /**
610
- * Author display name
611
- */
612
- name: string;
613
-
614
- /**
615
- * Author profile picture URL
616
- */
617
- profilePicture: string | null;
618
-
619
- /**
620
- * Type of user who authored the post
621
- */
622
- type: 'admin' | 'customer' | 'guest' | 'integration' | 'bot' | 'lead';
623
- }
624
-
625
- export interface Features {
626
- /**
627
- * Whether comments are allowed on this post
628
- */
629
- commentsEnabled: boolean;
630
- }
631
-
632
609
  /**
633
610
  * Third-party integration links associated with this post
634
611
  */
@@ -793,23 +770,102 @@ export namespace Post {
793
770
  objectType: 'Opportunity' | 'Case';
794
771
  }
795
772
  }
773
+ }
796
774
 
797
- export interface Tag {
798
- /**
799
- * Tag unique identifier
800
- */
801
- id: string;
775
+ export interface PostAccess {
776
+ /**
777
+ * External company IDs explicitly granted access to this post. Empty array means
778
+ * no company-level restrictions. Non-empty means only users belonging to these
779
+ * companies can see the post.
780
+ */
781
+ companyExternalIds: Array<string>;
802
782
 
803
- /**
804
- * Tag color hex code
805
- */
806
- color: string | null;
783
+ /**
784
+ * User IDs explicitly granted access to this post. Empty array means no user-level
785
+ * restrictions (post uses board/org visibility). Non-empty means only these users
786
+ * (plus admins) can see the post.
787
+ */
788
+ userIds: Array<string>;
789
+ }
807
790
 
808
- /**
809
- * Tag name
810
- */
811
- name: string;
812
- }
791
+ export interface PostAuthor {
792
+ /**
793
+ * Author unique identifier
794
+ */
795
+ id: string | null;
796
+
797
+ /**
798
+ * Author email (if available)
799
+ */
800
+ email: string | null;
801
+
802
+ /**
803
+ * Author display name
804
+ */
805
+ name: string;
806
+
807
+ /**
808
+ * Author profile picture URL
809
+ */
810
+ profilePicture: string | null;
811
+
812
+ /**
813
+ * Type of user who authored the post
814
+ */
815
+ type: 'admin' | 'customer' | 'guest' | 'integration' | 'bot' | 'lead';
816
+ }
817
+
818
+ export interface PostFeatures {
819
+ /**
820
+ * Whether comments are allowed on this post
821
+ */
822
+ commentsEnabled: boolean;
823
+ }
824
+
825
+ export interface PostTag {
826
+ /**
827
+ * Tag unique identifier
828
+ */
829
+ id: string;
830
+
831
+ /**
832
+ * Tag color hex code
833
+ */
834
+ color: string | null;
835
+
836
+ /**
837
+ * Tag name
838
+ */
839
+ name: string;
840
+ }
841
+
842
+ export interface SearchFilter {
843
+ /**
844
+ * Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
845
+ */
846
+ field: string;
847
+
848
+ /**
849
+ * Comparison operator
850
+ */
851
+ operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
852
+
853
+ /**
854
+ * Value to compare against (primitive or array of primitives)
855
+ */
856
+ value: string | number | boolean | Array<string | number> | null;
857
+ }
858
+
859
+ export interface SearchFilterGroup {
860
+ /**
861
+ * Group operator: AND (all match) or OR (any match)
862
+ */
863
+ operator: 'AND' | 'OR';
864
+
865
+ /**
866
+ * Array of filter clauses (1-15 entries)
867
+ */
868
+ value: Array<SearchFilter>;
813
869
  }
814
870
 
815
871
  export interface PostDeleteResponse {
@@ -866,14 +922,14 @@ export namespace PostSearchResponse {
866
922
  */
867
923
  id: string;
868
924
 
869
- access: Data.Access;
925
+ access: PostsAPI.PostAccess;
870
926
 
871
927
  /**
872
928
  * ID of the admin assigned to this post, null if unassigned
873
929
  */
874
930
  assigneeId: string | null;
875
931
 
876
- author: Data.Author | null;
932
+ author: PostsAPI.PostAuthor | null;
877
933
 
878
934
  /**
879
935
  * Board (category) ID this post belongs to
@@ -905,7 +961,7 @@ export namespace PostSearchResponse {
905
961
  */
906
962
  eta: string | null;
907
963
 
908
- features: Data.Features;
964
+ features: PostsAPI.PostFeatures;
909
965
 
910
966
  /**
911
967
  * Whether the post is pending moderation review
@@ -947,7 +1003,7 @@ export namespace PostSearchResponse {
947
1003
  /**
948
1004
  * Tags attached to this post
949
1005
  */
950
- tags: Array<Data.Tag>;
1006
+ tags: Array<PostsAPI.PostTag>;
951
1007
 
952
1008
  /**
953
1009
  * Post title
@@ -966,56 +1022,6 @@ export namespace PostSearchResponse {
966
1022
  }
967
1023
 
968
1024
  export namespace Data {
969
- export interface Access {
970
- /**
971
- * External company IDs explicitly granted access to this post. Empty array means
972
- * no company-level restrictions. Non-empty means only users belonging to these
973
- * companies can see the post.
974
- */
975
- companyExternalIds: Array<string>;
976
-
977
- /**
978
- * User IDs explicitly granted access to this post. Empty array means no user-level
979
- * restrictions (post uses board/org visibility). Non-empty means only these users
980
- * (plus admins) can see the post.
981
- */
982
- userIds: Array<string>;
983
- }
984
-
985
- export interface Author {
986
- /**
987
- * Author unique identifier
988
- */
989
- id: string | null;
990
-
991
- /**
992
- * Author email (if available)
993
- */
994
- email: string | null;
995
-
996
- /**
997
- * Author display name
998
- */
999
- name: string;
1000
-
1001
- /**
1002
- * Author profile picture URL
1003
- */
1004
- profilePicture: string | null;
1005
-
1006
- /**
1007
- * Type of user who authored the post
1008
- */
1009
- type: 'admin' | 'customer' | 'guest' | 'integration' | 'bot' | 'lead';
1010
- }
1011
-
1012
- export interface Features {
1013
- /**
1014
- * Whether comments are allowed on this post
1015
- */
1016
- commentsEnabled: boolean;
1017
- }
1018
-
1019
1025
  /**
1020
1026
  * Third-party integration links associated with this post
1021
1027
  */
@@ -1180,24 +1186,50 @@ export namespace PostSearchResponse {
1180
1186
  objectType: 'Opportunity' | 'Case';
1181
1187
  }
1182
1188
  }
1189
+ }
1190
+ }
1183
1191
 
1184
- export interface Tag {
1185
- /**
1186
- * Tag unique identifier
1187
- */
1188
- id: string;
1192
+ export interface PostListParams extends CursorPageParams {
1193
+ /**
1194
+ * Query param: Filter by board (category) ID(s)
1195
+ */
1196
+ boardId?: string | Array<string>;
1189
1197
 
1190
- /**
1191
- * Tag color hex code
1192
- */
1193
- color: string | null;
1198
+ /**
1199
+ * Query param: Include posts that are in review
1200
+ */
1201
+ inReview?: boolean | null;
1194
1202
 
1195
- /**
1196
- * Tag name
1197
- */
1198
- name: string;
1199
- }
1200
- }
1203
+ /**
1204
+ * Query param: Search query to filter posts by title/content
1205
+ */
1206
+ q?: string;
1207
+
1208
+ /**
1209
+ * Query param: Sort order for posts
1210
+ */
1211
+ sortBy?: 'createdAt' | 'upvotes' | 'trending' | 'recent';
1212
+
1213
+ /**
1214
+ * Query param: Sort direction
1215
+ */
1216
+ sortOrder?: 'asc' | 'desc';
1217
+
1218
+ /**
1219
+ * Query param: Filter by status ID(s)
1220
+ */
1221
+ statusId?: string | Array<string>;
1222
+
1223
+ /**
1224
+ * Query param: Filter by tag names
1225
+ */
1226
+ tags?: string | Array<string>;
1227
+
1228
+ /**
1229
+ * Header param: API version for this request. Defaults to your organization's
1230
+ * configured API version if not specified.
1231
+ */
1232
+ 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
1201
1233
  }
1202
1234
 
1203
1235
  export interface PostCreateParams {
@@ -1436,49 +1468,6 @@ export interface PostUpdateParams {
1436
1468
  'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
1437
1469
  }
1438
1470
 
1439
- export interface PostListParams extends CursorPageParams {
1440
- /**
1441
- * Query param: Filter by board (category) ID(s)
1442
- */
1443
- boardId?: string | Array<string>;
1444
-
1445
- /**
1446
- * Query param: Include posts that are in review
1447
- */
1448
- inReview?: boolean | null;
1449
-
1450
- /**
1451
- * Query param: Search query to filter posts by title/content
1452
- */
1453
- q?: string;
1454
-
1455
- /**
1456
- * Query param: Sort order for posts
1457
- */
1458
- sortBy?: 'createdAt' | 'upvotes' | 'trending' | 'recent';
1459
-
1460
- /**
1461
- * Query param: Sort direction
1462
- */
1463
- sortOrder?: 'asc' | 'desc';
1464
-
1465
- /**
1466
- * Query param: Filter by status ID(s)
1467
- */
1468
- statusId?: string | Array<string>;
1469
-
1470
- /**
1471
- * Query param: Filter by tag names
1472
- */
1473
- tags?: string | Array<string>;
1474
-
1475
- /**
1476
- * Header param: API version for this request. Defaults to your organization's
1477
- * configured API version if not specified.
1478
- */
1479
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
1480
- }
1481
-
1482
1471
  export interface PostDeleteParams {
1483
1472
  /**
1484
1473
  * API version for this request. Defaults to your organization's configured API
@@ -1503,7 +1492,7 @@ export interface PostSearchParams {
1503
1492
  * Body param: Structured filter AST. Either a single filter clause or one
1504
1493
  * top-level AND group (max 15 clauses). Top-level OR groups are not yet supported.
1505
1494
  */
1506
- query?: PostSearchParams.SearchFilter | PostSearchParams.SearchFilterGroup;
1495
+ query?: SearchFilter | SearchFilterGroup;
1507
1496
 
1508
1497
  /**
1509
1498
  * Body param: Plain-text full-text search across post `title` and `content`.
@@ -1515,21 +1504,30 @@ export interface PostSearchParams {
1515
1504
  search?: string;
1516
1505
 
1517
1506
  /**
1518
- * Body param: Sort field + direction. Defaults to `created_at:desc`. The chosen
1507
+ * Body param: Sort field + direction. Defaults to `createdAt:desc`. The chosen
1519
1508
  * sort axis is encoded in the cursor; switching `sort` mid-pagination returns
1520
- * `400 invalid_cursor`.
1509
+ * `400 invalid_cursor`. Snake_case names (`created_at:desc`, `monthly_spend:asc`,
1510
+ * …) are accepted for back-compat — prefer camelCase in new code.
1521
1511
  */
1522
1512
  sort?:
1523
- | 'created_at:desc'
1524
- | 'created_at:asc'
1525
- | 'updated_at:desc'
1526
- | 'updated_at:asc'
1513
+ | 'createdAt:desc'
1514
+ | 'createdAt:asc'
1515
+ | 'updatedAt:desc'
1516
+ | 'updatedAt:asc'
1527
1517
  | 'upvotes:desc'
1528
1518
  | 'upvotes:asc'
1529
1519
  | 'eta:desc'
1530
1520
  | 'eta:asc'
1531
- | 'trending_score:desc'
1532
- | 'trending_score:asc'
1521
+ | 'monthlySpend:desc'
1522
+ | 'monthlySpend:asc'
1523
+ | 'opportunityAmount:desc'
1524
+ | 'opportunityAmount:asc'
1525
+ | 'commentCount:desc'
1526
+ | 'commentCount:asc'
1527
+ | 'created_at:desc'
1528
+ | 'created_at:asc'
1529
+ | 'updated_at:desc'
1530
+ | 'updated_at:asc'
1533
1531
  | 'monthly_spend:desc'
1534
1532
  | 'monthly_spend:asc'
1535
1533
  | 'opportunity_amount:desc'
@@ -1544,68 +1542,24 @@ export interface PostSearchParams {
1544
1542
  'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
1545
1543
  }
1546
1544
 
1547
- export namespace PostSearchParams {
1548
- export interface SearchFilter {
1549
- /**
1550
- * Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
1551
- */
1552
- field: string;
1553
-
1554
- /**
1555
- * Comparison operator
1556
- */
1557
- operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
1558
-
1559
- /**
1560
- * Value to compare against (primitive or array of primitives)
1561
- */
1562
- value: string | number | boolean | Array<string | number> | null;
1563
- }
1564
-
1565
- export interface SearchFilterGroup {
1566
- /**
1567
- * Group operator: AND (all match) or OR (any match)
1568
- */
1569
- operator: 'AND' | 'OR';
1570
-
1571
- /**
1572
- * Array of filter clauses (1-15 entries)
1573
- */
1574
- value: Array<SearchFilterGroup.Value>;
1575
- }
1576
-
1577
- export namespace SearchFilterGroup {
1578
- export interface Value {
1579
- /**
1580
- * Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
1581
- */
1582
- field: string;
1583
-
1584
- /**
1585
- * Comparison operator
1586
- */
1587
- operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
1588
-
1589
- /**
1590
- * Value to compare against (primitive or array of primitives)
1591
- */
1592
- value: string | number | boolean | Array<string | number> | null;
1593
- }
1594
- }
1595
- }
1596
-
1597
1545
  Posts.Voters = Voters;
1598
1546
 
1599
1547
  export declare namespace Posts {
1600
1548
  export {
1601
1549
  type Post as Post,
1550
+ type PostAccess as PostAccess,
1551
+ type PostAuthor as PostAuthor,
1552
+ type PostFeatures as PostFeatures,
1553
+ type PostTag as PostTag,
1554
+ type SearchFilter as SearchFilter,
1555
+ type SearchFilterGroup as SearchFilterGroup,
1602
1556
  type PostDeleteResponse as PostDeleteResponse,
1603
1557
  type PostSearchResponse as PostSearchResponse,
1604
1558
  type PostsCursorPage as PostsCursorPage,
1559
+ type PostListParams as PostListParams,
1605
1560
  type PostCreateParams as PostCreateParams,
1606
1561
  type PostRetrieveParams as PostRetrieveParams,
1607
1562
  type PostUpdateParams as PostUpdateParams,
1608
- type PostListParams as PostListParams,
1609
1563
  type PostDeleteParams as PostDeleteParams,
1610
1564
  type PostSearchParams as PostSearchParams,
1611
1565
  };