featurebase-node 0.14.3 → 0.15.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 (362) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/client.d.mts +5 -5
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +5 -5
  5. package/client.d.ts.map +1 -1
  6. package/package.json +1 -1
  7. package/resources/audit-logs.d.mts +3 -3
  8. package/resources/audit-logs.d.mts.map +1 -1
  9. package/resources/audit-logs.d.ts +3 -3
  10. package/resources/audit-logs.d.ts.map +1 -1
  11. package/resources/changelogs/changelogs.d.mts +116 -116
  12. package/resources/changelogs/changelogs.d.mts.map +1 -1
  13. package/resources/changelogs/changelogs.d.ts +116 -116
  14. package/resources/changelogs/changelogs.d.ts.map +1 -1
  15. package/resources/changelogs/changelogs.js +74 -74
  16. package/resources/changelogs/changelogs.js.map +1 -1
  17. package/resources/changelogs/changelogs.mjs +74 -74
  18. package/resources/changelogs/changelogs.mjs.map +1 -1
  19. package/resources/changelogs/index.d.mts +1 -1
  20. package/resources/changelogs/index.d.mts.map +1 -1
  21. package/resources/changelogs/index.d.ts +1 -1
  22. package/resources/changelogs/index.d.ts.map +1 -1
  23. package/resources/changelogs/subscribers.d.mts +3 -3
  24. package/resources/changelogs/subscribers.d.mts.map +1 -1
  25. package/resources/changelogs/subscribers.d.ts +3 -3
  26. package/resources/changelogs/subscribers.d.ts.map +1 -1
  27. package/resources/conversation-attributes.d.mts +17 -17
  28. package/resources/conversation-attributes.d.mts.map +1 -1
  29. package/resources/conversation-attributes.d.ts +17 -17
  30. package/resources/conversation-attributes.d.ts.map +1 -1
  31. package/resources/conversation-attributes.js +19 -19
  32. package/resources/conversation-attributes.js.map +1 -1
  33. package/resources/conversation-attributes.mjs +19 -19
  34. package/resources/conversation-attributes.mjs.map +1 -1
  35. package/resources/feedback/boards.d.mts +19 -19
  36. package/resources/feedback/boards.d.mts.map +1 -1
  37. package/resources/feedback/boards.d.ts +19 -19
  38. package/resources/feedback/boards.d.ts.map +1 -1
  39. package/resources/feedback/boards.js +20 -20
  40. package/resources/feedback/boards.js.map +1 -1
  41. package/resources/feedback/boards.mjs +20 -20
  42. package/resources/feedback/boards.mjs.map +1 -1
  43. package/resources/feedback/comments.d.mts +113 -113
  44. package/resources/feedback/comments.d.mts.map +1 -1
  45. package/resources/feedback/comments.d.ts +113 -113
  46. package/resources/feedback/comments.d.ts.map +1 -1
  47. package/resources/feedback/comments.js +93 -93
  48. package/resources/feedback/comments.js.map +1 -1
  49. package/resources/feedback/comments.mjs +93 -93
  50. package/resources/feedback/comments.mjs.map +1 -1
  51. package/resources/feedback/custom-fields.d.mts +36 -36
  52. package/resources/feedback/custom-fields.d.mts.map +1 -1
  53. package/resources/feedback/custom-fields.d.ts +36 -36
  54. package/resources/feedback/custom-fields.d.ts.map +1 -1
  55. package/resources/feedback/custom-fields.js +36 -36
  56. package/resources/feedback/custom-fields.js.map +1 -1
  57. package/resources/feedback/custom-fields.mjs +36 -36
  58. package/resources/feedback/custom-fields.mjs.map +1 -1
  59. package/resources/feedback/feedback.d.mts +5 -5
  60. package/resources/feedback/feedback.d.mts.map +1 -1
  61. package/resources/feedback/feedback.d.ts +5 -5
  62. package/resources/feedback/feedback.d.ts.map +1 -1
  63. package/resources/feedback/index.d.mts +5 -5
  64. package/resources/feedback/index.d.mts.map +1 -1
  65. package/resources/feedback/index.d.ts +5 -5
  66. package/resources/feedback/index.d.ts.map +1 -1
  67. package/resources/feedback/post-statuses.d.mts +20 -20
  68. package/resources/feedback/post-statuses.d.mts.map +1 -1
  69. package/resources/feedback/post-statuses.d.ts +20 -20
  70. package/resources/feedback/post-statuses.d.ts.map +1 -1
  71. package/resources/feedback/post-statuses.js +23 -23
  72. package/resources/feedback/post-statuses.js.map +1 -1
  73. package/resources/feedback/post-statuses.mjs +23 -23
  74. package/resources/feedback/post-statuses.mjs.map +1 -1
  75. package/resources/feedback/posts/index.d.mts +1 -1
  76. package/resources/feedback/posts/index.d.mts.map +1 -1
  77. package/resources/feedback/posts/index.d.ts +1 -1
  78. package/resources/feedback/posts/index.d.ts.map +1 -1
  79. package/resources/feedback/posts/posts.d.mts +132 -132
  80. package/resources/feedback/posts/posts.d.mts.map +1 -1
  81. package/resources/feedback/posts/posts.d.ts +132 -132
  82. package/resources/feedback/posts/posts.d.ts.map +1 -1
  83. package/resources/feedback/posts/posts.js +107 -107
  84. package/resources/feedback/posts/posts.js.map +1 -1
  85. package/resources/feedback/posts/posts.mjs +107 -107
  86. package/resources/feedback/posts/posts.mjs.map +1 -1
  87. package/resources/feedback/posts/voters.d.mts +3 -3
  88. package/resources/feedback/posts/voters.d.mts.map +1 -1
  89. package/resources/feedback/posts/voters.d.ts +3 -3
  90. package/resources/feedback/posts/voters.d.ts.map +1 -1
  91. package/resources/help-center/articles.d.mts +213 -97
  92. package/resources/help-center/articles.d.mts.map +1 -1
  93. package/resources/help-center/articles.d.ts +213 -97
  94. package/resources/help-center/articles.d.ts.map +1 -1
  95. package/resources/help-center/articles.js +73 -73
  96. package/resources/help-center/articles.js.map +1 -1
  97. package/resources/help-center/articles.mjs +73 -73
  98. package/resources/help-center/articles.mjs.map +1 -1
  99. package/resources/help-center/collections.d.mts +158 -71
  100. package/resources/help-center/collections.d.mts.map +1 -1
  101. package/resources/help-center/collections.d.ts +158 -71
  102. package/resources/help-center/collections.d.ts.map +1 -1
  103. package/resources/help-center/collections.js +65 -65
  104. package/resources/help-center/collections.js.map +1 -1
  105. package/resources/help-center/collections.mjs +65 -65
  106. package/resources/help-center/collections.mjs.map +1 -1
  107. package/resources/help-center/help-center.d.mts +4 -4
  108. package/resources/help-center/help-center.d.mts.map +1 -1
  109. package/resources/help-center/help-center.d.ts +4 -4
  110. package/resources/help-center/help-center.d.ts.map +1 -1
  111. package/resources/help-center/help-centers.d.mts +77 -48
  112. package/resources/help-center/help-centers.d.mts.map +1 -1
  113. package/resources/help-center/help-centers.d.ts +77 -48
  114. package/resources/help-center/help-centers.d.ts.map +1 -1
  115. package/resources/help-center/help-centers.js +43 -43
  116. package/resources/help-center/help-centers.js.map +1 -1
  117. package/resources/help-center/help-centers.mjs +43 -43
  118. package/resources/help-center/help-centers.mjs.map +1 -1
  119. package/resources/help-center/index.d.mts +4 -4
  120. package/resources/help-center/index.d.mts.map +1 -1
  121. package/resources/help-center/index.d.ts +4 -4
  122. package/resources/help-center/index.d.ts.map +1 -1
  123. package/resources/help-center/redirect-rules.d.mts +124 -124
  124. package/resources/help-center/redirect-rules.d.mts.map +1 -1
  125. package/resources/help-center/redirect-rules.d.ts +124 -124
  126. package/resources/help-center/redirect-rules.d.ts.map +1 -1
  127. package/resources/help-center/redirect-rules.js +112 -112
  128. package/resources/help-center/redirect-rules.js.map +1 -1
  129. package/resources/help-center/redirect-rules.mjs +112 -112
  130. package/resources/help-center/redirect-rules.mjs.map +1 -1
  131. package/resources/index.d.mts +5 -5
  132. package/resources/index.d.mts.map +1 -1
  133. package/resources/index.d.ts +5 -5
  134. package/resources/index.d.ts.map +1 -1
  135. package/resources/organization/admins.d.mts +26 -26
  136. package/resources/organization/admins.d.mts.map +1 -1
  137. package/resources/organization/admins.d.ts +26 -26
  138. package/resources/organization/admins.d.ts.map +1 -1
  139. package/resources/organization/admins.js +25 -25
  140. package/resources/organization/admins.js.map +1 -1
  141. package/resources/organization/admins.mjs +25 -25
  142. package/resources/organization/admins.mjs.map +1 -1
  143. package/resources/organization/brands.d.mts +52 -52
  144. package/resources/organization/brands.d.mts.map +1 -1
  145. package/resources/organization/brands.d.ts +52 -52
  146. package/resources/organization/brands.d.ts.map +1 -1
  147. package/resources/organization/brands.js +54 -54
  148. package/resources/organization/brands.js.map +1 -1
  149. package/resources/organization/brands.mjs +54 -54
  150. package/resources/organization/brands.mjs.map +1 -1
  151. package/resources/organization/index.d.mts +3 -3
  152. package/resources/organization/index.d.mts.map +1 -1
  153. package/resources/organization/index.d.ts +3 -3
  154. package/resources/organization/index.d.ts.map +1 -1
  155. package/resources/organization/organization.d.mts +3 -3
  156. package/resources/organization/organization.d.mts.map +1 -1
  157. package/resources/organization/organization.d.ts +3 -3
  158. package/resources/organization/organization.d.ts.map +1 -1
  159. package/resources/organization/teams.d.mts +47 -47
  160. package/resources/organization/teams.d.mts.map +1 -1
  161. package/resources/organization/teams.d.ts +47 -47
  162. package/resources/organization/teams.d.ts.map +1 -1
  163. package/resources/organization/teams.js +44 -44
  164. package/resources/organization/teams.js.map +1 -1
  165. package/resources/organization/teams.mjs +44 -44
  166. package/resources/organization/teams.mjs.map +1 -1
  167. package/resources/reports.d.mts +249 -215
  168. package/resources/reports.d.mts.map +1 -1
  169. package/resources/reports.d.ts +249 -215
  170. package/resources/reports.d.ts.map +1 -1
  171. package/resources/reports.js +99 -99
  172. package/resources/reports.js.map +1 -1
  173. package/resources/reports.mjs +99 -99
  174. package/resources/reports.mjs.map +1 -1
  175. package/resources/support/conversation-tags.d.mts +43 -43
  176. package/resources/support/conversation-tags.d.mts.map +1 -1
  177. package/resources/support/conversation-tags.d.ts +43 -43
  178. package/resources/support/conversation-tags.d.ts.map +1 -1
  179. package/resources/support/conversation-tags.js +32 -32
  180. package/resources/support/conversation-tags.js.map +1 -1
  181. package/resources/support/conversation-tags.mjs +32 -32
  182. package/resources/support/conversation-tags.mjs.map +1 -1
  183. package/resources/support/conversations/conversations.d.mts +337 -327
  184. package/resources/support/conversations/conversations.d.mts.map +1 -1
  185. package/resources/support/conversations/conversations.d.ts +337 -327
  186. package/resources/support/conversations/conversations.d.ts.map +1 -1
  187. package/resources/support/conversations/conversations.js +293 -283
  188. package/resources/support/conversations/conversations.js.map +1 -1
  189. package/resources/support/conversations/conversations.mjs +293 -283
  190. package/resources/support/conversations/conversations.mjs.map +1 -1
  191. package/resources/support/conversations/index.d.mts +1 -1
  192. package/resources/support/conversations/index.d.mts.map +1 -1
  193. package/resources/support/conversations/index.d.ts +1 -1
  194. package/resources/support/conversations/index.d.ts.map +1 -1
  195. package/resources/support/conversations/participants.d.mts +2 -2
  196. package/resources/support/conversations/participants.d.mts.map +1 -1
  197. package/resources/support/conversations/participants.d.ts +2 -2
  198. package/resources/support/conversations/participants.d.ts.map +1 -1
  199. package/resources/support/index.d.mts +3 -3
  200. package/resources/support/index.d.mts.map +1 -1
  201. package/resources/support/index.d.ts +3 -3
  202. package/resources/support/index.d.ts.map +1 -1
  203. package/resources/support/support.d.mts +3 -3
  204. package/resources/support/support.d.mts.map +1 -1
  205. package/resources/support/support.d.ts +3 -3
  206. package/resources/support/support.d.ts.map +1 -1
  207. package/resources/support/tickets/categories.d.mts +20 -20
  208. package/resources/support/tickets/categories.d.mts.map +1 -1
  209. package/resources/support/tickets/categories.d.ts +20 -20
  210. package/resources/support/tickets/categories.d.ts.map +1 -1
  211. package/resources/support/tickets/categories.js +25 -25
  212. package/resources/support/tickets/categories.js.map +1 -1
  213. package/resources/support/tickets/categories.mjs +25 -25
  214. package/resources/support/tickets/categories.mjs.map +1 -1
  215. package/resources/support/tickets/custom-fields.d.mts +22 -22
  216. package/resources/support/tickets/custom-fields.d.mts.map +1 -1
  217. package/resources/support/tickets/custom-fields.d.ts +22 -22
  218. package/resources/support/tickets/custom-fields.d.ts.map +1 -1
  219. package/resources/support/tickets/custom-fields.js +19 -19
  220. package/resources/support/tickets/custom-fields.js.map +1 -1
  221. package/resources/support/tickets/custom-fields.mjs +19 -19
  222. package/resources/support/tickets/custom-fields.mjs.map +1 -1
  223. package/resources/support/tickets/index.d.mts +4 -4
  224. package/resources/support/tickets/index.d.mts.map +1 -1
  225. package/resources/support/tickets/index.d.ts +4 -4
  226. package/resources/support/tickets/index.d.ts.map +1 -1
  227. package/resources/support/tickets/statuses.d.mts +19 -19
  228. package/resources/support/tickets/statuses.d.mts.map +1 -1
  229. package/resources/support/tickets/statuses.d.ts +19 -19
  230. package/resources/support/tickets/statuses.d.ts.map +1 -1
  231. package/resources/support/tickets/statuses.js +21 -21
  232. package/resources/support/tickets/statuses.js.map +1 -1
  233. package/resources/support/tickets/statuses.mjs +21 -21
  234. package/resources/support/tickets/statuses.mjs.map +1 -1
  235. package/resources/support/tickets/tickets.d.mts +75 -75
  236. package/resources/support/tickets/tickets.d.mts.map +1 -1
  237. package/resources/support/tickets/tickets.d.ts +75 -75
  238. package/resources/support/tickets/tickets.d.ts.map +1 -1
  239. package/resources/support/tickets/tickets.js +44 -44
  240. package/resources/support/tickets/tickets.js.map +1 -1
  241. package/resources/support/tickets/tickets.mjs +44 -44
  242. package/resources/support/tickets/tickets.mjs.map +1 -1
  243. package/resources/surveys.d.mts +43 -43
  244. package/resources/surveys.d.mts.map +1 -1
  245. package/resources/surveys.d.ts +43 -43
  246. package/resources/surveys.d.ts.map +1 -1
  247. package/resources/surveys.js +44 -44
  248. package/resources/surveys.js.map +1 -1
  249. package/resources/surveys.mjs +44 -44
  250. package/resources/surveys.mjs.map +1 -1
  251. package/resources/users/companies/companies.d.mts +121 -130
  252. package/resources/users/companies/companies.d.mts.map +1 -1
  253. package/resources/users/companies/companies.d.ts +121 -130
  254. package/resources/users/companies/companies.d.ts.map +1 -1
  255. package/resources/users/companies/companies.js +125 -125
  256. package/resources/users/companies/companies.js.map +1 -1
  257. package/resources/users/companies/companies.mjs +125 -125
  258. package/resources/users/companies/companies.mjs.map +1 -1
  259. package/resources/users/companies/contacts.d.mts +3 -3
  260. package/resources/users/companies/contacts.d.mts.map +1 -1
  261. package/resources/users/companies/contacts.d.ts +3 -3
  262. package/resources/users/companies/contacts.d.ts.map +1 -1
  263. package/resources/users/companies/index.d.mts +1 -1
  264. package/resources/users/companies/index.d.mts.map +1 -1
  265. package/resources/users/companies/index.d.ts +1 -1
  266. package/resources/users/companies/index.d.ts.map +1 -1
  267. package/resources/users/contacts/by-user-id/by-user-id.d.mts +2 -2
  268. package/resources/users/contacts/by-user-id/by-user-id.d.mts.map +1 -1
  269. package/resources/users/contacts/by-user-id/by-user-id.d.ts +2 -2
  270. package/resources/users/contacts/by-user-id/by-user-id.d.ts.map +1 -1
  271. package/resources/users/contacts/by-user-id/email-preferences.d.mts +2 -2
  272. package/resources/users/contacts/by-user-id/email-preferences.d.mts.map +1 -1
  273. package/resources/users/contacts/by-user-id/email-preferences.d.ts +2 -2
  274. package/resources/users/contacts/by-user-id/email-preferences.d.ts.map +1 -1
  275. package/resources/users/contacts/contacts.d.mts +249 -235
  276. package/resources/users/contacts/contacts.d.mts.map +1 -1
  277. package/resources/users/contacts/contacts.d.ts +249 -235
  278. package/resources/users/contacts/contacts.d.ts.map +1 -1
  279. package/resources/users/contacts/contacts.js +211 -184
  280. package/resources/users/contacts/contacts.js.map +1 -1
  281. package/resources/users/contacts/contacts.mjs +211 -184
  282. package/resources/users/contacts/contacts.mjs.map +1 -1
  283. package/resources/users/contacts/email-preferences.d.mts +2 -2
  284. package/resources/users/contacts/email-preferences.d.mts.map +1 -1
  285. package/resources/users/contacts/email-preferences.d.ts +2 -2
  286. package/resources/users/contacts/email-preferences.d.ts.map +1 -1
  287. package/resources/users/contacts/index.d.mts +1 -1
  288. package/resources/users/contacts/index.d.mts.map +1 -1
  289. package/resources/users/contacts/index.d.ts +1 -1
  290. package/resources/users/contacts/index.d.ts.map +1 -1
  291. package/resources/users/index.d.mts +2 -2
  292. package/resources/users/index.d.mts.map +1 -1
  293. package/resources/users/index.d.ts +2 -2
  294. package/resources/users/index.d.ts.map +1 -1
  295. package/resources/users/users.d.mts +2 -2
  296. package/resources/users/users.d.mts.map +1 -1
  297. package/resources/users/users.d.ts +2 -2
  298. package/resources/users/users.d.ts.map +1 -1
  299. package/resources/webhooks.d.mts +83 -83
  300. package/resources/webhooks.d.mts.map +1 -1
  301. package/resources/webhooks.d.ts +83 -83
  302. package/resources/webhooks.d.ts.map +1 -1
  303. package/resources/webhooks.js +77 -77
  304. package/resources/webhooks.js.map +1 -1
  305. package/resources/webhooks.mjs +77 -77
  306. package/resources/webhooks.mjs.map +1 -1
  307. package/src/client.ts +6 -6
  308. package/src/resources/audit-logs.ts +7 -1
  309. package/src/resources/changelogs/changelogs.ts +320 -175
  310. package/src/resources/changelogs/index.ts +1 -1
  311. package/src/resources/changelogs/subscribers.ts +31 -2
  312. package/src/resources/conversation-attributes.ts +34 -34
  313. package/src/resources/feedback/boards.ts +30 -30
  314. package/src/resources/feedback/comments.ts +137 -137
  315. package/src/resources/feedback/custom-fields.ts +46 -46
  316. package/src/resources/feedback/feedback.ts +6 -6
  317. package/src/resources/feedback/index.ts +6 -6
  318. package/src/resources/feedback/post-statuses.ts +33 -33
  319. package/src/resources/feedback/posts/index.ts +2 -2
  320. package/src/resources/feedback/posts/posts.ts +176 -176
  321. package/src/resources/feedback/posts/voters.ts +3 -3
  322. package/src/resources/help-center/articles.ts +631 -109
  323. package/src/resources/help-center/collections.ts +349 -88
  324. package/src/resources/help-center/help-center.ts +5 -5
  325. package/src/resources/help-center/help-centers.ts +202 -57
  326. package/src/resources/help-center/index.ts +5 -5
  327. package/src/resources/help-center/redirect-rules.ts +294 -178
  328. package/src/resources/index.ts +6 -6
  329. package/src/resources/organization/admins.ts +36 -36
  330. package/src/resources/organization/brands.ts +68 -68
  331. package/src/resources/organization/index.ts +3 -3
  332. package/src/resources/organization/organization.ts +3 -3
  333. package/src/resources/organization/teams.ts +54 -54
  334. package/src/resources/reports.ts +311 -262
  335. package/src/resources/support/conversation-tags.ts +62 -62
  336. package/src/resources/support/conversations/conversations.ts +429 -419
  337. package/src/resources/support/conversations/index.ts +4 -4
  338. package/src/resources/support/conversations/participants.ts +2 -2
  339. package/src/resources/support/index.ts +7 -7
  340. package/src/resources/support/support.ts +7 -7
  341. package/src/resources/support/tickets/categories.ts +35 -35
  342. package/src/resources/support/tickets/custom-fields.ts +29 -29
  343. package/src/resources/support/tickets/index.ts +4 -4
  344. package/src/resources/support/tickets/statuses.ts +31 -31
  345. package/src/resources/support/tickets/tickets.ts +101 -101
  346. package/src/resources/surveys.ts +60 -60
  347. package/src/resources/users/companies/companies.ts +158 -172
  348. package/src/resources/users/companies/contacts.ts +3 -3
  349. package/src/resources/users/companies/index.ts +2 -2
  350. package/src/resources/users/contacts/by-user-id/by-user-id.ts +2 -2
  351. package/src/resources/users/contacts/by-user-id/email-preferences.ts +2 -2
  352. package/src/resources/users/contacts/contacts.ts +284 -280
  353. package/src/resources/users/contacts/email-preferences.ts +2 -2
  354. package/src/resources/users/contacts/index.ts +3 -3
  355. package/src/resources/users/index.ts +5 -5
  356. package/src/resources/users/users.ts +5 -5
  357. package/src/resources/webhooks.ts +106 -100
  358. package/src/version.ts +1 -1
  359. package/version.d.mts +1 -1
  360. package/version.d.ts +1 -1
  361. package/version.js +1 -1
  362. package/version.mjs +1 -1
