featurebase-node 0.14.2 → 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 +16 -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 +6 -6
- package/resources/feedback/feedback.d.mts.map +1 -1
- package/resources/feedback/feedback.d.ts +6 -6
- package/resources/feedback/feedback.d.ts.map +1 -1
- package/resources/feedback/feedback.js.map +1 -1
- package/resources/feedback/feedback.mjs.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/index.js.map +1 -1
- package/resources/feedback/index.mjs.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/index.js.map +1 -1
- package/resources/feedback/posts/index.mjs.map +1 -1
- package/resources/feedback/posts/posts.d.mts +169 -102
- package/resources/feedback/posts/posts.d.mts.map +1 -1
- package/resources/feedback/posts/posts.d.ts +169 -102
- package/resources/feedback/posts/posts.d.ts.map +1 -1
- package/resources/feedback/posts/posts.js +144 -75
- package/resources/feedback/posts/posts.js.map +1 -1
- package/resources/feedback/posts/posts.mjs +144 -75
- 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 +347 -180
- package/resources/reports.d.mts.map +1 -1
- package/resources/reports.d.ts +347 -180
- package/resources/reports.d.ts.map +1 -1
- package/resources/reports.js +124 -99
- package/resources/reports.js.map +1 -1
- package/resources/reports.mjs +124 -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 +402 -351
- package/resources/support/conversations/conversations.d.mts.map +1 -1
- package/resources/support/conversations/conversations.d.ts +402 -351
- package/resources/support/conversations/conversations.d.ts.map +1 -1
- package/resources/support/conversations/conversations.js +340 -295
- package/resources/support/conversations/conversations.js.map +1 -1
- package/resources/support/conversations/conversations.mjs +340 -295
- 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 +9 -5
- package/src/resources/feedback/index.ts +7 -5
- package/src/resources/feedback/post-statuses.ts +33 -33
- package/src/resources/feedback/posts/index.ts +3 -1
- package/src/resources/feedback/posts/posts.ts +232 -128
- 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 +454 -232
- package/src/resources/support/conversation-tags.ts +62 -62
- package/src/resources/support/conversations/conversations.ts +489 -438
- 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
|
+
* ```
|
|
878
|
+
*
|
|
879
|
+
* ### Example Admin Note (Internal)
|
|
893
880
|
*
|
|
894
|
-
*
|
|
895
|
-
*
|
|
881
|
+
* ```json
|
|
882
|
+
* {
|
|
883
|
+
* "type": "admin",
|
|
884
|
+
* "id": "507f1f77bcf86cd799439011",
|
|
885
|
+
* "bodyMarkdown": "Customer seems frustrated, escalating to tier 2.",
|
|
886
|
+
* "messageType": "note"
|
|
887
|
+
* }
|
|
888
|
+
* ```
|
|
896
889
|
*
|
|
897
|
-
* ### Example
|
|
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([
|
|
@@ -984,18 +984,53 @@ export class Conversations extends APIResource {
|
|
|
984
984
|
* `participant_id`, `company_id`, `created_at`) are still accepted for back-compat
|
|
985
985
|
* but are deprecated — please migrate to camelCase in new code.
|
|
986
986
|
*
|
|
987
|
-
* | Field
|
|
988
|
-
* |
|
|
989
|
-
* | `state`
|
|
990
|
-
* | `priority`
|
|
991
|
-
* | `adminAssigneeId`
|
|
992
|
-
* | `teamAssigneeId`
|
|
993
|
-
* | `brandId`
|
|
994
|
-
* | `tagIds`
|
|
995
|
-
* | `userId` / `participantId`
|
|
996
|
-
* | `companyId`
|
|
997
|
-
* | `mentionedAdminIds`
|
|
998
|
-
* | `createdAt`
|
|
987
|
+
* | Field | Type | Operators |
|
|
988
|
+
* | -------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
989
|
+
* | `state` | enum (`open` / `closed` / `snoozed`) | `=`, `!=`, `IN`, `NIN` |
|
|
990
|
+
* | `priority` | boolean | `=`, `!=` |
|
|
991
|
+
* | `adminAssigneeId` | id or null (unassigned) | `=`, `!=`, `IN`, `NIN` |
|
|
992
|
+
* | `teamAssigneeId` | id or null (unassigned) | `=`, `!=`, `IN`, `NIN` |
|
|
993
|
+
* | `brandId` | id or null | `=`, `!=`, `IN`, `NIN` |
|
|
994
|
+
* | `tagIds` | id (matches any conversation containing this tag) | `=`, `!=`, `IN`, `NIN` |
|
|
995
|
+
* | `userId` / `participantId` | id of a conversation participant | `=`, `!=`, `IN`, `NIN` |
|
|
996
|
+
* | `companyId` | company id (matches conversations whose participants belong to the company) | `=`, `!=`, `IN`, `NIN` |
|
|
997
|
+
* | `mentionedAdminIds` | admin id | `=`, `!=`, `IN`, `NIN` |
|
|
998
|
+
* | `createdAt` | unix seconds | `=`, `>`, `<` |
|
|
999
|
+
* | `customAttributes.<attributeId>` | conversation custom attribute (see below) | `=`, `!=`, `IN`, `NIN`; plus `>`, `<`, `>=`, `<=` for `number` / `date` |
|
|
1000
|
+
*
|
|
1001
|
+
* ### Filtering by custom attributes
|
|
1002
|
+
*
|
|
1003
|
+
* Any non-archived conversation custom attribute can be used as a filter field via
|
|
1004
|
+
* `customAttributes.<attributeId>`, where `<attributeId>` is the attribute's `id`
|
|
1005
|
+
* from `GET /v2/conversation_attributes`. The accepted value shape follows the
|
|
1006
|
+
* attribute's `fieldSubType`:
|
|
1007
|
+
*
|
|
1008
|
+
* - `select` / `multi-select` — pass an option **label** (e.g.
|
|
1009
|
+
* `"Product question"`) or an option **id**; both are matched interchangeably,
|
|
1010
|
+
* and id-based filters keep working after options are renamed
|
|
1011
|
+
* - `text` — string
|
|
1012
|
+
* - `number` — number; range operators (`>`, `<`, `>=`, `<=`) are supported
|
|
1013
|
+
* - `date` — ISO 8601 string or unix seconds; range operators are supported
|
|
1014
|
+
* - `checkbox` — boolean
|
|
1015
|
+
*
|
|
1016
|
+
* Example — all conversations where the "Issue type" select attribute is "Product
|
|
1017
|
+
* question":
|
|
1018
|
+
*
|
|
1019
|
+
* ```json
|
|
1020
|
+
* {
|
|
1021
|
+
* "query": {
|
|
1022
|
+
* "field": "customAttributes.6863d3fca1234b0d5e15c86c",
|
|
1023
|
+
* "operator": "=",
|
|
1024
|
+
* "value": "Product question"
|
|
1025
|
+
* },
|
|
1026
|
+
* "include": ["customAttributeDefinitions"]
|
|
1027
|
+
* }
|
|
1028
|
+
* ```
|
|
1029
|
+
*
|
|
1030
|
+
* Referencing an attribute id that does not exist (or has been archived) returns a
|
|
1031
|
+
* `field_unknown` error. Set `include` to `["customAttributeDefinitions"]` to get
|
|
1032
|
+
* each returned conversation's attribute values resolved with names and types
|
|
1033
|
+
* alongside the ID-keyed `customAttributes` map.
|
|
999
1034
|
*
|
|
1000
1035
|
* For unbounded fields a query consisting only of `!=` or `NIN` clauses is
|
|
1001
1036
|
* rejected with `query_too_broad` to prevent full-org scans. Combine the negation
|
|
@@ -1003,6 +1038,16 @@ export class Conversations extends APIResource {
|
|
|
1003
1038
|
* fields (`state`, `priority`) are exempt because their negation is naturally
|
|
1004
1039
|
* bounded.
|
|
1005
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
|
+
*
|
|
1006
1051
|
* ### Pagination
|
|
1007
1052
|
*
|
|
1008
1053
|
* Cursor-based, `limit` between 1 and 100 (default 10). Pagination cursors are
|
|
@@ -1329,9 +1374,11 @@ export namespace Conversation {
|
|
|
1329
1374
|
requestId: string;
|
|
1330
1375
|
|
|
1331
1376
|
/**
|
|
1332
|
-
* Source that created the CSAT request
|
|
1377
|
+
* Source that created the CSAT request. `workflow` = Ask For Conversation Rating
|
|
1378
|
+
* workflow action, `fibi_auto` = automatic Fibi AI Agent survey on
|
|
1379
|
+
* resolve/handoff.
|
|
1333
1380
|
*/
|
|
1334
|
-
requestSource: 'workflow';
|
|
1381
|
+
requestSource: 'workflow' | 'fibi_auto';
|
|
1335
1382
|
|
|
1336
1383
|
/**
|
|
1337
1384
|
* Lifecycle status for this historical CSAT request
|
|
@@ -1437,7 +1484,7 @@ export namespace Conversation {
|
|
|
1437
1484
|
/**
|
|
1438
1485
|
* Source of the latest CSAT request when known
|
|
1439
1486
|
*/
|
|
1440
|
-
requestSource?: 'workflow';
|
|
1487
|
+
requestSource?: 'workflow' | 'fibi_auto';
|
|
1441
1488
|
|
|
1442
1489
|
/**
|
|
1443
1490
|
* CSAT score from 1 to 5 when rated
|
|
@@ -2001,9 +2048,11 @@ export namespace ConversationPart {
|
|
|
2001
2048
|
requestId: string;
|
|
2002
2049
|
|
|
2003
2050
|
/**
|
|
2004
|
-
* Source that created the CSAT request
|
|
2051
|
+
* Source that created the CSAT request. `workflow` = Ask For Conversation Rating
|
|
2052
|
+
* workflow action, `fibi_auto` = automatic Fibi AI Agent survey on
|
|
2053
|
+
* resolve/handoff.
|
|
2005
2054
|
*/
|
|
2006
|
-
requestSource: 'workflow';
|
|
2055
|
+
requestSource: 'workflow' | 'fibi_auto';
|
|
2007
2056
|
|
|
2008
2057
|
/**
|
|
2009
2058
|
* Status of the CSAT request represented by this part
|
|
@@ -2088,9 +2137,11 @@ export namespace ConversationPart {
|
|
|
2088
2137
|
requestId: string;
|
|
2089
2138
|
|
|
2090
2139
|
/**
|
|
2091
|
-
* Source that created the CSAT request
|
|
2140
|
+
* Source that created the CSAT request. `workflow` = Ask For Conversation Rating
|
|
2141
|
+
* workflow action, `fibi_auto` = automatic Fibi AI Agent survey on
|
|
2142
|
+
* resolve/handoff.
|
|
2092
2143
|
*/
|
|
2093
|
-
requestSource: 'workflow';
|
|
2144
|
+
requestSource: 'workflow' | 'fibi_auto';
|
|
2094
2145
|
|
|
2095
2146
|
/**
|
|
2096
2147
|
* CSAT score from 1 to 5
|
|
@@ -3118,27 +3169,6 @@ export namespace ConversationSearchResponse {
|
|
|
3118
3169
|
}
|
|
3119
3170
|
}
|
|
3120
3171
|
|
|
3121
|
-
export interface ConversationListParams extends CursorPageParams {
|
|
3122
|
-
/**
|
|
3123
|
-
* Query param: Comma-separated optional expansions. Use
|
|
3124
|
-
* `customAttributeDefinitions` to return `customAttributeValues` with names and
|
|
3125
|
-
* types alongside ID-keyed `customAttributes`.
|
|
3126
|
-
*/
|
|
3127
|
-
include?: string | Array<string>;
|
|
3128
|
-
|
|
3129
|
-
/**
|
|
3130
|
-
* Query param: Filter conversations by one or more tag IDs using a comma-separated
|
|
3131
|
-
* list. Conversations must contain all provided tags.
|
|
3132
|
-
*/
|
|
3133
|
-
tagIds?: string | Array<string>;
|
|
3134
|
-
|
|
3135
|
-
/**
|
|
3136
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
3137
|
-
* configured API version if not specified.
|
|
3138
|
-
*/
|
|
3139
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
3140
|
-
}
|
|
3141
|
-
|
|
3142
3172
|
export interface ConversationCreateParams {
|
|
3143
3173
|
/**
|
|
3144
3174
|
* Body param: The content of the initial message in markdown format. Images
|
|
@@ -3182,7 +3212,7 @@ export interface ConversationCreateParams {
|
|
|
3182
3212
|
* Header param: API version for this request. Defaults to your organization's
|
|
3183
3213
|
* configured API version if not specified.
|
|
3184
3214
|
*/
|
|
3185
|
-
'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';
|
|
3186
3216
|
}
|
|
3187
3217
|
|
|
3188
3218
|
export namespace ConversationCreateParams {
|
|
@@ -3250,15 +3280,7 @@ export interface ConversationRetrieveParams {
|
|
|
3250
3280
|
* Header param: API version for this request. Defaults to your organization's
|
|
3251
3281
|
* configured API version if not specified.
|
|
3252
3282
|
*/
|
|
3253
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
3254
|
-
}
|
|
3255
|
-
|
|
3256
|
-
export interface ConversationDeleteParams {
|
|
3257
|
-
/**
|
|
3258
|
-
* API version for this request. Defaults to your organization's configured API
|
|
3259
|
-
* version if not specified.
|
|
3260
|
-
*/
|
|
3261
|
-
'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';
|
|
3262
3284
|
}
|
|
3263
3285
|
|
|
3264
3286
|
export interface ConversationUpdateParams {
|
|
@@ -3312,7 +3334,7 @@ export interface ConversationUpdateParams {
|
|
|
3312
3334
|
* Header param: API version for this request. Defaults to your organization's
|
|
3313
3335
|
* configured API version if not specified.
|
|
3314
3336
|
*/
|
|
3315
|
-
'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';
|
|
3316
3338
|
}
|
|
3317
3339
|
|
|
3318
3340
|
export namespace ConversationUpdateParams {
|
|
@@ -3345,6 +3367,103 @@ export namespace ConversationUpdateParams {
|
|
|
3345
3367
|
}
|
|
3346
3368
|
}
|
|
3347
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
|
+
|
|
3348
3467
|
export type ConversationReplyParams =
|
|
3349
3468
|
| ConversationReplyParams.ContactReplyBody
|
|
3350
3469
|
| ConversationReplyParams.AdminReplyBody;
|
|
@@ -3388,7 +3507,7 @@ export declare namespace ConversationReplyParams {
|
|
|
3388
3507
|
* Header param: API version for this request. Defaults to your organization's
|
|
3389
3508
|
* configured API version if not specified.
|
|
3390
3509
|
*/
|
|
3391
|
-
'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';
|
|
3392
3511
|
}
|
|
3393
3512
|
|
|
3394
3513
|
export interface AdminReplyBody {
|
|
@@ -3425,78 +3544,10 @@ export declare namespace ConversationReplyParams {
|
|
|
3425
3544
|
* Header param: API version for this request. Defaults to your organization's
|
|
3426
3545
|
* configured API version if not specified.
|
|
3427
3546
|
*/
|
|
3428
|
-
'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';
|
|
3429
3548
|
}
|
|
3430
3549
|
}
|
|
3431
3550
|
|
|
3432
|
-
export interface ConversationRedactParams {
|
|
3433
|
-
/**
|
|
3434
|
-
* Body param: The conversation short ID that contains the part to redact
|
|
3435
|
-
*/
|
|
3436
|
-
conversationId: string;
|
|
3437
|
-
|
|
3438
|
-
/**
|
|
3439
|
-
* Body param: The conversation part short ID to redact
|
|
3440
|
-
*/
|
|
3441
|
-
conversationPartId: string;
|
|
3442
|
-
|
|
3443
|
-
/**
|
|
3444
|
-
* Body param: The type of item to redact. Currently only "conversation_part" is
|
|
3445
|
-
* supported.
|
|
3446
|
-
*/
|
|
3447
|
-
type: 'conversation_part';
|
|
3448
|
-
|
|
3449
|
-
/**
|
|
3450
|
-
* Body param: The admin ID performing this action. If not provided, changes are
|
|
3451
|
-
* attributed to the system bot user.
|
|
3452
|
-
*/
|
|
3453
|
-
actingAdminId?: string;
|
|
3454
|
-
|
|
3455
|
-
/**
|
|
3456
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
3457
|
-
* configured API version if not specified.
|
|
3458
|
-
*/
|
|
3459
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
3460
|
-
}
|
|
3461
|
-
|
|
3462
|
-
export interface ConversationAttachTagParams {
|
|
3463
|
-
/**
|
|
3464
|
-
* Body param: Required admin ID performing this tag attachment. Must be a member
|
|
3465
|
-
* of the organization so the mutation can be attributed to a real admin actor.
|
|
3466
|
-
*/
|
|
3467
|
-
actingAdminId: string;
|
|
3468
|
-
|
|
3469
|
-
/**
|
|
3470
|
-
* Body param: The Featurebase tag ID to attach to the conversation.
|
|
3471
|
-
*/
|
|
3472
|
-
tagId: string;
|
|
3473
|
-
|
|
3474
|
-
/**
|
|
3475
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
3476
|
-
* configured API version if not specified.
|
|
3477
|
-
*/
|
|
3478
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
3479
|
-
}
|
|
3480
|
-
|
|
3481
|
-
export interface ConversationDetachTagParams {
|
|
3482
|
-
/**
|
|
3483
|
-
* Path param: Conversation ID (short ID)
|
|
3484
|
-
*/
|
|
3485
|
-
id: string;
|
|
3486
|
-
|
|
3487
|
-
/**
|
|
3488
|
-
* Body param: Required admin ID performing this tag removal. Must be a member of
|
|
3489
|
-
* the organization so the mutation can be attributed to a real admin actor.
|
|
3490
|
-
*/
|
|
3491
|
-
actingAdminId: string;
|
|
3492
|
-
|
|
3493
|
-
/**
|
|
3494
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
3495
|
-
* configured API version if not specified.
|
|
3496
|
-
*/
|
|
3497
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
3498
|
-
}
|
|
3499
|
-
|
|
3500
3551
|
export interface ConversationSearchParams {
|
|
3501
3552
|
/**
|
|
3502
3553
|
* Body param: An opaque cursor for pagination. Use the nextCursor value from a
|
|
@@ -3544,7 +3595,7 @@ export interface ConversationSearchParams {
|
|
|
3544
3595
|
* Header param: API version for this request. Defaults to your organization's
|
|
3545
3596
|
* configured API version if not specified.
|
|
3546
3597
|
*/
|
|
3547
|
-
'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';
|
|
3548
3599
|
}
|
|
3549
3600
|
|
|
3550
3601
|
Conversations.Participants = Participants;
|
|
@@ -3570,15 +3621,15 @@ export declare namespace Conversations {
|
|
|
3570
3621
|
type ConversationDeleteResponse as ConversationDeleteResponse,
|
|
3571
3622
|
type ConversationSearchResponse as ConversationSearchResponse,
|
|
3572
3623
|
type ConversationsCursorPage as ConversationsCursorPage,
|
|
3573
|
-
type ConversationListParams as ConversationListParams,
|
|
3574
3624
|
type ConversationCreateParams as ConversationCreateParams,
|
|
3575
3625
|
type ConversationRetrieveParams as ConversationRetrieveParams,
|
|
3576
|
-
type ConversationDeleteParams as ConversationDeleteParams,
|
|
3577
3626
|
type ConversationUpdateParams as ConversationUpdateParams,
|
|
3578
|
-
type
|
|
3579
|
-
type
|
|
3627
|
+
type ConversationListParams as ConversationListParams,
|
|
3628
|
+
type ConversationDeleteParams as ConversationDeleteParams,
|
|
3580
3629
|
type ConversationAttachTagParams as ConversationAttachTagParams,
|
|
3581
3630
|
type ConversationDetachTagParams as ConversationDetachTagParams,
|
|
3631
|
+
type ConversationRedactParams as ConversationRedactParams,
|
|
3632
|
+
type ConversationReplyParams as ConversationReplyParams,
|
|
3582
3633
|
type ConversationSearchParams as ConversationSearchParams,
|
|
3583
3634
|
};
|
|
3584
3635
|
|