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.
- package/CHANGELOG.md +12 -0
- package/client.d.mts +5 -5
- package/client.d.mts.map +1 -1
- package/client.d.ts +5 -5
- package/client.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/audit-logs.d.mts +3 -3
- package/resources/audit-logs.d.mts.map +1 -1
- package/resources/audit-logs.d.ts +3 -3
- package/resources/audit-logs.d.ts.map +1 -1
- package/resources/changelogs/changelogs.d.mts +116 -116
- package/resources/changelogs/changelogs.d.mts.map +1 -1
- package/resources/changelogs/changelogs.d.ts +116 -116
- package/resources/changelogs/changelogs.d.ts.map +1 -1
- package/resources/changelogs/changelogs.js +74 -74
- package/resources/changelogs/changelogs.js.map +1 -1
- package/resources/changelogs/changelogs.mjs +74 -74
- package/resources/changelogs/changelogs.mjs.map +1 -1
- package/resources/changelogs/index.d.mts +1 -1
- package/resources/changelogs/index.d.mts.map +1 -1
- package/resources/changelogs/index.d.ts +1 -1
- package/resources/changelogs/index.d.ts.map +1 -1
- package/resources/changelogs/subscribers.d.mts +3 -3
- package/resources/changelogs/subscribers.d.mts.map +1 -1
- package/resources/changelogs/subscribers.d.ts +3 -3
- package/resources/changelogs/subscribers.d.ts.map +1 -1
- package/resources/conversation-attributes.d.mts +17 -17
- package/resources/conversation-attributes.d.mts.map +1 -1
- package/resources/conversation-attributes.d.ts +17 -17
- package/resources/conversation-attributes.d.ts.map +1 -1
- package/resources/conversation-attributes.js +19 -19
- package/resources/conversation-attributes.js.map +1 -1
- package/resources/conversation-attributes.mjs +19 -19
- package/resources/conversation-attributes.mjs.map +1 -1
- package/resources/feedback/boards.d.mts +19 -19
- package/resources/feedback/boards.d.mts.map +1 -1
- package/resources/feedback/boards.d.ts +19 -19
- package/resources/feedback/boards.d.ts.map +1 -1
- package/resources/feedback/boards.js +20 -20
- package/resources/feedback/boards.js.map +1 -1
- package/resources/feedback/boards.mjs +20 -20
- package/resources/feedback/boards.mjs.map +1 -1
- package/resources/feedback/comments.d.mts +113 -113
- package/resources/feedback/comments.d.mts.map +1 -1
- package/resources/feedback/comments.d.ts +113 -113
- package/resources/feedback/comments.d.ts.map +1 -1
- package/resources/feedback/comments.js +93 -93
- package/resources/feedback/comments.js.map +1 -1
- package/resources/feedback/comments.mjs +93 -93
- package/resources/feedback/comments.mjs.map +1 -1
- package/resources/feedback/custom-fields.d.mts +36 -36
- package/resources/feedback/custom-fields.d.mts.map +1 -1
- package/resources/feedback/custom-fields.d.ts +36 -36
- package/resources/feedback/custom-fields.d.ts.map +1 -1
- package/resources/feedback/custom-fields.js +36 -36
- package/resources/feedback/custom-fields.js.map +1 -1
- package/resources/feedback/custom-fields.mjs +36 -36
- package/resources/feedback/custom-fields.mjs.map +1 -1
- package/resources/feedback/feedback.d.mts +5 -5
- package/resources/feedback/feedback.d.mts.map +1 -1
- package/resources/feedback/feedback.d.ts +5 -5
- package/resources/feedback/feedback.d.ts.map +1 -1
- package/resources/feedback/index.d.mts +5 -5
- package/resources/feedback/index.d.mts.map +1 -1
- package/resources/feedback/index.d.ts +5 -5
- package/resources/feedback/index.d.ts.map +1 -1
- package/resources/feedback/post-statuses.d.mts +20 -20
- package/resources/feedback/post-statuses.d.mts.map +1 -1
- package/resources/feedback/post-statuses.d.ts +20 -20
- package/resources/feedback/post-statuses.d.ts.map +1 -1
- package/resources/feedback/post-statuses.js +23 -23
- package/resources/feedback/post-statuses.js.map +1 -1
- package/resources/feedback/post-statuses.mjs +23 -23
- package/resources/feedback/post-statuses.mjs.map +1 -1
- package/resources/feedback/posts/index.d.mts +1 -1
- package/resources/feedback/posts/index.d.mts.map +1 -1
- package/resources/feedback/posts/index.d.ts +1 -1
- package/resources/feedback/posts/index.d.ts.map +1 -1
- package/resources/feedback/posts/posts.d.mts +132 -132
- package/resources/feedback/posts/posts.d.mts.map +1 -1
- package/resources/feedback/posts/posts.d.ts +132 -132
- package/resources/feedback/posts/posts.d.ts.map +1 -1
- package/resources/feedback/posts/posts.js +107 -107
- package/resources/feedback/posts/posts.js.map +1 -1
- package/resources/feedback/posts/posts.mjs +107 -107
- package/resources/feedback/posts/posts.mjs.map +1 -1
- package/resources/feedback/posts/voters.d.mts +3 -3
- package/resources/feedback/posts/voters.d.mts.map +1 -1
- package/resources/feedback/posts/voters.d.ts +3 -3
- package/resources/feedback/posts/voters.d.ts.map +1 -1
- package/resources/help-center/articles.d.mts +213 -97
- package/resources/help-center/articles.d.mts.map +1 -1
- package/resources/help-center/articles.d.ts +213 -97
- package/resources/help-center/articles.d.ts.map +1 -1
- package/resources/help-center/articles.js +73 -73
- package/resources/help-center/articles.js.map +1 -1
- package/resources/help-center/articles.mjs +73 -73
- package/resources/help-center/articles.mjs.map +1 -1
- package/resources/help-center/collections.d.mts +158 -71
- package/resources/help-center/collections.d.mts.map +1 -1
- package/resources/help-center/collections.d.ts +158 -71
- package/resources/help-center/collections.d.ts.map +1 -1
- package/resources/help-center/collections.js +65 -65
- package/resources/help-center/collections.js.map +1 -1
- package/resources/help-center/collections.mjs +65 -65
- package/resources/help-center/collections.mjs.map +1 -1
- package/resources/help-center/help-center.d.mts +4 -4
- package/resources/help-center/help-center.d.mts.map +1 -1
- package/resources/help-center/help-center.d.ts +4 -4
- package/resources/help-center/help-center.d.ts.map +1 -1
- package/resources/help-center/help-centers.d.mts +77 -48
- package/resources/help-center/help-centers.d.mts.map +1 -1
- package/resources/help-center/help-centers.d.ts +77 -48
- package/resources/help-center/help-centers.d.ts.map +1 -1
- package/resources/help-center/help-centers.js +43 -43
- package/resources/help-center/help-centers.js.map +1 -1
- package/resources/help-center/help-centers.mjs +43 -43
- package/resources/help-center/help-centers.mjs.map +1 -1
- package/resources/help-center/index.d.mts +4 -4
- package/resources/help-center/index.d.mts.map +1 -1
- package/resources/help-center/index.d.ts +4 -4
- package/resources/help-center/index.d.ts.map +1 -1
- package/resources/help-center/redirect-rules.d.mts +124 -124
- package/resources/help-center/redirect-rules.d.mts.map +1 -1
- package/resources/help-center/redirect-rules.d.ts +124 -124
- package/resources/help-center/redirect-rules.d.ts.map +1 -1
- package/resources/help-center/redirect-rules.js +112 -112
- package/resources/help-center/redirect-rules.js.map +1 -1
- package/resources/help-center/redirect-rules.mjs +112 -112
- package/resources/help-center/redirect-rules.mjs.map +1 -1
- package/resources/index.d.mts +5 -5
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +5 -5
- package/resources/index.d.ts.map +1 -1
- package/resources/organization/admins.d.mts +26 -26
- package/resources/organization/admins.d.mts.map +1 -1
- package/resources/organization/admins.d.ts +26 -26
- package/resources/organization/admins.d.ts.map +1 -1
- package/resources/organization/admins.js +25 -25
- package/resources/organization/admins.js.map +1 -1
- package/resources/organization/admins.mjs +25 -25
- package/resources/organization/admins.mjs.map +1 -1
- package/resources/organization/brands.d.mts +52 -52
- package/resources/organization/brands.d.mts.map +1 -1
- package/resources/organization/brands.d.ts +52 -52
- package/resources/organization/brands.d.ts.map +1 -1
- package/resources/organization/brands.js +54 -54
- package/resources/organization/brands.js.map +1 -1
- package/resources/organization/brands.mjs +54 -54
- package/resources/organization/brands.mjs.map +1 -1
- package/resources/organization/index.d.mts +3 -3
- package/resources/organization/index.d.mts.map +1 -1
- package/resources/organization/index.d.ts +3 -3
- package/resources/organization/index.d.ts.map +1 -1
- package/resources/organization/organization.d.mts +3 -3
- package/resources/organization/organization.d.mts.map +1 -1
- package/resources/organization/organization.d.ts +3 -3
- package/resources/organization/organization.d.ts.map +1 -1
- package/resources/organization/teams.d.mts +47 -47
- package/resources/organization/teams.d.mts.map +1 -1
- package/resources/organization/teams.d.ts +47 -47
- package/resources/organization/teams.d.ts.map +1 -1
- package/resources/organization/teams.js +44 -44
- package/resources/organization/teams.js.map +1 -1
- package/resources/organization/teams.mjs +44 -44
- package/resources/organization/teams.mjs.map +1 -1
- package/resources/reports.d.mts +249 -215
- package/resources/reports.d.mts.map +1 -1
- package/resources/reports.d.ts +249 -215
- package/resources/reports.d.ts.map +1 -1
- package/resources/reports.js +99 -99
- package/resources/reports.js.map +1 -1
- package/resources/reports.mjs +99 -99
- package/resources/reports.mjs.map +1 -1
- package/resources/support/conversation-tags.d.mts +43 -43
- package/resources/support/conversation-tags.d.mts.map +1 -1
- package/resources/support/conversation-tags.d.ts +43 -43
- package/resources/support/conversation-tags.d.ts.map +1 -1
- package/resources/support/conversation-tags.js +32 -32
- package/resources/support/conversation-tags.js.map +1 -1
- package/resources/support/conversation-tags.mjs +32 -32
- package/resources/support/conversation-tags.mjs.map +1 -1
- package/resources/support/conversations/conversations.d.mts +337 -327
- package/resources/support/conversations/conversations.d.mts.map +1 -1
- package/resources/support/conversations/conversations.d.ts +337 -327
- package/resources/support/conversations/conversations.d.ts.map +1 -1
- package/resources/support/conversations/conversations.js +293 -283
- package/resources/support/conversations/conversations.js.map +1 -1
- package/resources/support/conversations/conversations.mjs +293 -283
- package/resources/support/conversations/conversations.mjs.map +1 -1
- package/resources/support/conversations/index.d.mts +1 -1
- package/resources/support/conversations/index.d.mts.map +1 -1
- package/resources/support/conversations/index.d.ts +1 -1
- package/resources/support/conversations/index.d.ts.map +1 -1
- package/resources/support/conversations/participants.d.mts +2 -2
- package/resources/support/conversations/participants.d.mts.map +1 -1
- package/resources/support/conversations/participants.d.ts +2 -2
- package/resources/support/conversations/participants.d.ts.map +1 -1
- package/resources/support/index.d.mts +3 -3
- package/resources/support/index.d.mts.map +1 -1
- package/resources/support/index.d.ts +3 -3
- package/resources/support/index.d.ts.map +1 -1
- package/resources/support/support.d.mts +3 -3
- package/resources/support/support.d.mts.map +1 -1
- package/resources/support/support.d.ts +3 -3
- package/resources/support/support.d.ts.map +1 -1
- package/resources/support/tickets/categories.d.mts +20 -20
- package/resources/support/tickets/categories.d.mts.map +1 -1
- package/resources/support/tickets/categories.d.ts +20 -20
- package/resources/support/tickets/categories.d.ts.map +1 -1
- package/resources/support/tickets/categories.js +25 -25
- package/resources/support/tickets/categories.js.map +1 -1
- package/resources/support/tickets/categories.mjs +25 -25
- package/resources/support/tickets/categories.mjs.map +1 -1
- package/resources/support/tickets/custom-fields.d.mts +22 -22
- package/resources/support/tickets/custom-fields.d.mts.map +1 -1
- package/resources/support/tickets/custom-fields.d.ts +22 -22
- package/resources/support/tickets/custom-fields.d.ts.map +1 -1
- package/resources/support/tickets/custom-fields.js +19 -19
- package/resources/support/tickets/custom-fields.js.map +1 -1
- package/resources/support/tickets/custom-fields.mjs +19 -19
- package/resources/support/tickets/custom-fields.mjs.map +1 -1
- package/resources/support/tickets/index.d.mts +4 -4
- package/resources/support/tickets/index.d.mts.map +1 -1
- package/resources/support/tickets/index.d.ts +4 -4
- package/resources/support/tickets/index.d.ts.map +1 -1
- package/resources/support/tickets/statuses.d.mts +19 -19
- package/resources/support/tickets/statuses.d.mts.map +1 -1
- package/resources/support/tickets/statuses.d.ts +19 -19
- package/resources/support/tickets/statuses.d.ts.map +1 -1
- package/resources/support/tickets/statuses.js +21 -21
- package/resources/support/tickets/statuses.js.map +1 -1
- package/resources/support/tickets/statuses.mjs +21 -21
- package/resources/support/tickets/statuses.mjs.map +1 -1
- package/resources/support/tickets/tickets.d.mts +75 -75
- package/resources/support/tickets/tickets.d.mts.map +1 -1
- package/resources/support/tickets/tickets.d.ts +75 -75
- package/resources/support/tickets/tickets.d.ts.map +1 -1
- package/resources/support/tickets/tickets.js +44 -44
- package/resources/support/tickets/tickets.js.map +1 -1
- package/resources/support/tickets/tickets.mjs +44 -44
- package/resources/support/tickets/tickets.mjs.map +1 -1
- package/resources/surveys.d.mts +43 -43
- package/resources/surveys.d.mts.map +1 -1
- package/resources/surveys.d.ts +43 -43
- package/resources/surveys.d.ts.map +1 -1
- package/resources/surveys.js +44 -44
- package/resources/surveys.js.map +1 -1
- package/resources/surveys.mjs +44 -44
- package/resources/surveys.mjs.map +1 -1
- package/resources/users/companies/companies.d.mts +121 -130
- package/resources/users/companies/companies.d.mts.map +1 -1
- package/resources/users/companies/companies.d.ts +121 -130
- package/resources/users/companies/companies.d.ts.map +1 -1
- package/resources/users/companies/companies.js +125 -125
- package/resources/users/companies/companies.js.map +1 -1
- package/resources/users/companies/companies.mjs +125 -125
- package/resources/users/companies/companies.mjs.map +1 -1
- package/resources/users/companies/contacts.d.mts +3 -3
- package/resources/users/companies/contacts.d.mts.map +1 -1
- package/resources/users/companies/contacts.d.ts +3 -3
- package/resources/users/companies/contacts.d.ts.map +1 -1
- package/resources/users/companies/index.d.mts +1 -1
- package/resources/users/companies/index.d.mts.map +1 -1
- package/resources/users/companies/index.d.ts +1 -1
- package/resources/users/companies/index.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.d.mts +2 -2
- package/resources/users/contacts/by-user-id/by-user-id.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.d.ts +2 -2
- package/resources/users/contacts/by-user-id/by-user-id.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.d.mts +2 -2
- package/resources/users/contacts/by-user-id/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.d.ts +2 -2
- package/resources/users/contacts/by-user-id/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/contacts.d.mts +249 -235
- package/resources/users/contacts/contacts.d.mts.map +1 -1
- package/resources/users/contacts/contacts.d.ts +249 -235
- package/resources/users/contacts/contacts.d.ts.map +1 -1
- package/resources/users/contacts/contacts.js +211 -184
- package/resources/users/contacts/contacts.js.map +1 -1
- package/resources/users/contacts/contacts.mjs +211 -184
- package/resources/users/contacts/contacts.mjs.map +1 -1
- package/resources/users/contacts/email-preferences.d.mts +2 -2
- package/resources/users/contacts/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/email-preferences.d.ts +2 -2
- package/resources/users/contacts/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/index.d.mts +1 -1
- package/resources/users/contacts/index.d.mts.map +1 -1
- package/resources/users/contacts/index.d.ts +1 -1
- package/resources/users/contacts/index.d.ts.map +1 -1
- package/resources/users/index.d.mts +2 -2
- package/resources/users/index.d.mts.map +1 -1
- package/resources/users/index.d.ts +2 -2
- package/resources/users/index.d.ts.map +1 -1
- package/resources/users/users.d.mts +2 -2
- package/resources/users/users.d.mts.map +1 -1
- package/resources/users/users.d.ts +2 -2
- package/resources/users/users.d.ts.map +1 -1
- package/resources/webhooks.d.mts +83 -83
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +83 -83
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +77 -77
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +77 -77
- package/resources/webhooks.mjs.map +1 -1
- package/src/client.ts +6 -6
- package/src/resources/audit-logs.ts +7 -1
- package/src/resources/changelogs/changelogs.ts +320 -175
- package/src/resources/changelogs/index.ts +1 -1
- package/src/resources/changelogs/subscribers.ts +31 -2
- package/src/resources/conversation-attributes.ts +34 -34
- package/src/resources/feedback/boards.ts +30 -30
- package/src/resources/feedback/comments.ts +137 -137
- package/src/resources/feedback/custom-fields.ts +46 -46
- package/src/resources/feedback/feedback.ts +6 -6
- package/src/resources/feedback/index.ts +6 -6
- package/src/resources/feedback/post-statuses.ts +33 -33
- package/src/resources/feedback/posts/index.ts +2 -2
- package/src/resources/feedback/posts/posts.ts +176 -176
- package/src/resources/feedback/posts/voters.ts +3 -3
- package/src/resources/help-center/articles.ts +631 -109
- package/src/resources/help-center/collections.ts +349 -88
- package/src/resources/help-center/help-center.ts +5 -5
- package/src/resources/help-center/help-centers.ts +202 -57
- package/src/resources/help-center/index.ts +5 -5
- package/src/resources/help-center/redirect-rules.ts +294 -178
- package/src/resources/index.ts +6 -6
- package/src/resources/organization/admins.ts +36 -36
- package/src/resources/organization/brands.ts +68 -68
- package/src/resources/organization/index.ts +3 -3
- package/src/resources/organization/organization.ts +3 -3
- package/src/resources/organization/teams.ts +54 -54
- package/src/resources/reports.ts +311 -262
- package/src/resources/support/conversation-tags.ts +62 -62
- package/src/resources/support/conversations/conversations.ts +429 -419
- package/src/resources/support/conversations/index.ts +4 -4
- package/src/resources/support/conversations/participants.ts +2 -2
- package/src/resources/support/index.ts +7 -7
- package/src/resources/support/support.ts +7 -7
- package/src/resources/support/tickets/categories.ts +35 -35
- package/src/resources/support/tickets/custom-fields.ts +29 -29
- package/src/resources/support/tickets/index.ts +4 -4
- package/src/resources/support/tickets/statuses.ts +31 -31
- package/src/resources/support/tickets/tickets.ts +101 -101
- package/src/resources/surveys.ts +60 -60
- package/src/resources/users/companies/companies.ts +158 -172
- package/src/resources/users/companies/contacts.ts +3 -3
- package/src/resources/users/companies/index.ts +2 -2
- package/src/resources/users/contacts/by-user-id/by-user-id.ts +2 -2
- package/src/resources/users/contacts/by-user-id/email-preferences.ts +2 -2
- package/src/resources/users/contacts/contacts.ts +284 -280
- package/src/resources/users/contacts/email-preferences.ts +2 -2
- package/src/resources/users/contacts/index.ts +3 -3
- package/src/resources/users/index.ts +5 -5
- package/src/resources/users/users.ts +5 -5
- package/src/resources/webhooks.ts +106 -100
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- 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
|
-
*
|
|
582
|
-
*
|
|
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
|
-
*
|
|
442
|
+
* ### Query Parameters
|
|
591
443
|
*
|
|
592
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
451
|
+
* Returns a list object with:
|
|
604
452
|
*
|
|
605
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
459
|
+
* Each conversation includes:
|
|
616
460
|
*
|
|
617
|
-
*
|
|
618
|
-
*
|
|
619
|
-
*
|
|
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
|
|
473
|
+
* ### Example
|
|
622
474
|
*
|
|
623
475
|
* ```json
|
|
624
476
|
* {
|
|
625
|
-
* "
|
|
626
|
-
* "
|
|
627
|
-
*
|
|
628
|
-
*
|
|
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
|
-
* ###
|
|
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
|
-
*
|
|
498
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
644
499
|
*
|
|
645
|
-
*
|
|
646
|
-
*
|
|
647
|
-
*
|
|
648
|
-
*
|
|
649
|
-
*
|
|
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
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
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
|
-
*
|
|
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
|
-
* ###
|
|
530
|
+
* ### Path Parameters
|
|
720
531
|
*
|
|
721
|
-
*
|
|
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
|
|
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
|
-
* "
|
|
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
|
-
* ###
|
|
546
|
+
* ### Caution
|
|
765
547
|
*
|
|
766
|
-
*
|
|
767
|
-
*
|
|
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.
|
|
777
|
-
* conversationId: '12345',
|
|
778
|
-
* conversationPartId: '67890',
|
|
779
|
-
* type: 'conversation_part',
|
|
780
|
-
* });
|
|
558
|
+
* await client.support.conversations.delete('12345');
|
|
781
559
|
* ```
|
|
782
560
|
*/
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
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
|
-
*
|
|
895
|
-
* available for that relationship.
|
|
879
|
+
* ### Example Admin Note (Internal)
|
|
896
880
|
*
|
|
897
|
-
*
|
|
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
|
-
* "
|
|
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
|
|
912
|
-
* await client.support.conversations.
|
|
913
|
-
* '
|
|
914
|
-
*
|
|
915
|
-
*
|
|
916
|
-
*
|
|
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
|
-
|
|
922
|
-
|
|
923
|
-
|
|
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
|
|
3620
|
-
type
|
|
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
|
|