@@ -19,95 +19,6 @@ import { path } from '../../../internal/utils/path';
19
19
  export class Conversations extends APIResource {
20
20
  participants: ParticipantsAPI.Participants = new ParticipantsAPI.Participants(this._client);
21
21
 
22
- /**
23
- * Returns a list of conversations in your organization using cursor-based
24
- * pagination.
25
- *
26
- * ### Query Parameters
27
- *
28
- * - `limit` - Number of conversations to return (1-100, default 10)
29
- * - `cursor` - Cursor from previous response for pagination
30
- * - `tagIds` - Optional tag filter as a comma-separated list of tag IDs. Matches
31
- * conversations that contain all of the provided tags.
32
- *
33
- * ### Response Format
34
- *
35
- * Returns a list object with:
36
- *
37
- * - `object` - Always "list"
38
- * - `data` - Array of conversation objects
39
- * - `nextCursor` - Cursor for the next page, or null if no more results
40
- *
41
- * ### Conversation Object
42
- *
43
- * Each conversation includes:
44
- *
45
- * - `id` - Unique conversation identifier (short ID)
46
- * - `title` - Conversation title
47
- * - `state` - Current state ("open", "closed", or "snoozed")
48
- * - `priority` - Whether the conversation is marked as priority
49
- * - `adminAssigneeId` - ID of assigned admin (if any)
50
- * - `teamAssigneeId` - ID of assigned team (if any)
51
- * - `tags` - Current tags applied anywhere in the conversation
52
- * - `participants` - Array of participants
53
- * - `source` - Information about the first message
54
- * - `createdAt` - Creation timestamp
55
- * - `updatedAt` - Last update timestamp
56
- *
57
- * ### Example
58
- *
59
- * ```json
60
- * {
61
- * "object": "list",
62
- * "data": [
63
- * {
64
- * "object": "conversation",
65
- * "id": "12345",
66
- * "title": "Question about pricing",
67
- * "state": "open",
68
- * "priority": false,
69
- * "adminAssigneeId": null,
70
- * "participants": [
71
- * { "type": "customer", "id": "676f0f6765bdaa7d7d760f88" }
72
- * ],
73
- * ...
74
- * }
75
- * ],
76
- * "nextCursor": "eyJpZCI6IjEyMzQ1In0="
77
- * }
78
- * ```
79
- *
80
- * ### Version Availability
81
- *
82
- * This endpoint is only available in API version 2026-01-01.nova and newer.
83
- *
84
- * @example
85
- * ```ts
86
- * // Automatically fetches more pages as needed.
87
- * for await (const conversation of client.support.conversations.list()) {
88
- * // ...
89
- * }
90
- * ```
91
- */
92
- list(
93
- params: ConversationListParams | null | undefined = {},
94
- options?: RequestOptions,
95
- ): PagePromise<ConversationsCursorPage, Conversation> {
96
- const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
97
- return this._client.getAPIList('/v2/conversations', CursorPage<Conversation>, {
98
- query,
99
- ...options,
100
- headers: buildHeaders([
101
- {
102
- ...(featurebaseVersion?.toString() != null ?
103
- { 'Featurebase-Version': featurebaseVersion?.toString() }
104
- : undefined),
105
- },
106
- options?.headers,
107
- ]),
108
- });
109
- }
110
-
111
22
  /**
112
23
  * Creates a new conversation. Supports both contact-initiated (customer/lead) and
113
24
  * admin-initiated (outreach) conversations.
@@ -381,59 +292,6 @@ export class Conversations extends APIResource {
381
292
  });
382
293
  }
383
294
 
384
- /**
385
- * Permanently deletes a conversation by its short ID.
386
- *
387
- * ### Path Parameters
388
- *
389
- * - `id` - The conversation short ID (numeric)
390
- *
391
- * ### Response
392
- *
393
- * Returns a deletion confirmation object:
394
- *
395
- * ```json
396
- * {
397
- * "id": "12345",
398
- * "object": "conversation",
399
- * "deleted": true
400
- * }
401
- * ```
402
- *
403
- * ### Caution
404
- *
405
- * This operation is **irreversible**. The conversation and all its messages will
406
- * be permanently deleted.
407
- *
408
- * ### Version Availability
409
- *
410
- * This endpoint is only available in API version 2026-01-01.nova and newer.
411
- *
412
- * @example
413
- * ```ts
414
- * const conversation =
415
- * await client.support.conversations.delete('12345');
416
- * ```
417
- */
418
- delete(
419
- id: string,
420
- params: ConversationDeleteParams | null | undefined = {},
421
- options?: RequestOptions,
422
- ): APIPromise<ConversationDeleteResponse> {
423
- const { 'Featurebase-Version': featurebaseVersion } = params ?? {};
424
- return this._client.delete(path`/v2/conversations/${id}`, {
425
- ...options,
426
- headers: buildHeaders([
427
- {
428
- ...(featurebaseVersion?.toString() != null ?
429
- { 'Featurebase-Version': featurebaseVersion?.toString() }
430
- : undefined),
431
- },
432
- options?.headers,
433
- ]),
434
- });
435
- }
436
-
437
295
  /**
438
296
  * Updates a conversation's properties. Supports partial updates - only provided
439
297
  * fields will be updated.
@@ -578,118 +436,82 @@ export class Conversations extends APIResource {
578
436
  }
579
437
 
580
438
  /**
581
- * Adds a reply to an existing conversation. Supports both contact (customer/lead)
582
- * and admin replies.
583
- *
584
- * ### Path Parameters
585
- *
586
- * - `id` - The conversation ID (short ID)
587
- *
588
- * ### Request Body
439
+ * Returns a list of conversations in your organization using cursor-based
440
+ * pagination.
589
441
  *
590
- * The request body varies based on who is sending the reply:
442
+ * ### Query Parameters
591
443
  *
592
- * #### Contact Reply (customer/lead)
444
+ * - `limit` - Number of conversations to return (1-100, default 10)
445
+ * - `cursor` - Cursor from previous response for pagination
446
+ * - `tagIds` - Optional tag filter as a comma-separated list of tag IDs. Matches
447
+ * conversations that contain all of the provided tags.
593
448
  *
594
- * | Field | Type | Required | Description |
595
- * | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
596
- * | `type` | string | Yes | Must be "contact" |
597
- * | `userId` | string | No\* | External user ID from your system |
598
- * | `id` | string | No\* | Featurebase contact ID (24-character ObjectId) |
599
- * | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
600
- * | `messageType` | string | Yes | Must be "reply" |
601
- * | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
449
+ * ### Response Format
602
450
  *
603
- * \*At least one of `userId` or `id` is required.
451
+ * Returns a list object with:
604
452
  *
605
- * #### Admin Reply
453
+ * - `object` - Always "list"
454
+ * - `data` - Array of conversation objects
455
+ * - `nextCursor` - Cursor for the next page, or null if no more results
606
456
  *
607
- * | Field | Type | Required | Description |
608
- * | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
609
- * | `type` | string | Yes | Must be "admin" |
610
- * | `id` | string | Yes | Featurebase admin ID (24-character ObjectId) |
611
- * | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
612
- * | `messageType` | string | Yes | "reply" for customer-visible reply, "note" for internal note |
613
- * | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
457
+ * ### Conversation Object
614
458
  *
615
- * ### Response
459
+ * Each conversation includes:
616
460
  *
617
- * Returns the created conversation part object with a **201 Created** status. The
618
- * response includes both `bodyHtml` (with signed image URLs) and `bodyMarkdown`
619
- * fields.
461
+ * - `id` - Unique conversation identifier (short ID)
462
+ * - `title` - Conversation title
463
+ * - `state` - Current state ("open", "closed", or "snoozed")
464
+ * - `priority` - Whether the conversation is marked as priority
465
+ * - `adminAssigneeId` - ID of assigned admin (if any)
466
+ * - `teamAssigneeId` - ID of assigned team (if any)
467
+ * - `tags` - Current tags applied anywhere in the conversation
468
+ * - `participants` - Array of participants
469
+ * - `source` - Information about the first message
470
+ * - `createdAt` - Creation timestamp
471
+ * - `updatedAt` - Last update timestamp
620
472
  *
621
- * ### Example Contact Reply
473
+ * ### Example
622
474
  *
623
475
  * ```json
624
476
  * {
625
- * "type": "contact",
626
- * "userId": "user_123",
627
- * "bodyMarkdown": "Thank you for your help!",
628
- * "messageType": "reply"
477
+ * "object": "list",
478
+ * "data": [
479
+ * {
480
+ * "object": "conversation",
481
+ * "id": "12345",
482
+ * "title": "Question about pricing",
483
+ * "state": "open",
484
+ * "priority": false,
485
+ * "adminAssigneeId": null,
486
+ * "participants": [
487
+ * { "type": "customer", "id": "676f0f6765bdaa7d7d760f88" }
488
+ * ],
489
+ * ...
490
+ * }
491
+ * ],
492
+ * "nextCursor": "eyJpZCI6IjEyMzQ1In0="
629
493
  * }
630
494
  * ```
631
495
  *
632
- * ### Example Admin Reply
633
- *
634
- * ```json
635
- * {
636
- * "type": "admin",
637
- * "id": "507f1f77bcf86cd799439011",
638
- * "bodyMarkdown": "I'm happy to help! Here's what you need to do...",
639
- * "messageType": "reply"
640
- * }
641
- * ```
496
+ * ### Version Availability
642
497
  *
643
- * ### Example Admin Note (Internal)
498
+ * This endpoint is only available in API version 2026-01-01.nova and newer.
644
499
  *
645
- * ```json
646
- * {
647
- * "type": "admin",
648
- * "id": "507f1f77bcf86cd799439011",
649
- * "bodyMarkdown": "Customer seems frustrated, escalating to tier 2.",
650
- * "messageType": "note"
500
+ * @example
501
+ * ```ts
502
+ * // Automatically fetches more pages as needed.
503
+ * for await (const conversation of client.support.conversations.list()) {
504
+ * // ...
651
505
  * }
652
506
  * ```
653
- *
654
- * ### Example Response
655
- *
656
- * ```json
657
- * {
658
- * "object": "conversation_part",
659
- * "id": "3",
660
- * "partType": "user_msg",
661
- * "bodyHtml": "<p>Thank you for your help!</p>",
662
- * "bodyMarkdown": "Thank you for your help!",
663
- * "author": {
664
- * "type": "customer",
665
- * "id": "676f0f6765bdaa7d7d760f88",
666
- * "name": "John Doe",
667
- * "email": "john@example.com"
668
- * },
669
- * "channel": "desktop",
670
- * "createdAt": "2025-01-15T10:40:00.000Z",
671
- * "updatedAt": "2025-01-15T10:40:00.000Z"
672
- * }
673
- * ```
674
- *
675
- * ### Version Availability
676
- *
677
- * This endpoint is only available in API version 2026-01-01.nova and newer.
678
- *
679
- * @example
680
- * ```ts
681
- * const conversationPart =
682
- * await client.support.conversations.reply('12345', {
683
- * bodyMarkdown: 'Thank you for your help!',
684
- * messageType: 'reply',
685
- * type: 'contact',
686
- * });
687
- * ```
688
507
  */
689
- reply(id: string, params: ConversationReplyParams, options?: RequestOptions): APIPromise<ConversationPart> {
690
- const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
691
- return this._client.post(path`/v2/conversations/${id}/reply`, {
692
- body,
508
+ list(
509
+ params: ConversationListParams | null | undefined = {},
510
+ options?: RequestOptions,
511
+ ): PagePromise<ConversationsCursorPage, Conversation> {
512
+ const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
513
+ return this._client.getAPIList('/v2/conversations', CursorPage<Conversation>, {
514
+ query,
693
515
  ...options,
694
516
  headers: buildHeaders([
695
517
  {
@@ -703,68 +525,28 @@ export class Conversations extends APIResource {
703
525
  }
704
526
 
705
527
  /**
706
- * Redacts a conversation part (message) from a conversation. Redaction permanently
707
- * removes the message content while preserving the conversation structure.
708
- *
709
- * Only human message types can be redacted:
710
- *
711
- * - `user_msg` - Messages from customers/leads
712
- * - `admin_msg` - Messages from admins
713
- * - `email_msg` - Email messages
714
- * - `bot_msg` - Bot messages
715
- *
716
- * System-generated conversation parts (assignments, status changes, etc.) cannot
717
- * be redacted.
528
+ * Permanently deletes a conversation by its short ID.
718
529
  *
719
- * ### Request Body
530
+ * ### Path Parameters
720
531
  *
721
- * | Field | Type | Required | Description |
722
- * | -------------------- | ------ | -------- | ------------------------------------------------------------------------------ |
723
- * | `type` | string | Yes | The type of item to redact. Currently only `"conversation_part"` is supported. |
724
- * | `conversationId` | string | Yes | The conversation short ID containing the part to redact |
725
- * | `conversationPartId` | string | Yes | The conversation part short ID to redact |
726
- * | `actingAdminId` | string | No | Admin ID performing the action (for attribution) |
532
+ * - `id` - The conversation short ID (numeric)
727
533
  *
728
534
  * ### Response
729
535
  *
730
- * Returns the updated conversation object.
731
- *
732
- * ### Example Request
733
- *
734
- * ```json
735
- * {
736
- * "type": "conversation_part",
737
- * "conversationId": "12345",
738
- * "conversationPartId": "67890",
739
- * "actingAdminId": "507f1f77bcf86cd799439011"
740
- * }
741
- * ```
742
- *
743
- * ### Example Response
536
+ * Returns a deletion confirmation object:
744
537
  *
745
538
  * ```json
746
539
  * {
747
- * "object": "conversation",
748
540
  * "id": "12345",
749
- * "conversationParts": [
750
- * {
751
- * "object": "conversation_part",
752
- * "id": "67890",
753
- * "partType": "user_msg",
754
- * "bodyHtml": "",
755
- * "bodyMarkdown": "",
756
- * "redacted": true,
757
- * ...
758
- * }
759
- * ],
760
- * ...
541
+ * "object": "conversation",
542
+ * "deleted": true
761
543
  * }
762
544
  * ```
763
545
  *
764
- * ### Error Cases
546
+ * ### Caution
765
547
  *
766
- * - **400 Bad Request** - Only human messages can be redacted
767
- * - **404 Not Found** - Conversation or conversation part not found
548
+ * This operation is **irreversible**. The conversation and all its messages will
549
+ * be permanently deleted.
768
550
  *
769
551
  * ### Version Availability
770
552
  *
@@ -773,17 +555,16 @@ export class Conversations extends APIResource {
773
555
  * @example
774
556
  * ```ts
775
557
  * const conversation =
776
- * await client.support.conversations.redact({
777
- * conversationId: '12345',
778
- * conversationPartId: '67890',
779
- * type: 'conversation_part',
780
- * });
558
+ * await client.support.conversations.delete('12345');
781
559
  * ```
782
560
  */
783
- redact(params: ConversationRedactParams, options?: RequestOptions): APIPromise<Conversation> {
784
- const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
785
- return this._client.post('/v2/conversations/redact', {
786
- body,
561
+ delete(
562
+ id: string,
563
+ params: ConversationDeleteParams | null | undefined = {},
564
+ options?: RequestOptions,
565
+ ): APIPromise<ConversationDeleteResponse> {
566
+ const { 'Featurebase-Version': featurebaseVersion } = params ?? {};
567
+ return this._client.delete(path`/v2/conversations/${id}`, {
787
568
  ...options,
788
569
  headers: buildHeaders([
789
570
  {
@@ -889,16 +670,241 @@ export class Conversations extends APIResource {
889
670
  * records the tag removal against that part so audit metadata remains
890
671
  * deterministic.
891
672
  *
892
- * ### Response
673
+ * ### Response
674
+ *
675
+ * Returns the affected tag payload with the most relevant attachment metadata
676
+ * available for that relationship.
677
+ *
678
+ * ### Example Request
679
+ *
680
+ * ```json
681
+ * {
682
+ * "actingAdminId": "507f1f77bcf86cd799439011"
683
+ * }
684
+ * ```
685
+ *
686
+ * ### Version Availability
687
+ *
688
+ * This endpoint is only available in API version 2026-01-01.nova and newer.
689
+ *
690
+ * @example
691
+ * ```ts
692
+ * const attachedConversationTag =
693
+ * await client.support.conversations.detachTag(
694
+ * '67ec1234abcd5678ef901234',
695
+ * {
696
+ * id: '12345',
697
+ * actingAdminId: '507f1f77bcf86cd799439011',
698
+ * },
699
+ * );
700
+ * ```
701
+ */
702
+ detachTag(
703
+ tagID: string,
704
+ params: ConversationDetachTagParams,
705
+ options?: RequestOptions,
706
+ ): APIPromise<AttachedConversationTag> {
707
+ const { id, 'Featurebase-Version': featurebaseVersion, ...body } = params;
708
+ return this._client.delete(path`/v2/conversations/${id}/tags/${tagID}`, {
709
+ body,
710
+ ...options,
711
+ headers: buildHeaders([
712
+ {
713
+ ...(featurebaseVersion?.toString() != null ?
714
+ { 'Featurebase-Version': featurebaseVersion?.toString() }
715
+ : undefined),
716
+ },
717
+ options?.headers,
718
+ ]),
719
+ });
720
+ }
721
+
722
+ /**
723
+ * Redacts a conversation part (message) from a conversation. Redaction permanently
724
+ * removes the message content while preserving the conversation structure.
725
+ *
726
+ * Only human message types can be redacted:
727
+ *
728
+ * - `user_msg` - Messages from customers/leads
729
+ * - `admin_msg` - Messages from admins
730
+ * - `email_msg` - Email messages
731
+ * - `bot_msg` - Bot messages
732
+ *
733
+ * System-generated conversation parts (assignments, status changes, etc.) cannot
734
+ * be redacted.
735
+ *
736
+ * ### Request Body
737
+ *
738
+ * | Field | Type | Required | Description |
739
+ * | -------------------- | ------ | -------- | ------------------------------------------------------------------------------ |
740
+ * | `type` | string | Yes | The type of item to redact. Currently only `"conversation_part"` is supported. |
741
+ * | `conversationId` | string | Yes | The conversation short ID containing the part to redact |
742
+ * | `conversationPartId` | string | Yes | The conversation part short ID to redact |
743
+ * | `actingAdminId` | string | No | Admin ID performing the action (for attribution) |
744
+ *
745
+ * ### Response
746
+ *
747
+ * Returns the updated conversation object.
748
+ *
749
+ * ### Example Request
750
+ *
751
+ * ```json
752
+ * {
753
+ * "type": "conversation_part",
754
+ * "conversationId": "12345",
755
+ * "conversationPartId": "67890",
756
+ * "actingAdminId": "507f1f77bcf86cd799439011"
757
+ * }
758
+ * ```
759
+ *
760
+ * ### Example Response
761
+ *
762
+ * ```json
763
+ * {
764
+ * "object": "conversation",
765
+ * "id": "12345",
766
+ * "conversationParts": [
767
+ * {
768
+ * "object": "conversation_part",
769
+ * "id": "67890",
770
+ * "partType": "user_msg",
771
+ * "bodyHtml": "",
772
+ * "bodyMarkdown": "",
773
+ * "redacted": true,
774
+ * ...
775
+ * }
776
+ * ],
777
+ * ...
778
+ * }
779
+ * ```
780
+ *
781
+ * ### Error Cases
782
+ *
783
+ * - **400 Bad Request** - Only human messages can be redacted
784
+ * - **404 Not Found** - Conversation or conversation part not found
785
+ *
786
+ * ### Version Availability
787
+ *
788
+ * This endpoint is only available in API version 2026-01-01.nova and newer.
789
+ *
790
+ * @example
791
+ * ```ts
792
+ * const conversation =
793
+ * await client.support.conversations.redact({
794
+ * conversationId: '12345',
795
+ * conversationPartId: '67890',
796
+ * type: 'conversation_part',
797
+ * });
798
+ * ```
799
+ */
800
+ redact(params: ConversationRedactParams, options?: RequestOptions): APIPromise<Conversation> {
801
+ const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
802
+ return this._client.post('/v2/conversations/redact', {
803
+ body,
804
+ ...options,
805
+ headers: buildHeaders([
806
+ {
807
+ ...(featurebaseVersion?.toString() != null ?
808
+ { 'Featurebase-Version': featurebaseVersion?.toString() }
809
+ : undefined),
810
+ },
811
+ options?.headers,
812
+ ]),
813
+ });
814
+ }
815
+
816
+ /**
817
+ * Adds a reply to an existing conversation. Supports both contact (customer/lead)
818
+ * and admin replies.
819
+ *
820
+ * ### Path Parameters
821
+ *
822
+ * - `id` - The conversation ID (short ID)
823
+ *
824
+ * ### Request Body
825
+ *
826
+ * The request body varies based on who is sending the reply:
827
+ *
828
+ * #### Contact Reply (customer/lead)
829
+ *
830
+ * | Field | Type | Required | Description |
831
+ * | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
832
+ * | `type` | string | Yes | Must be "contact" |
833
+ * | `userId` | string | No\* | External user ID from your system |
834
+ * | `id` | string | No\* | Featurebase contact ID (24-character ObjectId) |
835
+ * | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
836
+ * | `messageType` | string | Yes | Must be "reply" |
837
+ * | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
838
+ *
839
+ * \*At least one of `userId` or `id` is required.
840
+ *
841
+ * #### Admin Reply
842
+ *
843
+ * | Field | Type | Required | Description |
844
+ * | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
845
+ * | `type` | string | Yes | Must be "admin" |
846
+ * | `id` | string | Yes | Featurebase admin ID (24-character ObjectId) |
847
+ * | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
848
+ * | `messageType` | string | Yes | "reply" for customer-visible reply, "note" for internal note |
849
+ * | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
850
+ *
851
+ * ### Response
852
+ *
853
+ * Returns the created conversation part object with a **201 Created** status. The
854
+ * response includes both `bodyHtml` (with signed image URLs) and `bodyMarkdown`
855
+ * fields.
856
+ *
857
+ * ### Example Contact Reply
858
+ *
859
+ * ```json
860
+ * {
861
+ * "type": "contact",
862
+ * "userId": "user_123",
863
+ * "bodyMarkdown": "Thank you for your help!",
864
+ * "messageType": "reply"
865
+ * }
866
+ * ```
867
+ *
868
+ * ### Example Admin Reply
869
+ *
870
+ * ```json
871
+ * {
872
+ * "type": "admin",
873
+ * "id": "507f1f77bcf86cd799439011",
874
+ * "bodyMarkdown": "I'm happy to help! Here's what you need to do...",
875
+ * "messageType": "reply"
876
+ * }
877
+ * ```
893
878
  *
894
- * Returns the affected tag payload with the most relevant attachment metadata
895
- * available for that relationship.
879
+ * ### Example Admin Note (Internal)
896
880
  *
897
- * ### Example Request
881
+ * ```json
882
+ * {
883
+ * "type": "admin",
884
+ * "id": "507f1f77bcf86cd799439011",
885
+ * "bodyMarkdown": "Customer seems frustrated, escalating to tier 2.",
886
+ * "messageType": "note"
887
+ * }
888
+ * ```
889
+ *
890
+ * ### Example Response
898
891
  *
899
892
  * ```json
900
893
  * {
901
- * "actingAdminId": "507f1f77bcf86cd799439011"
894
+ * "object": "conversation_part",
895
+ * "id": "3",
896
+ * "partType": "user_msg",
897
+ * "bodyHtml": "<p>Thank you for your help!</p>",
898
+ * "bodyMarkdown": "Thank you for your help!",
899
+ * "author": {
900
+ * "type": "customer",
901
+ * "id": "676f0f6765bdaa7d7d760f88",
902
+ * "name": "John Doe",
903
+ * "email": "john@example.com"
904
+ * },
905
+ * "channel": "desktop",
906
+ * "createdAt": "2025-01-15T10:40:00.000Z",
907
+ * "updatedAt": "2025-01-15T10:40:00.000Z"
902
908
  * }
903
909
  * ```
904
910
  *
@@ -908,23 +914,17 @@ export class Conversations extends APIResource {
908
914
  *
909
915
  * @example
910
916
  * ```ts
911
- * const attachedConversationTag =
912
- * await client.support.conversations.detachTag(
913
- * '67ec1234abcd5678ef901234',
914
- * {
915
- * id: '12345',
916
- * actingAdminId: '507f1f77bcf86cd799439011',
917
- * },
918
- * );
917
+ * const conversationPart =
918
+ * await client.support.conversations.reply('12345', {
919
+ * bodyMarkdown: 'Thank you for your help!',
920
+ * messageType: 'reply',
921
+ * type: 'contact',
922
+ * });
919
923
  * ```
920
924
  */
921
- detachTag(
922
- tagID: string,
923
- params: ConversationDetachTagParams,
924
- options?: RequestOptions,
925
- ): APIPromise<AttachedConversationTag> {
926
- const { id, 'Featurebase-Version': featurebaseVersion, ...body } = params;
927
- return this._client.delete(path`/v2/conversations/${id}/tags/${tagID}`, {
925
+ reply(id: string, params: ConversationReplyParams, options?: RequestOptions): APIPromise<ConversationPart> {
926
+ const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
927
+ return this._client.post(path`/v2/conversations/${id}/reply`, {
928
928
  body,
929
929
  ...options,
930
930
  headers: buildHeaders([
@@ -1038,6 +1038,16 @@ export class Conversations extends APIResource {
1038
1038
  * fields (`state`, `priority`) are exempt because their negation is naturally
1039
1039
  * bounded.
1040
1040
  *
1041
+ * ### Inbox visibility
1042
+ *
1043
+ * An open-state filter uses the same visibility rule as the Featurebase dashboard
1044
+ * inbox. Workflow and outbound-message shells are excluded until a customer or
1045
+ * lead interacts with them. As a result, `state = "open"` (or an `IN`/`NIN` filter
1046
+ * that resolves exclusively to open) returns the conversations shown in the
1047
+ * dashboard's open inbox rather than unreplied campaign or automation shells.
1048
+ * Searches without an open-only state filter keep their existing organization-wide
1049
+ * semantics.
1050
+ *
1041
1051
  * ### Pagination
1042
1052
  *
1043
1053
  * Cursor-based, `limit` between 1 and 100 (default 10). Pagination cursors are
@@ -3159,27 +3169,6 @@ export namespace ConversationSearchResponse {
3159
3169
  }
3160
3170
  }
3161
3171
 
3162
- export interface ConversationListParams extends CursorPageParams {
3163
- /**
3164
- * Query param: Comma-separated optional expansions. Use
3165
- * `customAttributeDefinitions` to return `customAttributeValues` with names and
3166
- * types alongside ID-keyed `customAttributes`.
3167
- */
3168
- include?: string | Array<string>;
3169
-
3170
- /**
3171
- * Query param: Filter conversations by one or more tag IDs using a comma-separated
3172
- * list. Conversations must contain all provided tags.
3173
- */
3174
- tagIds?: string | Array<string>;
3175
-
3176
- /**
3177
- * Header param: API version for this request. Defaults to your organization's
3178
- * configured API version if not specified.
3179
- */
3180
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3181
- }
3182
-
3183
3172
  export interface ConversationCreateParams {
3184
3173
  /**
3185
3174
  * Body param: The content of the initial message in markdown format. Images
@@ -3223,7 +3212,7 @@ export interface ConversationCreateParams {
3223
3212
  * Header param: API version for this request. Defaults to your organization's
3224
3213
  * configured API version if not specified.
3225
3214
  */
3226
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3215
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3227
3216
  }
3228
3217
 
3229
3218
  export namespace ConversationCreateParams {
@@ -3291,15 +3280,7 @@ export interface ConversationRetrieveParams {
3291
3280
  * Header param: API version for this request. Defaults to your organization's
3292
3281
  * configured API version if not specified.
3293
3282
  */
3294
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3295
- }
3296
-
3297
- export interface ConversationDeleteParams {
3298
- /**
3299
- * API version for this request. Defaults to your organization's configured API
3300
- * version if not specified.
3301
- */
3302
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3283
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3303
3284
  }
3304
3285
 
3305
3286
  export interface ConversationUpdateParams {
@@ -3353,7 +3334,7 @@ export interface ConversationUpdateParams {
3353
3334
  * Header param: API version for this request. Defaults to your organization's
3354
3335
  * configured API version if not specified.
3355
3336
  */
3356
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3337
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3357
3338
  }
3358
3339
 
3359
3340
  export namespace ConversationUpdateParams {
@@ -3386,6 +3367,103 @@ export namespace ConversationUpdateParams {
3386
3367
  }
3387
3368
  }
3388
3369
 
3370
+ export interface ConversationListParams extends CursorPageParams {
3371
+ /**
3372
+ * Query param: Comma-separated optional expansions. Use
3373
+ * `customAttributeDefinitions` to return `customAttributeValues` with names and
3374
+ * types alongside ID-keyed `customAttributes`.
3375
+ */
3376
+ include?: string | Array<string>;
3377
+
3378
+ /**
3379
+ * Query param: Filter conversations by one or more tag IDs using a comma-separated
3380
+ * list. Conversations must contain all provided tags.
3381
+ */
3382
+ tagIds?: string | Array<string>;
3383
+
3384
+ /**
3385
+ * Header param: API version for this request. Defaults to your organization's
3386
+ * configured API version if not specified.
3387
+ */
3388
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3389
+ }
3390
+
3391
+ export interface ConversationDeleteParams {
3392
+ /**
3393
+ * API version for this request. Defaults to your organization's configured API
3394
+ * version if not specified.
3395
+ */
3396
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3397
+ }
3398
+
3399
+ export interface ConversationAttachTagParams {
3400
+ /**
3401
+ * Body param: Required admin ID performing this tag attachment. Must be a member
3402
+ * of the organization so the mutation can be attributed to a real admin actor.
3403
+ */
3404
+ actingAdminId: string;
3405
+
3406
+ /**
3407
+ * Body param: The Featurebase tag ID to attach to the conversation.
3408
+ */
3409
+ tagId: string;
3410
+
3411
+ /**
3412
+ * Header param: API version for this request. Defaults to your organization's
3413
+ * configured API version if not specified.
3414
+ */
3415
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3416
+ }
3417
+
3418
+ export interface ConversationDetachTagParams {
3419
+ /**
3420
+ * Path param: Conversation ID (short ID)
3421
+ */
3422
+ id: string;
3423
+
3424
+ /**
3425
+ * Body param: Required admin ID performing this tag removal. Must be a member of
3426
+ * the organization so the mutation can be attributed to a real admin actor.
3427
+ */
3428
+ actingAdminId: string;
3429
+
3430
+ /**
3431
+ * Header param: API version for this request. Defaults to your organization's
3432
+ * configured API version if not specified.
3433
+ */
3434
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3435
+ }
3436
+
3437
+ export interface ConversationRedactParams {
3438
+ /**
3439
+ * Body param: The conversation short ID that contains the part to redact
3440
+ */
3441
+ conversationId: string;
3442
+
3443
+ /**
3444
+ * Body param: The conversation part short ID to redact
3445
+ */
3446
+ conversationPartId: string;
3447
+
3448
+ /**
3449
+ * Body param: The type of item to redact. Currently only "conversation_part" is
3450
+ * supported.
3451
+ */
3452
+ type: 'conversation_part';
3453
+
3454
+ /**
3455
+ * Body param: The admin ID performing this action. If not provided, changes are
3456
+ * attributed to the system bot user.
3457
+ */
3458
+ actingAdminId?: string;
3459
+
3460
+ /**
3461
+ * Header param: API version for this request. Defaults to your organization's
3462
+ * configured API version if not specified.
3463
+ */
3464
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3465
+ }
3466
+
3389
3467
  export type ConversationReplyParams =
3390
3468
  | ConversationReplyParams.ContactReplyBody
3391
3469
  | ConversationReplyParams.AdminReplyBody;
@@ -3429,7 +3507,7 @@ export declare namespace ConversationReplyParams {
3429
3507
  * Header param: API version for this request. Defaults to your organization's
3430
3508
  * configured API version if not specified.
3431
3509
  */
3432
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3510
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3433
3511
  }
3434
3512
 
3435
3513
  export interface AdminReplyBody {
@@ -3466,78 +3544,10 @@ export declare namespace ConversationReplyParams {
3466
3544
  * Header param: API version for this request. Defaults to your organization's
3467
3545
  * configured API version if not specified.
3468
3546
  */
3469
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3547
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3470
3548
  }
3471
3549
  }
3472
3550
 
3473
- export interface ConversationRedactParams {
3474
- /**
3475
- * Body param: The conversation short ID that contains the part to redact
3476
- */
3477
- conversationId: string;
3478
-
3479
- /**
3480
- * Body param: The conversation part short ID to redact
3481
- */
3482
- conversationPartId: string;
3483
-
3484
- /**
3485
- * Body param: The type of item to redact. Currently only "conversation_part" is
3486
- * supported.
3487
- */
3488
- type: 'conversation_part';
3489
-
3490
- /**
3491
- * Body param: The admin ID performing this action. If not provided, changes are
3492
- * attributed to the system bot user.
3493
- */
3494
- actingAdminId?: string;
3495
-
3496
- /**
3497
- * Header param: API version for this request. Defaults to your organization's
3498
- * configured API version if not specified.
3499
- */
3500
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3501
- }
3502
-
3503
- export interface ConversationAttachTagParams {
3504
- /**
3505
- * Body param: Required admin ID performing this tag attachment. Must be a member
3506
- * of the organization so the mutation can be attributed to a real admin actor.
3507
- */
3508
- actingAdminId: string;
3509
-
3510
- /**
3511
- * Body param: The Featurebase tag ID to attach to the conversation.
3512
- */
3513
- tagId: string;
3514
-
3515
- /**
3516
- * Header param: API version for this request. Defaults to your organization's
3517
- * configured API version if not specified.
3518
- */
3519
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3520
- }
3521
-
3522
- export interface ConversationDetachTagParams {
3523
- /**
3524
- * Path param: Conversation ID (short ID)
3525
- */
3526
- id: string;
3527
-
3528
- /**
3529
- * Body param: Required admin ID performing this tag removal. Must be a member of
3530
- * the organization so the mutation can be attributed to a real admin actor.
3531
- */
3532
- actingAdminId: string;
3533
-
3534
- /**
3535
- * Header param: API version for this request. Defaults to your organization's
3536
- * configured API version if not specified.
3537
- */
3538
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3539
- }
3540
-
3541
3551
  export interface ConversationSearchParams {
3542
3552
  /**
3543
3553
  * Body param: An opaque cursor for pagination. Use the nextCursor value from a
@@ -3585,7 +3595,7 @@ export interface ConversationSearchParams {
3585
3595
  * Header param: API version for this request. Defaults to your organization's
3586
3596
  * configured API version if not specified.
3587
3597
  */
3588
- 'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
3598
+ 'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
3589
3599
  }
3590
3600
 
3591
3601
  Conversations.Participants = Participants;
@@ -3611,15 +3621,15 @@ export declare namespace Conversations {
3611
3621
  type ConversationDeleteResponse as ConversationDeleteResponse,
3612
3622
  type ConversationSearchResponse as ConversationSearchResponse,
3613
3623
  type ConversationsCursorPage as ConversationsCursorPage,
3614
- type ConversationListParams as ConversationListParams,
3615
3624
  type ConversationCreateParams as ConversationCreateParams,
3616
3625
  type ConversationRetrieveParams as ConversationRetrieveParams,
3617
- type ConversationDeleteParams as ConversationDeleteParams,
3618
3626
  type ConversationUpdateParams as ConversationUpdateParams,
3619
- type ConversationReplyParams as ConversationReplyParams,
3620
- type ConversationRedactParams as ConversationRedactParams,
3627
+ type ConversationListParams as ConversationListParams,
3628
+ type ConversationDeleteParams as ConversationDeleteParams,
3621
3629
  type ConversationAttachTagParams as ConversationAttachTagParams,
3622
3630
  type ConversationDetachTagParams as ConversationDetachTagParams,
3631
+ type ConversationRedactParams as ConversationRedactParams,
3632
+ type ConversationReplyParams as ConversationReplyParams,
3623
3633
  type ConversationSearchParams as ConversationSearchParams,
3624
3634
  };
3625
3635