featurebase-node 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/api-promise.d.mts +1 -0
- package/api-promise.d.mts.map +1 -1
- package/api-promise.d.ts +1 -0
- package/api-promise.d.ts.map +1 -1
- package/api-promise.mjs +1 -0
- package/api-promise.mjs.map +1 -1
- package/client.d.mts +9 -3
- package/client.d.mts.map +1 -1
- package/client.d.ts +9 -3
- package/client.d.ts.map +1 -1
- package/client.js +6 -0
- package/client.js.map +1 -1
- package/client.mjs +6 -0
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/error.mjs.map +1 -1
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.mjs.map +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/uploads.d.mts.map +1 -1
- package/core/uploads.d.ts.map +1 -1
- package/core/uploads.mjs.map +1 -1
- package/error.d.mts +1 -0
- package/error.d.mts.map +1 -1
- package/error.d.ts +1 -0
- package/error.d.ts.map +1 -1
- package/error.mjs +1 -0
- package/error.mjs.map +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.mjs.map +1 -1
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/headers.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/qs/formats.d.mts.map +1 -1
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/index.d.mts +2 -2
- package/internal/qs/index.d.mts.map +1 -1
- package/internal/qs/index.d.ts +2 -2
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/index.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts.map +1 -1
- package/internal/shims.d.mts +6 -0
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts +6 -0
- package/internal/shims.d.ts.map +1 -1
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/types.d.mts +4 -4
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +4 -4
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/query.mjs.map +1 -1
- package/internal/utils/values.mjs.map +1 -1
- package/internal/utils.d.mts.map +1 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.mjs.map +1 -1
- package/package.json +16 -10
- package/pagination.d.mts +1 -0
- package/pagination.d.mts.map +1 -1
- package/pagination.d.ts +1 -0
- package/pagination.d.ts.map +1 -1
- package/pagination.mjs +1 -0
- package/pagination.mjs.map +1 -1
- package/resource.d.mts +1 -0
- package/resource.d.mts.map +1 -1
- package/resource.d.ts +1 -0
- package/resource.d.ts.map +1 -1
- package/resource.mjs +1 -0
- package/resource.mjs.map +1 -1
- package/resources/changelogs/changelogs.d.mts +106 -106
- package/resources/changelogs/changelogs.d.mts.map +1 -1
- package/resources/changelogs/changelogs.d.ts +106 -106
- 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/index.mjs.map +1 -1
- package/resources/changelogs/subscribers.d.mts.map +1 -1
- package/resources/changelogs/subscribers.d.ts.map +1 -1
- package/resources/changelogs/subscribers.mjs.map +1 -1
- package/resources/changelogs.d.mts.map +1 -1
- package/resources/changelogs.d.ts.map +1 -1
- package/resources/changelogs.mjs.map +1 -1
- package/resources/conversation-attributes.d.mts +117 -0
- package/resources/conversation-attributes.d.mts.map +1 -0
- package/resources/conversation-attributes.d.ts +117 -0
- package/resources/conversation-attributes.d.ts.map +1 -0
- package/resources/conversation-attributes.js +61 -0
- package/resources/conversation-attributes.js.map +1 -0
- package/resources/conversation-attributes.mjs +57 -0
- package/resources/conversation-attributes.mjs.map +1 -0
- package/resources/feedback/boards.d.mts +17 -17
- package/resources/feedback/boards.d.mts.map +1 -1
- package/resources/feedback/boards.d.ts +17 -17
- 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 +129 -191
- package/resources/feedback/comments.d.mts.map +1 -1
- package/resources/feedback/comments.d.ts +129 -191
- 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 +34 -34
- package/resources/feedback/custom-fields.d.mts.map +1 -1
- package/resources/feedback/custom-fields.d.ts +34 -34
- 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 +7 -7
- package/resources/feedback/feedback.d.mts.map +1 -1
- package/resources/feedback/feedback.d.ts +7 -7
- 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 +18 -18
- package/resources/feedback/post-statuses.d.mts.map +1 -1
- package/resources/feedback/post-statuses.d.ts +18 -18
- 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 +187 -260
- package/resources/feedback/posts/posts.d.mts.map +1 -1
- package/resources/feedback/posts/posts.d.ts +187 -260
- package/resources/feedback/posts/posts.d.ts.map +1 -1
- package/resources/feedback/posts/posts.js +75 -75
- package/resources/feedback/posts/posts.js.map +1 -1
- package/resources/feedback/posts/posts.mjs +75 -75
- package/resources/feedback/posts/posts.mjs.map +1 -1
- package/resources/feedback/posts/voters.d.mts.map +1 -1
- package/resources/feedback/posts/voters.d.ts.map +1 -1
- package/resources/feedback/posts/voters.mjs.map +1 -1
- package/resources/feedback/posts.d.mts.map +1 -1
- package/resources/feedback/posts.d.ts.map +1 -1
- package/resources/feedback/posts.mjs.map +1 -1
- package/resources/feedback.d.mts.map +1 -1
- package/resources/feedback.d.ts.map +1 -1
- package/resources/feedback.mjs.map +1 -1
- package/resources/help-center/articles.d.mts +98 -152
- package/resources/help-center/articles.d.mts.map +1 -1
- package/resources/help-center/articles.d.ts +98 -152
- 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 +64 -64
- package/resources/help-center/collections.d.mts.map +1 -1
- package/resources/help-center/collections.d.ts +64 -64
- 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 +5 -5
- package/resources/help-center/help-center.d.mts.map +1 -1
- package/resources/help-center/help-center.d.ts +5 -5
- package/resources/help-center/help-center.d.ts.map +1 -1
- package/resources/help-center/help-center.js.map +1 -1
- package/resources/help-center/help-center.mjs.map +1 -1
- package/resources/help-center/help-centers.d.mts +43 -43
- package/resources/help-center/help-centers.d.mts.map +1 -1
- package/resources/help-center/help-centers.d.ts +43 -43
- 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/index.js.map +1 -1
- package/resources/help-center/index.mjs.map +1 -1
- package/resources/help-center/redirect-rules.d.mts +117 -117
- package/resources/help-center/redirect-rules.d.mts.map +1 -1
- package/resources/help-center/redirect-rules.d.ts +117 -117
- 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/help-center.d.mts.map +1 -1
- package/resources/help-center.d.ts.map +1 -1
- package/resources/help-center.mjs.map +1 -1
- package/resources/index.d.mts +4 -3
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +4 -3
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/organization/admins.d.mts +23 -23
- package/resources/organization/admins.d.mts.map +1 -1
- package/resources/organization/admins.d.ts +23 -23
- 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 +50 -50
- package/resources/organization/brands.d.mts.map +1 -1
- package/resources/organization/brands.d.ts +50 -50
- 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/index.mjs.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/organization.mjs.map +1 -1
- package/resources/organization/teams.d.mts +45 -45
- package/resources/organization/teams.d.mts.map +1 -1
- package/resources/organization/teams.d.ts +45 -45
- 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/organization.d.mts.map +1 -1
- package/resources/organization.d.ts.map +1 -1
- package/resources/organization.mjs.map +1 -1
- package/resources/support/conversation-tags.d.mts +40 -40
- package/resources/support/conversation-tags.d.mts.map +1 -1
- package/resources/support/conversation-tags.d.ts +40 -40
- 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 +599 -705
- package/resources/support/conversations/conversations.d.mts.map +1 -1
- package/resources/support/conversations/conversations.d.ts +599 -705
- package/resources/support/conversations/conversations.d.ts.map +1 -1
- package/resources/support/conversations/conversations.js +289 -288
- package/resources/support/conversations/conversations.js.map +1 -1
- package/resources/support/conversations/conversations.mjs +289 -288
- 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/index.js.map +1 -1
- package/resources/support/conversations/index.mjs.map +1 -1
- package/resources/support/conversations/participants.d.mts.map +1 -1
- package/resources/support/conversations/participants.d.ts.map +1 -1
- package/resources/support/conversations/participants.mjs.map +1 -1
- package/resources/support/conversations.d.mts.map +1 -1
- package/resources/support/conversations.d.ts.map +1 -1
- package/resources/support/conversations.mjs.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/index.js.map +1 -1
- package/resources/support/index.mjs.map +1 -1
- package/resources/support/support.d.mts +4 -4
- package/resources/support/support.d.mts.map +1 -1
- package/resources/support/support.d.ts +4 -4
- package/resources/support/support.d.ts.map +1 -1
- package/resources/support/support.js.map +1 -1
- package/resources/support/support.mjs.map +1 -1
- package/resources/support/tickets/categories.d.mts +18 -18
- package/resources/support/tickets/categories.d.mts.map +1 -1
- package/resources/support/tickets/categories.d.ts +18 -18
- 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 +20 -20
- package/resources/support/tickets/custom-fields.d.mts.map +1 -1
- package/resources/support/tickets/custom-fields.d.ts +20 -20
- 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/index.mjs.map +1 -1
- package/resources/support/tickets/statuses.d.mts +17 -17
- package/resources/support/tickets/statuses.d.mts.map +1 -1
- package/resources/support/tickets/statuses.d.ts +17 -17
- 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 +69 -69
- package/resources/support/tickets/tickets.d.mts.map +1 -1
- package/resources/support/tickets/tickets.d.ts +69 -69
- 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/support/tickets.d.mts.map +1 -1
- package/resources/support/tickets.d.ts.map +1 -1
- package/resources/support/tickets.mjs.map +1 -1
- package/resources/support.d.mts.map +1 -1
- package/resources/support.d.ts.map +1 -1
- package/resources/support.mjs.map +1 -1
- package/resources/surveys.d.mts +41 -41
- package/resources/surveys.d.mts.map +1 -1
- package/resources/surveys.d.ts +41 -41
- 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 +116 -157
- package/resources/users/companies/companies.d.mts.map +1 -1
- package/resources/users/companies/companies.d.ts +116 -157
- 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.map +1 -1
- package/resources/users/companies/contacts.d.ts.map +1 -1
- package/resources/users/companies/contacts.mjs.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/companies/index.mjs.map +1 -1
- package/resources/users/companies.d.mts.map +1 -1
- package/resources/users/companies.d.ts.map +1 -1
- package/resources/users/companies.mjs.map +1 -1
- 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.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.mjs.map +1 -1
- 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.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.mjs.map +1 -1
- package/resources/users/contacts/by-user-id/index.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/index.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/index.mjs.map +1 -1
- package/resources/users/contacts/by-user-id.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id.mjs.map +1 -1
- package/resources/users/contacts/contacts.d.mts +196 -235
- package/resources/users/contacts/contacts.d.mts.map +1 -1
- package/resources/users/contacts/contacts.d.ts +196 -235
- package/resources/users/contacts/contacts.d.ts.map +1 -1
- package/resources/users/contacts/contacts.js +186 -184
- package/resources/users/contacts/contacts.js.map +1 -1
- package/resources/users/contacts/contacts.mjs +186 -184
- package/resources/users/contacts/contacts.mjs.map +1 -1
- package/resources/users/contacts/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/email-preferences.mjs.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/contacts/index.mjs.map +1 -1
- package/resources/users/contacts.d.mts.map +1 -1
- package/resources/users/contacts.d.ts.map +1 -1
- package/resources/users/contacts.mjs.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/index.mjs.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/users/users.mjs.map +1 -1
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts.map +1 -1
- package/resources/users.mjs.map +1 -1
- package/resources/webhooks.d.mts +75 -75
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +75 -75
- 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/resources.d.mts.map +1 -1
- package/resources.d.ts.map +1 -1
- package/resources.mjs.map +1 -1
- package/src/client.ts +25 -3
- package/src/resources/changelogs/changelogs.ts +170 -170
- package/src/resources/changelogs/index.ts +1 -1
- package/src/resources/conversation-attributes.ts +181 -0
- package/src/resources/feedback/boards.ts +28 -28
- package/src/resources/feedback/comments.ts +153 -226
- package/src/resources/feedback/custom-fields.ts +44 -44
- package/src/resources/feedback/feedback.ts +19 -5
- package/src/resources/feedback/index.ts +12 -5
- package/src/resources/feedback/post-statuses.ts +31 -31
- package/src/resources/feedback/posts/index.ts +7 -1
- package/src/resources/feedback/posts/posts.ts +230 -311
- package/src/resources/help-center/articles.ts +123 -186
- package/src/resources/help-center/collections.ts +84 -84
- package/src/resources/help-center/help-center.ts +7 -5
- package/src/resources/help-center/help-centers.ts +55 -55
- package/src/resources/help-center/index.ts +6 -5
- package/src/resources/help-center/redirect-rules.ts +174 -174
- package/src/resources/index.ts +11 -3
- package/src/resources/organization/admins.ts +33 -33
- package/src/resources/organization/brands.ts +66 -66
- package/src/resources/organization/index.ts +3 -3
- package/src/resources/organization/organization.ts +3 -3
- package/src/resources/organization/teams.ts +52 -52
- package/src/resources/support/conversation-tags.ts +59 -59
- package/src/resources/support/conversations/conversations.ts +723 -850
- package/src/resources/support/conversations/index.ts +11 -6
- package/src/resources/support/index.ts +14 -9
- package/src/resources/support/support.ts +21 -11
- package/src/resources/support/tickets/categories.ts +33 -33
- package/src/resources/support/tickets/custom-fields.ts +27 -27
- package/src/resources/support/tickets/index.ts +4 -4
- package/src/resources/support/tickets/statuses.ts +29 -29
- package/src/resources/support/tickets/tickets.ts +95 -95
- package/src/resources/surveys.ts +58 -58
- package/src/resources/users/companies/companies.ts +155 -204
- package/src/resources/users/companies/index.ts +2 -2
- package/src/resources/users/contacts/contacts.ts +235 -282
- 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 +95 -95
- package/src/version.ts +1 -1
- package/uploads.d.mts +1 -0
- package/uploads.d.mts.map +1 -1
- package/uploads.d.ts +1 -0
- package/uploads.d.ts.map +1 -1
- package/uploads.mjs +1 -0
- package/uploads.mjs.map +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { APIResource } from "../../../core/resource.mjs";
|
|
2
2
|
import * as ConversationsAPI from "./conversations.mjs";
|
|
3
|
+
import * as ConversationAttributesAPI from "../../conversation-attributes.mjs";
|
|
3
4
|
import * as ConversationTagsAPI from "../conversation-tags.mjs";
|
|
5
|
+
import * as PostsAPI from "../../feedback/posts/posts.mjs";
|
|
4
6
|
import * as ParticipantsAPI from "./participants.mjs";
|
|
5
7
|
import { ParticipantAddParams, ParticipantRemoveParams, Participants } from "./participants.mjs";
|
|
6
8
|
import { APIPromise } from "../../../core/api-promise.mjs";
|
|
@@ -11,6 +13,77 @@ import { RequestOptions } from "../../../internal/request-options.mjs";
|
|
|
11
13
|
*/
|
|
12
14
|
export declare class Conversations extends APIResource {
|
|
13
15
|
participants: ParticipantsAPI.Participants;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a list of conversations in your organization using cursor-based
|
|
18
|
+
* pagination.
|
|
19
|
+
*
|
|
20
|
+
* ### Query Parameters
|
|
21
|
+
*
|
|
22
|
+
* - `limit` - Number of conversations to return (1-100, default 10)
|
|
23
|
+
* - `cursor` - Cursor from previous response for pagination
|
|
24
|
+
* - `tagIds` - Optional tag filter as a comma-separated list of tag IDs. Matches
|
|
25
|
+
* conversations that contain all of the provided tags.
|
|
26
|
+
*
|
|
27
|
+
* ### Response Format
|
|
28
|
+
*
|
|
29
|
+
* Returns a list object with:
|
|
30
|
+
*
|
|
31
|
+
* - `object` - Always "list"
|
|
32
|
+
* - `data` - Array of conversation objects
|
|
33
|
+
* - `nextCursor` - Cursor for the next page, or null if no more results
|
|
34
|
+
*
|
|
35
|
+
* ### Conversation Object
|
|
36
|
+
*
|
|
37
|
+
* Each conversation includes:
|
|
38
|
+
*
|
|
39
|
+
* - `id` - Unique conversation identifier (short ID)
|
|
40
|
+
* - `title` - Conversation title
|
|
41
|
+
* - `state` - Current state ("open", "closed", or "snoozed")
|
|
42
|
+
* - `priority` - Whether the conversation is marked as priority
|
|
43
|
+
* - `adminAssigneeId` - ID of assigned admin (if any)
|
|
44
|
+
* - `teamAssigneeId` - ID of assigned team (if any)
|
|
45
|
+
* - `tags` - Current tags applied anywhere in the conversation
|
|
46
|
+
* - `participants` - Array of participants
|
|
47
|
+
* - `source` - Information about the first message
|
|
48
|
+
* - `createdAt` - Creation timestamp
|
|
49
|
+
* - `updatedAt` - Last update timestamp
|
|
50
|
+
*
|
|
51
|
+
* ### Example
|
|
52
|
+
*
|
|
53
|
+
* ```json
|
|
54
|
+
* {
|
|
55
|
+
* "object": "list",
|
|
56
|
+
* "data": [
|
|
57
|
+
* {
|
|
58
|
+
* "object": "conversation",
|
|
59
|
+
* "id": "12345",
|
|
60
|
+
* "title": "Question about pricing",
|
|
61
|
+
* "state": "open",
|
|
62
|
+
* "priority": false,
|
|
63
|
+
* "adminAssigneeId": null,
|
|
64
|
+
* "participants": [
|
|
65
|
+
* { "type": "customer", "id": "676f0f6765bdaa7d7d760f88" }
|
|
66
|
+
* ],
|
|
67
|
+
* ...
|
|
68
|
+
* }
|
|
69
|
+
* ],
|
|
70
|
+
* "nextCursor": "eyJpZCI6IjEyMzQ1In0="
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* ### Version Availability
|
|
75
|
+
*
|
|
76
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* // Automatically fetches more pages as needed.
|
|
81
|
+
* for await (const conversation of client.support.conversations.list()) {
|
|
82
|
+
* // ...
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
list(params?: ConversationListParams | null | undefined, options?: RequestOptions): PagePromise<ConversationsCursorPage, Conversation>;
|
|
14
87
|
/**
|
|
15
88
|
* Creates a new conversation. Supports both contact-initiated (customer/lead) and
|
|
16
89
|
* admin-initiated (outreach) conversations.
|
|
@@ -250,6 +323,41 @@ export declare class Conversations extends APIResource {
|
|
|
250
323
|
* ```
|
|
251
324
|
*/
|
|
252
325
|
retrieve(id: string, params?: ConversationRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<Conversation>;
|
|
326
|
+
/**
|
|
327
|
+
* Permanently deletes a conversation by its short ID.
|
|
328
|
+
*
|
|
329
|
+
* ### Path Parameters
|
|
330
|
+
*
|
|
331
|
+
* - `id` - The conversation short ID (numeric)
|
|
332
|
+
*
|
|
333
|
+
* ### Response
|
|
334
|
+
*
|
|
335
|
+
* Returns a deletion confirmation object:
|
|
336
|
+
*
|
|
337
|
+
* ```json
|
|
338
|
+
* {
|
|
339
|
+
* "id": "12345",
|
|
340
|
+
* "object": "conversation",
|
|
341
|
+
* "deleted": true
|
|
342
|
+
* }
|
|
343
|
+
* ```
|
|
344
|
+
*
|
|
345
|
+
* ### Caution
|
|
346
|
+
*
|
|
347
|
+
* This operation is **irreversible**. The conversation and all its messages will
|
|
348
|
+
* be permanently deleted.
|
|
349
|
+
*
|
|
350
|
+
* ### Version Availability
|
|
351
|
+
*
|
|
352
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
353
|
+
*
|
|
354
|
+
* @example
|
|
355
|
+
* ```ts
|
|
356
|
+
* const conversation =
|
|
357
|
+
* await client.support.conversations.delete('12345');
|
|
358
|
+
* ```
|
|
359
|
+
*/
|
|
360
|
+
delete(id: string, params?: ConversationDeleteParams | null | undefined, options?: RequestOptions): APIPromise<ConversationDeleteResponse>;
|
|
253
361
|
/**
|
|
254
362
|
* Updates a conversation's properties. Supports partial updates - only provided
|
|
255
363
|
* fields will be updated.
|
|
@@ -270,7 +378,7 @@ export declare class Conversations extends APIResource {
|
|
|
270
378
|
* | `adminAssigneeId` | string/null | Admin ID to assign, or null to unassign |
|
|
271
379
|
* | `teamAssigneeId` | string/null | Team ID to assign, or null to unassign |
|
|
272
380
|
* | `title` | string | Conversation title |
|
|
273
|
-
* | `customAttributes` | object | Custom attributes to set on the conversation
|
|
381
|
+
* | `customAttributes` | object | Custom attributes to set on the conversation, keyed by conversation custom attribute ID |
|
|
274
382
|
* | `markAsRead` | object | Mark conversation as read for specific users |
|
|
275
383
|
*
|
|
276
384
|
* ### markAsRead Object
|
|
@@ -330,8 +438,8 @@ export declare class Conversations extends APIResource {
|
|
|
330
438
|
* {
|
|
331
439
|
* "title": "Billing Issue - Priority",
|
|
332
440
|
* "customAttributes": {
|
|
333
|
-
* "
|
|
334
|
-
* "
|
|
441
|
+
* "507f1f77bcf86cd799439011": 10,
|
|
442
|
+
* "507f1f77bcf86cd799439012": true
|
|
335
443
|
* }
|
|
336
444
|
* }
|
|
337
445
|
* ```
|
|
@@ -379,195 +487,97 @@ export declare class Conversations extends APIResource {
|
|
|
379
487
|
*/
|
|
380
488
|
update(id: string, params: ConversationUpdateParams, options?: RequestOptions): APIPromise<Conversation>;
|
|
381
489
|
/**
|
|
382
|
-
*
|
|
383
|
-
*
|
|
490
|
+
* Adds a reply to an existing conversation. Supports both contact (customer/lead)
|
|
491
|
+
* and admin replies.
|
|
384
492
|
*
|
|
385
|
-
* ###
|
|
493
|
+
* ### Path Parameters
|
|
386
494
|
*
|
|
387
|
-
* - `
|
|
388
|
-
* - `cursor` - Cursor from previous response for pagination
|
|
389
|
-
* - `tagIds` - Optional tag filter as a comma-separated list of tag IDs. Matches
|
|
390
|
-
* conversations that contain all of the provided tags.
|
|
495
|
+
* - `id` - The conversation ID (short ID)
|
|
391
496
|
*
|
|
392
|
-
* ###
|
|
497
|
+
* ### Request Body
|
|
393
498
|
*
|
|
394
|
-
*
|
|
499
|
+
* The request body varies based on who is sending the reply:
|
|
395
500
|
*
|
|
396
|
-
*
|
|
397
|
-
* - `data` - Array of conversation objects
|
|
398
|
-
* - `nextCursor` - Cursor for the next page, or null if no more results
|
|
501
|
+
* #### Contact Reply (customer/lead)
|
|
399
502
|
*
|
|
400
|
-
*
|
|
503
|
+
* | Field | Type | Required | Description |
|
|
504
|
+
* | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
505
|
+
* | `type` | string | Yes | Must be "contact" |
|
|
506
|
+
* | `userId` | string | No\* | External user ID from your system |
|
|
507
|
+
* | `id` | string | No\* | Featurebase contact ID (24-character ObjectId) |
|
|
508
|
+
* | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
|
|
509
|
+
* | `messageType` | string | Yes | Must be "reply" |
|
|
510
|
+
* | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
|
|
401
511
|
*
|
|
402
|
-
*
|
|
512
|
+
* \*At least one of `userId` or `id` is required.
|
|
403
513
|
*
|
|
404
|
-
*
|
|
405
|
-
* - `title` - Conversation title
|
|
406
|
-
* - `state` - Current state ("open", "closed", or "snoozed")
|
|
407
|
-
* - `priority` - Whether the conversation is marked as priority
|
|
408
|
-
* - `adminAssigneeId` - ID of assigned admin (if any)
|
|
409
|
-
* - `teamAssigneeId` - ID of assigned team (if any)
|
|
410
|
-
* - `tags` - Current tags applied anywhere in the conversation
|
|
411
|
-
* - `participants` - Array of participants
|
|
412
|
-
* - `source` - Information about the first message
|
|
413
|
-
* - `createdAt` - Creation timestamp
|
|
414
|
-
* - `updatedAt` - Last update timestamp
|
|
514
|
+
* #### Admin Reply
|
|
415
515
|
*
|
|
416
|
-
*
|
|
516
|
+
* | Field | Type | Required | Description |
|
|
517
|
+
* | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
518
|
+
* | `type` | string | Yes | Must be "admin" |
|
|
519
|
+
* | `id` | string | Yes | Featurebase admin ID (24-character ObjectId) |
|
|
520
|
+
* | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
|
|
521
|
+
* | `messageType` | string | Yes | "reply" for customer-visible reply, "note" for internal note |
|
|
522
|
+
* | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
|
|
417
523
|
*
|
|
418
|
-
*
|
|
419
|
-
* {
|
|
420
|
-
* "object": "list",
|
|
421
|
-
* "data": [
|
|
422
|
-
* {
|
|
423
|
-
* "object": "conversation",
|
|
424
|
-
* "id": "12345",
|
|
425
|
-
* "title": "Question about pricing",
|
|
426
|
-
* "state": "open",
|
|
427
|
-
* "priority": false,
|
|
428
|
-
* "adminAssigneeId": null,
|
|
429
|
-
* "participants": [
|
|
430
|
-
* { "type": "customer", "id": "676f0f6765bdaa7d7d760f88" }
|
|
431
|
-
* ],
|
|
432
|
-
* ...
|
|
433
|
-
* }
|
|
434
|
-
* ],
|
|
435
|
-
* "nextCursor": "eyJpZCI6IjEyMzQ1In0="
|
|
436
|
-
* }
|
|
437
|
-
* ```
|
|
524
|
+
* ### Response
|
|
438
525
|
*
|
|
439
|
-
*
|
|
526
|
+
* Returns the created conversation part object with a **201 Created** status. The
|
|
527
|
+
* response includes both `bodyHtml` (with signed image URLs) and `bodyMarkdown`
|
|
528
|
+
* fields.
|
|
440
529
|
*
|
|
441
|
-
*
|
|
530
|
+
* ### Example Contact Reply
|
|
442
531
|
*
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
*
|
|
532
|
+
* ```json
|
|
533
|
+
* {
|
|
534
|
+
* "type": "contact",
|
|
535
|
+
* "userId": "user_123",
|
|
536
|
+
* "bodyMarkdown": "Thank you for your help!",
|
|
537
|
+
* "messageType": "reply"
|
|
448
538
|
* }
|
|
449
539
|
* ```
|
|
450
|
-
*/
|
|
451
|
-
list(params?: ConversationListParams | null | undefined, options?: RequestOptions): PagePromise<ConversationsCursorPage, Conversation>;
|
|
452
|
-
/**
|
|
453
|
-
* Permanently deletes a conversation by its short ID.
|
|
454
|
-
*
|
|
455
|
-
* ### Path Parameters
|
|
456
|
-
*
|
|
457
|
-
* - `id` - The conversation short ID (numeric)
|
|
458
540
|
*
|
|
459
|
-
* ###
|
|
460
|
-
*
|
|
461
|
-
* Returns a deletion confirmation object:
|
|
541
|
+
* ### Example Admin Reply
|
|
462
542
|
*
|
|
463
543
|
* ```json
|
|
464
544
|
* {
|
|
465
|
-
* "
|
|
466
|
-
* "
|
|
467
|
-
* "
|
|
545
|
+
* "type": "admin",
|
|
546
|
+
* "id": "507f1f77bcf86cd799439011",
|
|
547
|
+
* "bodyMarkdown": "I'm happy to help! Here's what you need to do...",
|
|
548
|
+
* "messageType": "reply"
|
|
468
549
|
* }
|
|
469
550
|
* ```
|
|
470
551
|
*
|
|
471
|
-
* ###
|
|
472
|
-
*
|
|
473
|
-
* This operation is **irreversible**. The conversation and all its messages will
|
|
474
|
-
* be permanently deleted.
|
|
475
|
-
*
|
|
476
|
-
* ### Version Availability
|
|
477
|
-
*
|
|
478
|
-
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
479
|
-
*
|
|
480
|
-
* @example
|
|
481
|
-
* ```ts
|
|
482
|
-
* const conversation =
|
|
483
|
-
* await client.support.conversations.delete('12345');
|
|
484
|
-
* ```
|
|
485
|
-
*/
|
|
486
|
-
delete(id: string, params?: ConversationDeleteParams | null | undefined, options?: RequestOptions): APIPromise<ConversationDeleteResponse>;
|
|
487
|
-
/**
|
|
488
|
-
* Attaches a workspace tag to a conversation.
|
|
489
|
-
*
|
|
490
|
-
* This endpoint requires both the tag ID to attach and the `actingAdminId` of the
|
|
491
|
-
* admin on whose behalf the mutation is recorded.
|
|
492
|
-
*
|
|
493
|
-
* ### Path Parameters
|
|
494
|
-
*
|
|
495
|
-
* - `id` - The conversation ID (short ID)
|
|
496
|
-
*
|
|
497
|
-
* ### Request Body
|
|
498
|
-
*
|
|
499
|
-
* | Field | Type | Required | Description |
|
|
500
|
-
* | --------------- | ------ | -------- | ------------------------------------------------------------------------ |
|
|
501
|
-
* | `tagId` | string | Yes | The Featurebase tag ID to attach |
|
|
502
|
-
* | `actingAdminId` | string | Yes | The admin performing the mutation. Must be a member of the organization. |
|
|
503
|
-
*
|
|
504
|
-
* ### Behavior
|
|
505
|
-
*
|
|
506
|
-
* Featurebase resolves the latest taggable reply/message in the conversation and
|
|
507
|
-
* records the tag attachment against that part so audit metadata remains
|
|
508
|
-
* deterministic.
|
|
509
|
-
*
|
|
510
|
-
* ### Response
|
|
511
|
-
*
|
|
512
|
-
* Returns the affected tag plus attachment metadata such as `targetPartId`,
|
|
513
|
-
* `appliedAt`, and `appliedBy`.
|
|
514
|
-
*
|
|
515
|
-
* ### Example Request
|
|
552
|
+
* ### Example Admin Note (Internal)
|
|
516
553
|
*
|
|
517
554
|
* ```json
|
|
518
555
|
* {
|
|
519
|
-
* "
|
|
520
|
-
* "
|
|
556
|
+
* "type": "admin",
|
|
557
|
+
* "id": "507f1f77bcf86cd799439011",
|
|
558
|
+
* "bodyMarkdown": "Customer seems frustrated, escalating to tier 2.",
|
|
559
|
+
* "messageType": "note"
|
|
521
560
|
* }
|
|
522
561
|
* ```
|
|
523
562
|
*
|
|
524
|
-
* ###
|
|
525
|
-
*
|
|
526
|
-
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
527
|
-
*
|
|
528
|
-
* @example
|
|
529
|
-
* ```ts
|
|
530
|
-
* const response =
|
|
531
|
-
* await client.support.conversations.attachTag('12345', {
|
|
532
|
-
* actingAdminId: '507f1f77bcf86cd799439011',
|
|
533
|
-
* tagId: '67ec1234abcd5678ef901234',
|
|
534
|
-
* });
|
|
535
|
-
* ```
|
|
536
|
-
*/
|
|
537
|
-
attachTag(id: string, params: ConversationAttachTagParams, options?: RequestOptions): APIPromise<ConversationAttachTagResponse>;
|
|
538
|
-
/**
|
|
539
|
-
* Removes a workspace tag from a conversation.
|
|
540
|
-
*
|
|
541
|
-
* This endpoint requires the `actingAdminId` of the admin on whose behalf the
|
|
542
|
-
* mutation is recorded.
|
|
543
|
-
*
|
|
544
|
-
* ### Path Parameters
|
|
545
|
-
*
|
|
546
|
-
* - `id` - The conversation ID (short ID)
|
|
547
|
-
* - `tagId` - The Featurebase tag ID to remove
|
|
548
|
-
*
|
|
549
|
-
* ### Request Body
|
|
550
|
-
*
|
|
551
|
-
* | Field | Type | Required | Description |
|
|
552
|
-
* | --------------- | ------ | -------- | ------------------------------------------------------------------------ |
|
|
553
|
-
* | `actingAdminId` | string | Yes | The admin performing the mutation. Must be a member of the organization. |
|
|
554
|
-
*
|
|
555
|
-
* ### Behavior
|
|
556
|
-
*
|
|
557
|
-
* Featurebase resolves the latest taggable reply/message in the conversation and
|
|
558
|
-
* records the tag removal against that part so audit metadata remains
|
|
559
|
-
* deterministic.
|
|
560
|
-
*
|
|
561
|
-
* ### Response
|
|
562
|
-
*
|
|
563
|
-
* Returns the affected tag payload with the most relevant attachment metadata
|
|
564
|
-
* available for that relationship.
|
|
565
|
-
*
|
|
566
|
-
* ### Example Request
|
|
563
|
+
* ### Example Response
|
|
567
564
|
*
|
|
568
565
|
* ```json
|
|
569
566
|
* {
|
|
570
|
-
* "
|
|
567
|
+
* "object": "conversation_part",
|
|
568
|
+
* "id": "3",
|
|
569
|
+
* "partType": "user_msg",
|
|
570
|
+
* "bodyHtml": "<p>Thank you for your help!</p>",
|
|
571
|
+
* "bodyMarkdown": "Thank you for your help!",
|
|
572
|
+
* "author": {
|
|
573
|
+
* "type": "customer",
|
|
574
|
+
* "id": "676f0f6765bdaa7d7d760f88",
|
|
575
|
+
* "name": "John Doe",
|
|
576
|
+
* "email": "john@example.com"
|
|
577
|
+
* },
|
|
578
|
+
* "channel": "desktop",
|
|
579
|
+
* "createdAt": "2025-01-15T10:40:00.000Z",
|
|
580
|
+
* "updatedAt": "2025-01-15T10:40:00.000Z"
|
|
571
581
|
* }
|
|
572
582
|
* ```
|
|
573
583
|
*
|
|
@@ -577,17 +587,15 @@ export declare class Conversations extends APIResource {
|
|
|
577
587
|
*
|
|
578
588
|
* @example
|
|
579
589
|
* ```ts
|
|
580
|
-
* const
|
|
581
|
-
* await client.support.conversations.
|
|
582
|
-
* '
|
|
583
|
-
*
|
|
584
|
-
*
|
|
585
|
-
*
|
|
586
|
-
* },
|
|
587
|
-
* );
|
|
590
|
+
* const conversationPart =
|
|
591
|
+
* await client.support.conversations.reply('12345', {
|
|
592
|
+
* bodyMarkdown: 'Thank you for your help!',
|
|
593
|
+
* messageType: 'reply',
|
|
594
|
+
* type: 'contact',
|
|
595
|
+
* });
|
|
588
596
|
* ```
|
|
589
597
|
*/
|
|
590
|
-
|
|
598
|
+
reply(id: string, params: ConversationReplyParams, options?: RequestOptions): APIPromise<ConversationPart>;
|
|
591
599
|
/**
|
|
592
600
|
* Redacts a conversation part (message) from a conversation. Redaction permanently
|
|
593
601
|
* removes the message content while preserving the conversation structure.
|
|
@@ -668,8 +676,10 @@ export declare class Conversations extends APIResource {
|
|
|
668
676
|
*/
|
|
669
677
|
redact(params: ConversationRedactParams, options?: RequestOptions): APIPromise<Conversation>;
|
|
670
678
|
/**
|
|
671
|
-
*
|
|
672
|
-
*
|
|
679
|
+
* Attaches a workspace tag to a conversation.
|
|
680
|
+
*
|
|
681
|
+
* This endpoint requires both the tag ID to attach and the `actingAdminId` of the
|
|
682
|
+
* admin on whose behalf the mutation is recorded.
|
|
673
683
|
*
|
|
674
684
|
* ### Path Parameters
|
|
675
685
|
*
|
|
@@ -677,88 +687,78 @@ export declare class Conversations extends APIResource {
|
|
|
677
687
|
*
|
|
678
688
|
* ### Request Body
|
|
679
689
|
*
|
|
680
|
-
*
|
|
681
|
-
*
|
|
682
|
-
*
|
|
683
|
-
*
|
|
684
|
-
* | Field | Type | Required | Description |
|
|
685
|
-
* | ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
686
|
-
* | `type` | string | Yes | Must be "contact" |
|
|
687
|
-
* | `userId` | string | No\* | External user ID from your system |
|
|
688
|
-
* | `id` | string | No\* | Featurebase contact ID (24-character ObjectId) |
|
|
689
|
-
* | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
|
|
690
|
-
* | `messageType` | string | Yes | Must be "reply" |
|
|
691
|
-
* | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
|
|
692
|
-
*
|
|
693
|
-
* \*At least one of `userId` or `id` is required.
|
|
690
|
+
* | Field | Type | Required | Description |
|
|
691
|
+
* | --------------- | ------ | -------- | ------------------------------------------------------------------------ |
|
|
692
|
+
* | `tagId` | string | Yes | The Featurebase tag ID to attach |
|
|
693
|
+
* | `actingAdminId` | string | Yes | The admin performing the mutation. Must be a member of the organization. |
|
|
694
694
|
*
|
|
695
|
-
*
|
|
695
|
+
* ### Behavior
|
|
696
696
|
*
|
|
697
|
-
*
|
|
698
|
-
*
|
|
699
|
-
*
|
|
700
|
-
* | `id` | string | Yes | Featurebase admin ID (24-character ObjectId) |
|
|
701
|
-
* | `bodyMarkdown` | string | Yes | The message content in markdown format. Images referenced by URL or as base64 data URIs will be automatically uploaded and stored. |
|
|
702
|
-
* | `messageType` | string | Yes | "reply" for customer-visible reply, "note" for internal note |
|
|
703
|
-
* | `skipNotifications` | boolean | No | Skip sending notifications (default: false). Useful for bulk imports. |
|
|
697
|
+
* Featurebase resolves the latest taggable reply/message in the conversation and
|
|
698
|
+
* records the tag attachment against that part so audit metadata remains
|
|
699
|
+
* deterministic.
|
|
704
700
|
*
|
|
705
701
|
* ### Response
|
|
706
702
|
*
|
|
707
|
-
* Returns the
|
|
708
|
-
*
|
|
709
|
-
* fields.
|
|
703
|
+
* Returns the affected tag plus attachment metadata such as `targetPartId`,
|
|
704
|
+
* `appliedAt`, and `appliedBy`.
|
|
710
705
|
*
|
|
711
|
-
* ### Example
|
|
706
|
+
* ### Example Request
|
|
712
707
|
*
|
|
713
708
|
* ```json
|
|
714
709
|
* {
|
|
715
|
-
* "
|
|
716
|
-
* "
|
|
717
|
-
* "bodyMarkdown": "Thank you for your help!",
|
|
718
|
-
* "messageType": "reply"
|
|
710
|
+
* "tagId": "67ec1234abcd5678ef901234",
|
|
711
|
+
* "actingAdminId": "507f1f77bcf86cd799439011"
|
|
719
712
|
* }
|
|
720
713
|
* ```
|
|
721
714
|
*
|
|
722
|
-
* ###
|
|
715
|
+
* ### Version Availability
|
|
723
716
|
*
|
|
724
|
-
*
|
|
725
|
-
*
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
717
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
718
|
+
*
|
|
719
|
+
* @example
|
|
720
|
+
* ```ts
|
|
721
|
+
* const attachedConversationTag =
|
|
722
|
+
* await client.support.conversations.attachTag('12345', {
|
|
723
|
+
* actingAdminId: '507f1f77bcf86cd799439011',
|
|
724
|
+
* tagId: '67ec1234abcd5678ef901234',
|
|
725
|
+
* });
|
|
731
726
|
* ```
|
|
727
|
+
*/
|
|
728
|
+
attachTag(id: string, params: ConversationAttachTagParams, options?: RequestOptions): APIPromise<AttachedConversationTag>;
|
|
729
|
+
/**
|
|
730
|
+
* Removes a workspace tag from a conversation.
|
|
732
731
|
*
|
|
733
|
-
*
|
|
732
|
+
* This endpoint requires the `actingAdminId` of the admin on whose behalf the
|
|
733
|
+
* mutation is recorded.
|
|
734
734
|
*
|
|
735
|
-
*
|
|
736
|
-
*
|
|
737
|
-
*
|
|
738
|
-
*
|
|
739
|
-
*
|
|
740
|
-
*
|
|
741
|
-
*
|
|
742
|
-
*
|
|
735
|
+
* ### Path Parameters
|
|
736
|
+
*
|
|
737
|
+
* - `id` - The conversation ID (short ID)
|
|
738
|
+
* - `tagId` - The Featurebase tag ID to remove
|
|
739
|
+
*
|
|
740
|
+
* ### Request Body
|
|
741
|
+
*
|
|
742
|
+
* | Field | Type | Required | Description |
|
|
743
|
+
* | --------------- | ------ | -------- | ------------------------------------------------------------------------ |
|
|
744
|
+
* | `actingAdminId` | string | Yes | The admin performing the mutation. Must be a member of the organization. |
|
|
745
|
+
*
|
|
746
|
+
* ### Behavior
|
|
747
|
+
*
|
|
748
|
+
* Featurebase resolves the latest taggable reply/message in the conversation and
|
|
749
|
+
* records the tag removal against that part so audit metadata remains
|
|
750
|
+
* deterministic.
|
|
751
|
+
*
|
|
752
|
+
* ### Response
|
|
753
|
+
*
|
|
754
|
+
* Returns the affected tag payload with the most relevant attachment metadata
|
|
755
|
+
* available for that relationship.
|
|
743
756
|
*
|
|
744
|
-
* ### Example
|
|
757
|
+
* ### Example Request
|
|
745
758
|
*
|
|
746
759
|
* ```json
|
|
747
760
|
* {
|
|
748
|
-
* "
|
|
749
|
-
* "id": "3",
|
|
750
|
-
* "partType": "user_msg",
|
|
751
|
-
* "bodyHtml": "<p>Thank you for your help!</p>",
|
|
752
|
-
* "bodyMarkdown": "Thank you for your help!",
|
|
753
|
-
* "author": {
|
|
754
|
-
* "type": "customer",
|
|
755
|
-
* "id": "676f0f6765bdaa7d7d760f88",
|
|
756
|
-
* "name": "John Doe",
|
|
757
|
-
* "email": "john@example.com"
|
|
758
|
-
* },
|
|
759
|
-
* "channel": "desktop",
|
|
760
|
-
* "createdAt": "2025-01-15T10:40:00.000Z",
|
|
761
|
-
* "updatedAt": "2025-01-15T10:40:00.000Z"
|
|
761
|
+
* "actingAdminId": "507f1f77bcf86cd799439011"
|
|
762
762
|
* }
|
|
763
763
|
* ```
|
|
764
764
|
*
|
|
@@ -768,15 +768,17 @@ export declare class Conversations extends APIResource {
|
|
|
768
768
|
*
|
|
769
769
|
* @example
|
|
770
770
|
* ```ts
|
|
771
|
-
* const
|
|
772
|
-
* await client.support.conversations.
|
|
773
|
-
*
|
|
774
|
-
*
|
|
775
|
-
*
|
|
776
|
-
*
|
|
771
|
+
* const attachedConversationTag =
|
|
772
|
+
* await client.support.conversations.detachTag(
|
|
773
|
+
* '67ec1234abcd5678ef901234',
|
|
774
|
+
* {
|
|
775
|
+
* id: '12345',
|
|
776
|
+
* actingAdminId: '507f1f77bcf86cd799439011',
|
|
777
|
+
* },
|
|
778
|
+
* );
|
|
777
779
|
* ```
|
|
778
780
|
*/
|
|
779
|
-
|
|
781
|
+
detachTag(tagID: string, params: ConversationDetachTagParams, options?: RequestOptions): APIPromise<AttachedConversationTag>;
|
|
780
782
|
/**
|
|
781
783
|
* Search conversations with a structured filter AST and an optional full-text
|
|
782
784
|
* query.
|
|
@@ -885,6 +887,41 @@ export declare class Conversations extends APIResource {
|
|
|
885
887
|
search(params: ConversationSearchParams, options?: RequestOptions): APIPromise<ConversationSearchResponse>;
|
|
886
888
|
}
|
|
887
889
|
export type ConversationsCursorPage = CursorPage<Conversation>;
|
|
890
|
+
export interface AttachedConversationTag {
|
|
891
|
+
/**
|
|
892
|
+
* Unique tag identifier
|
|
893
|
+
*/
|
|
894
|
+
id: string;
|
|
895
|
+
/**
|
|
896
|
+
* Current tag name
|
|
897
|
+
*/
|
|
898
|
+
name: string;
|
|
899
|
+
/**
|
|
900
|
+
* Object type identifier for a tag
|
|
901
|
+
*/
|
|
902
|
+
type: 'tag';
|
|
903
|
+
/**
|
|
904
|
+
* ISO timestamp when the tag was applied
|
|
905
|
+
*/
|
|
906
|
+
appliedAt?: string | null;
|
|
907
|
+
/**
|
|
908
|
+
* Actor that applied the tag
|
|
909
|
+
*/
|
|
910
|
+
appliedBy?: ConversationTagMutationActor | null;
|
|
911
|
+
/**
|
|
912
|
+
* ISO timestamp when the tag was removed, if applicable
|
|
913
|
+
*/
|
|
914
|
+
removedAt?: string | null;
|
|
915
|
+
/**
|
|
916
|
+
* Actor that applied the tag
|
|
917
|
+
*/
|
|
918
|
+
removedBy?: ConversationTagMutationActor | null;
|
|
919
|
+
/**
|
|
920
|
+
* Reply/message ID used as the deterministic attachment target for this
|
|
921
|
+
* conversation tag mutation.
|
|
922
|
+
*/
|
|
923
|
+
targetPartId?: string | null;
|
|
924
|
+
}
|
|
888
925
|
export interface Conversation {
|
|
889
926
|
/**
|
|
890
927
|
* Unique conversation identifier
|
|
@@ -989,6 +1026,19 @@ export interface Conversation {
|
|
|
989
1026
|
* exists.
|
|
990
1027
|
*/
|
|
991
1028
|
csatSummary?: Conversation.CsatSummary;
|
|
1029
|
+
/**
|
|
1030
|
+
* Custom conversation attributes keyed by custom attribute ID. Only org-defined,
|
|
1031
|
+
* non-archived conversation attributes are returned; internal workflow metadata is
|
|
1032
|
+
* omitted.
|
|
1033
|
+
*/
|
|
1034
|
+
customAttributes?: {
|
|
1035
|
+
[key: string]: unknown;
|
|
1036
|
+
};
|
|
1037
|
+
/**
|
|
1038
|
+
* Custom conversation attribute values expanded with definition metadata. Returned
|
|
1039
|
+
* only when `include=customAttributeDefinitions` is provided.
|
|
1040
|
+
*/
|
|
1041
|
+
customAttributeValues?: Array<ConversationAttributeValue>;
|
|
992
1042
|
/**
|
|
993
1043
|
* Whether customer replies are disabled
|
|
994
1044
|
*/
|
|
@@ -1002,7 +1052,7 @@ export interface Conversation {
|
|
|
1002
1052
|
* infer content access.
|
|
1003
1053
|
*/
|
|
1004
1054
|
readReceipts?: Array<Conversation.ReadReceipt>;
|
|
1005
|
-
source?:
|
|
1055
|
+
source?: MessageSource;
|
|
1006
1056
|
/**
|
|
1007
1057
|
* Conversation title
|
|
1008
1058
|
*/
|
|
@@ -1030,12 +1080,14 @@ export declare namespace Conversation {
|
|
|
1030
1080
|
* ISO timestamp when first-time submissions stop being accepted
|
|
1031
1081
|
*/
|
|
1032
1082
|
lateSubmitWindowEndsAt?: string;
|
|
1083
|
+
slackDelivery?: ConversationsAPI.CsatSlackDelivery;
|
|
1033
1084
|
}
|
|
1034
1085
|
interface CsatHistory {
|
|
1035
1086
|
/**
|
|
1036
|
-
* Channel used for the CSAT request
|
|
1087
|
+
* Channel used for the CSAT request. `desktop` = web messenger, `email` =
|
|
1088
|
+
* follow-up email, `slack` = Block Kit prompt in the conversation thread.
|
|
1037
1089
|
*/
|
|
1038
|
-
channel: 'desktop' | 'email';
|
|
1090
|
+
channel: 'desktop' | 'email' | 'slack';
|
|
1039
1091
|
/**
|
|
1040
1092
|
* Whether this row represents the currently effective CSAT request for the
|
|
1041
1093
|
* conversation
|
|
@@ -1091,6 +1143,7 @@ export declare namespace Conversation {
|
|
|
1091
1143
|
* Submitted score when this request was rated
|
|
1092
1144
|
*/
|
|
1093
1145
|
score?: number;
|
|
1146
|
+
slackDelivery?: ConversationsAPI.CsatSlackDelivery;
|
|
1094
1147
|
workflow?: ConversationsAPI.CsatWorkflowLink;
|
|
1095
1148
|
}
|
|
1096
1149
|
/**
|
|
@@ -1113,7 +1166,7 @@ export declare namespace Conversation {
|
|
|
1113
1166
|
/**
|
|
1114
1167
|
* Channel used for the latest CSAT request when known
|
|
1115
1168
|
*/
|
|
1116
|
-
channel?: 'desktop' | 'email';
|
|
1169
|
+
channel?: 'desktop' | 'email' | 'slack';
|
|
1117
1170
|
/**
|
|
1118
1171
|
* ISO timestamp when the request expired
|
|
1119
1172
|
*/
|
|
@@ -1162,33 +1215,36 @@ export declare namespace Conversation {
|
|
|
1162
1215
|
*/
|
|
1163
1216
|
userType: 'admin' | 'customer' | 'lead';
|
|
1164
1217
|
}
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1218
|
+
}
|
|
1219
|
+
export interface ConversationAttributeValue {
|
|
1220
|
+
/**
|
|
1221
|
+
* Stable machine identifier used as the key in conversation.customAttributes.
|
|
1222
|
+
*/
|
|
1223
|
+
id: string;
|
|
1224
|
+
/**
|
|
1225
|
+
* Storage-level data type used for validation and search.
|
|
1226
|
+
*/
|
|
1227
|
+
dataType: 'string' | 'number' | 'boolean' | 'date' | 'array' | 'object';
|
|
1228
|
+
/**
|
|
1229
|
+
* Conversation field subtype that controls the expected value shape.
|
|
1230
|
+
*/
|
|
1231
|
+
fieldSubType: 'text' | 'number' | 'select' | 'multi-select' | 'checkbox' | 'date';
|
|
1232
|
+
/**
|
|
1233
|
+
* Stable internal identifier for the attribute definition.
|
|
1234
|
+
*/
|
|
1235
|
+
identifier: string;
|
|
1236
|
+
/**
|
|
1237
|
+
* Human-readable attribute name shown in Featurebase.
|
|
1238
|
+
*/
|
|
1239
|
+
name: string;
|
|
1240
|
+
/**
|
|
1241
|
+
* Allowed values for select and multi-select attributes.
|
|
1242
|
+
*/
|
|
1243
|
+
options?: Array<ConversationAttributesAPI.ConversationAttributeOption>;
|
|
1244
|
+
/**
|
|
1245
|
+
* The conversation-specific custom attribute value.
|
|
1246
|
+
*/
|
|
1247
|
+
value?: unknown;
|
|
1192
1248
|
}
|
|
1193
1249
|
/**
|
|
1194
1250
|
* Message from a customer or lead
|
|
@@ -1214,7 +1270,7 @@ export declare namespace ConversationPart {
|
|
|
1214
1270
|
/**
|
|
1215
1271
|
* Channel through which the message was sent
|
|
1216
1272
|
*/
|
|
1217
|
-
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email';
|
|
1273
|
+
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email' | 'slack';
|
|
1218
1274
|
/**
|
|
1219
1275
|
* ISO timestamp when the part was created
|
|
1220
1276
|
*/
|
|
@@ -1236,6 +1292,11 @@ export declare namespace ConversationPart {
|
|
|
1236
1292
|
* Whether this message has been redacted
|
|
1237
1293
|
*/
|
|
1238
1294
|
redacted?: boolean;
|
|
1295
|
+
/**
|
|
1296
|
+
* Safe Slack message identifiers. Only present for Slack-backed messages while the
|
|
1297
|
+
* organization has Slack integration enabled.
|
|
1298
|
+
*/
|
|
1299
|
+
slack?: ConversationsAPI.SlackMessageDetails;
|
|
1239
1300
|
/**
|
|
1240
1301
|
* Reply-level tag applications and provenance for this conversation part
|
|
1241
1302
|
*/
|
|
@@ -1260,7 +1321,7 @@ export declare namespace ConversationPart {
|
|
|
1260
1321
|
/**
|
|
1261
1322
|
* Channel through which the message was sent
|
|
1262
1323
|
*/
|
|
1263
|
-
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email';
|
|
1324
|
+
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email' | 'slack';
|
|
1264
1325
|
/**
|
|
1265
1326
|
* ISO timestamp when the part was created
|
|
1266
1327
|
*/
|
|
@@ -1282,6 +1343,11 @@ export declare namespace ConversationPart {
|
|
|
1282
1343
|
* Whether this message has been redacted
|
|
1283
1344
|
*/
|
|
1284
1345
|
redacted?: boolean;
|
|
1346
|
+
/**
|
|
1347
|
+
* Safe Slack message identifiers. Only present for Slack-backed messages while the
|
|
1348
|
+
* organization has Slack integration enabled.
|
|
1349
|
+
*/
|
|
1350
|
+
slack?: ConversationsAPI.SlackMessageDetails;
|
|
1285
1351
|
/**
|
|
1286
1352
|
* Reply-level tag applications and provenance for this conversation part
|
|
1287
1353
|
*/
|
|
@@ -1411,11 +1477,16 @@ export declare namespace ConversationPart {
|
|
|
1411
1477
|
/**
|
|
1412
1478
|
* Channel through which the message was sent
|
|
1413
1479
|
*/
|
|
1414
|
-
channel?: 'unknown' | 'desktop' | 'android' | 'ios' | 'email';
|
|
1480
|
+
channel?: 'unknown' | 'desktop' | 'android' | 'ios' | 'email' | 'slack';
|
|
1415
1481
|
/**
|
|
1416
1482
|
* Whether this message has been redacted
|
|
1417
1483
|
*/
|
|
1418
1484
|
redacted?: boolean;
|
|
1485
|
+
/**
|
|
1486
|
+
* Safe Slack message identifiers. Only present for Slack-backed messages while the
|
|
1487
|
+
* organization has Slack integration enabled.
|
|
1488
|
+
*/
|
|
1489
|
+
slack?: ConversationsAPI.SlackMessageDetails;
|
|
1419
1490
|
/**
|
|
1420
1491
|
* Reply-level tag applications and provenance for this conversation part
|
|
1421
1492
|
*/
|
|
@@ -1552,9 +1623,10 @@ export declare namespace ConversationPart {
|
|
|
1552
1623
|
*/
|
|
1553
1624
|
interface Csat {
|
|
1554
1625
|
/**
|
|
1555
|
-
* Channel used for the CSAT request
|
|
1626
|
+
* Channel used for the CSAT request. `desktop` = web messenger, `email` =
|
|
1627
|
+
* follow-up email, `slack` = Block Kit prompt in the conversation thread.
|
|
1556
1628
|
*/
|
|
1557
|
-
channel: 'desktop' | 'email';
|
|
1629
|
+
channel: 'desktop' | 'email' | 'slack';
|
|
1558
1630
|
/**
|
|
1559
1631
|
* ISO timestamp when the request was created
|
|
1560
1632
|
*/
|
|
@@ -1622,9 +1694,10 @@ export declare namespace ConversationPart {
|
|
|
1622
1694
|
*/
|
|
1623
1695
|
interface Csat {
|
|
1624
1696
|
/**
|
|
1625
|
-
* Channel used for the CSAT request
|
|
1697
|
+
* Channel used for the CSAT request. `desktop` = web messenger, `email` =
|
|
1698
|
+
* follow-up email, `slack` = Block Kit prompt in the conversation thread.
|
|
1626
1699
|
*/
|
|
1627
|
-
channel: 'desktop' | 'email';
|
|
1700
|
+
channel: 'desktop' | 'email' | 'slack';
|
|
1628
1701
|
/**
|
|
1629
1702
|
* ISO timestamp when the customer submitted the rating
|
|
1630
1703
|
*/
|
|
@@ -1860,7 +1933,7 @@ export declare namespace ConversationPart {
|
|
|
1860
1933
|
/**
|
|
1861
1934
|
* Actor that applied the tag
|
|
1862
1935
|
*/
|
|
1863
|
-
actor?:
|
|
1936
|
+
actor?: ConversationsAPI.ConversationTagMutationActor;
|
|
1864
1937
|
/**
|
|
1865
1938
|
* Tag name at the time of the event or the best available current display name
|
|
1866
1939
|
*/
|
|
@@ -1870,25 +1943,6 @@ export declare namespace ConversationPart {
|
|
|
1870
1943
|
*/
|
|
1871
1944
|
targetPartId?: string | null;
|
|
1872
1945
|
}
|
|
1873
|
-
namespace TagUpdate {
|
|
1874
|
-
/**
|
|
1875
|
-
* Actor that applied the tag
|
|
1876
|
-
*/
|
|
1877
|
-
interface Actor {
|
|
1878
|
-
/**
|
|
1879
|
-
* Actor that caused the tag mutation
|
|
1880
|
-
*/
|
|
1881
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
1882
|
-
/**
|
|
1883
|
-
* Actor identifier when available
|
|
1884
|
-
*/
|
|
1885
|
-
id?: string | null;
|
|
1886
|
-
/**
|
|
1887
|
-
* Actor display name when available
|
|
1888
|
-
*/
|
|
1889
|
-
name?: string | null;
|
|
1890
|
-
}
|
|
1891
|
-
}
|
|
1892
1946
|
/**
|
|
1893
1947
|
* Represents a workflow wait start, finish, or interruption in the conversation
|
|
1894
1948
|
* thread
|
|
@@ -2068,7 +2122,7 @@ export interface ConversationTagApplication {
|
|
|
2068
2122
|
/**
|
|
2069
2123
|
* Actor that applied the tag
|
|
2070
2124
|
*/
|
|
2071
|
-
appliedBy?:
|
|
2125
|
+
appliedBy?: ConversationTagMutationActor;
|
|
2072
2126
|
/**
|
|
2073
2127
|
* ISO timestamp when the tag was removed from this reply, if it was removed
|
|
2074
2128
|
*/
|
|
@@ -2076,47 +2130,28 @@ export interface ConversationTagApplication {
|
|
|
2076
2130
|
/**
|
|
2077
2131
|
* Actor that applied the tag
|
|
2078
2132
|
*/
|
|
2079
|
-
removedBy?:
|
|
2133
|
+
removedBy?: ConversationTagMutationActor;
|
|
2080
2134
|
/**
|
|
2081
2135
|
* Resolved tag object when the tag still exists in the shared workspace catalog
|
|
2082
2136
|
*/
|
|
2083
2137
|
tag?: ConversationTagsAPI.ConversationTag;
|
|
2084
2138
|
}
|
|
2085
|
-
|
|
2139
|
+
/**
|
|
2140
|
+
* Actor that applied the tag
|
|
2141
|
+
*/
|
|
2142
|
+
export interface ConversationTagMutationActor {
|
|
2086
2143
|
/**
|
|
2087
|
-
* Actor that
|
|
2144
|
+
* Actor that caused the tag mutation
|
|
2088
2145
|
*/
|
|
2089
|
-
|
|
2090
|
-
/**
|
|
2091
|
-
* Actor that caused the tag mutation
|
|
2092
|
-
*/
|
|
2093
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2094
|
-
/**
|
|
2095
|
-
* Actor identifier when available
|
|
2096
|
-
*/
|
|
2097
|
-
id?: string | null;
|
|
2098
|
-
/**
|
|
2099
|
-
* Actor display name when available
|
|
2100
|
-
*/
|
|
2101
|
-
name?: string | null;
|
|
2102
|
-
}
|
|
2146
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2103
2147
|
/**
|
|
2104
|
-
* Actor
|
|
2148
|
+
* Actor identifier when available
|
|
2105
2149
|
*/
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
/**
|
|
2112
|
-
* Actor identifier when available
|
|
2113
|
-
*/
|
|
2114
|
-
id?: string | null;
|
|
2115
|
-
/**
|
|
2116
|
-
* Actor display name when available
|
|
2117
|
-
*/
|
|
2118
|
-
name?: string | null;
|
|
2119
|
-
}
|
|
2150
|
+
id?: string | null;
|
|
2151
|
+
/**
|
|
2152
|
+
* Actor display name when available
|
|
2153
|
+
*/
|
|
2154
|
+
name?: string | null;
|
|
2120
2155
|
}
|
|
2121
2156
|
export interface CsatEmailDelivery {
|
|
2122
2157
|
/**
|
|
@@ -2150,6 +2185,37 @@ export interface CsatRatedAgent {
|
|
|
2150
2185
|
*/
|
|
2151
2186
|
id?: string;
|
|
2152
2187
|
}
|
|
2188
|
+
export interface CsatSlackDelivery {
|
|
2189
|
+
/**
|
|
2190
|
+
* Slack Block Kit prompt delivery status for the CSAT request when the channel is
|
|
2191
|
+
* Slack
|
|
2192
|
+
*/
|
|
2193
|
+
status: 'pending' | 'posted' | 'failed';
|
|
2194
|
+
/**
|
|
2195
|
+
* Slack channel id the CSAT prompt was posted to
|
|
2196
|
+
*/
|
|
2197
|
+
channelId?: string;
|
|
2198
|
+
/**
|
|
2199
|
+
* ISO timestamp when posting the CSAT prompt to Slack failed
|
|
2200
|
+
*/
|
|
2201
|
+
failedAt?: string;
|
|
2202
|
+
/**
|
|
2203
|
+
* Operational failure reason for the Slack CSAT prompt delivery
|
|
2204
|
+
*/
|
|
2205
|
+
failureReason?: string;
|
|
2206
|
+
/**
|
|
2207
|
+
* Slack message timestamp of the posted CSAT prompt
|
|
2208
|
+
*/
|
|
2209
|
+
messageTs?: string;
|
|
2210
|
+
/**
|
|
2211
|
+
* ISO timestamp when the CSAT prompt was enqueued for Slack
|
|
2212
|
+
*/
|
|
2213
|
+
postedAt?: string;
|
|
2214
|
+
/**
|
|
2215
|
+
* Slack workspace (team) the CSAT prompt was posted to
|
|
2216
|
+
*/
|
|
2217
|
+
teamId?: string;
|
|
2218
|
+
}
|
|
2153
2219
|
export interface CsatWorkflowLink {
|
|
2154
2220
|
/**
|
|
2155
2221
|
* Workflow action ID associated with the CSAT request
|
|
@@ -2181,161 +2247,135 @@ export interface EmailRecipients {
|
|
|
2181
2247
|
*/
|
|
2182
2248
|
ids?: Array<string>;
|
|
2183
2249
|
}
|
|
2184
|
-
export interface
|
|
2185
|
-
/**
|
|
2186
|
-
* Unique identifier of the deleted conversation
|
|
2187
|
-
*/
|
|
2188
|
-
id: string;
|
|
2189
|
-
/**
|
|
2190
|
-
* Indicates the resource was deleted
|
|
2191
|
-
*/
|
|
2192
|
-
deleted: true;
|
|
2193
|
-
/**
|
|
2194
|
-
* Object type identifier
|
|
2195
|
-
*/
|
|
2196
|
-
object: 'conversation';
|
|
2197
|
-
}
|
|
2198
|
-
export interface ConversationAttachTagResponse {
|
|
2199
|
-
/**
|
|
2200
|
-
* Unique tag identifier
|
|
2201
|
-
*/
|
|
2202
|
-
id: string;
|
|
2250
|
+
export interface MessageSource {
|
|
2203
2251
|
/**
|
|
2204
|
-
*
|
|
2252
|
+
* Body of the initial message as HTML with signed image URLs
|
|
2205
2253
|
*/
|
|
2206
|
-
|
|
2254
|
+
bodyHtml: string;
|
|
2207
2255
|
/**
|
|
2208
|
-
*
|
|
2256
|
+
* Body of the initial message as markdown
|
|
2209
2257
|
*/
|
|
2210
|
-
|
|
2258
|
+
bodyMarkdown: string;
|
|
2211
2259
|
/**
|
|
2212
|
-
*
|
|
2260
|
+
* Channel through which the conversation was initiated
|
|
2213
2261
|
*/
|
|
2214
|
-
|
|
2262
|
+
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email' | 'slack';
|
|
2263
|
+
author?: ConversationParticipant;
|
|
2215
2264
|
/**
|
|
2216
|
-
*
|
|
2265
|
+
* How the conversation was initiated
|
|
2217
2266
|
*/
|
|
2218
|
-
|
|
2267
|
+
deliveredAs?: 'customer_initiated' | 'admin_initiated';
|
|
2219
2268
|
/**
|
|
2220
|
-
*
|
|
2269
|
+
* Safe Slack thread identifiers. Only present for Slack-origin conversations while
|
|
2270
|
+
* the organization has Slack integration enabled.
|
|
2221
2271
|
*/
|
|
2222
|
-
|
|
2272
|
+
slack?: MessageSource.Slack;
|
|
2223
2273
|
/**
|
|
2224
|
-
*
|
|
2274
|
+
* Subject line for email conversations
|
|
2225
2275
|
*/
|
|
2226
|
-
|
|
2276
|
+
subject?: string;
|
|
2227
2277
|
/**
|
|
2228
|
-
*
|
|
2229
|
-
* conversation tag mutation.
|
|
2278
|
+
* URL where the conversation was initiated
|
|
2230
2279
|
*/
|
|
2231
|
-
|
|
2280
|
+
url?: string;
|
|
2232
2281
|
}
|
|
2233
|
-
export declare namespace
|
|
2234
|
-
/**
|
|
2235
|
-
* Actor that applied the tag
|
|
2236
|
-
*/
|
|
2237
|
-
interface AppliedBy {
|
|
2238
|
-
/**
|
|
2239
|
-
* Actor that caused the tag mutation
|
|
2240
|
-
*/
|
|
2241
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2242
|
-
/**
|
|
2243
|
-
* Actor identifier when available
|
|
2244
|
-
*/
|
|
2245
|
-
id?: string | null;
|
|
2246
|
-
/**
|
|
2247
|
-
* Actor display name when available
|
|
2248
|
-
*/
|
|
2249
|
-
name?: string | null;
|
|
2250
|
-
}
|
|
2282
|
+
export declare namespace MessageSource {
|
|
2251
2283
|
/**
|
|
2252
|
-
*
|
|
2284
|
+
* Safe Slack thread identifiers. Only present for Slack-origin conversations while
|
|
2285
|
+
* the organization has Slack integration enabled.
|
|
2253
2286
|
*/
|
|
2254
|
-
interface
|
|
2287
|
+
interface Slack {
|
|
2255
2288
|
/**
|
|
2256
|
-
*
|
|
2289
|
+
* Slack channel ID for the thread
|
|
2257
2290
|
*/
|
|
2258
|
-
|
|
2291
|
+
channelId: string;
|
|
2259
2292
|
/**
|
|
2260
|
-
*
|
|
2293
|
+
* Slack workspace/team ID for the thread
|
|
2261
2294
|
*/
|
|
2262
|
-
|
|
2295
|
+
teamId: string;
|
|
2263
2296
|
/**
|
|
2264
|
-
*
|
|
2297
|
+
* Slack root thread timestamp
|
|
2265
2298
|
*/
|
|
2266
|
-
|
|
2299
|
+
threadTs: string;
|
|
2267
2300
|
}
|
|
2268
2301
|
}
|
|
2269
|
-
|
|
2302
|
+
/**
|
|
2303
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2304
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2305
|
+
*/
|
|
2306
|
+
export interface SearchMatchingPartAuthor {
|
|
2270
2307
|
/**
|
|
2271
|
-
*
|
|
2308
|
+
* Author id
|
|
2272
2309
|
*/
|
|
2273
2310
|
id: string;
|
|
2274
2311
|
/**
|
|
2275
|
-
*
|
|
2312
|
+
* Author type
|
|
2276
2313
|
*/
|
|
2277
|
-
|
|
2314
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2278
2315
|
/**
|
|
2279
|
-
*
|
|
2316
|
+
* Companies the author belongs to (customers only)
|
|
2280
2317
|
*/
|
|
2281
|
-
|
|
2318
|
+
companies?: Array<SearchMatchingPartAuthor.Company>;
|
|
2282
2319
|
/**
|
|
2283
|
-
*
|
|
2320
|
+
* Email when known
|
|
2284
2321
|
*/
|
|
2285
|
-
|
|
2322
|
+
email?: string | null;
|
|
2286
2323
|
/**
|
|
2287
|
-
*
|
|
2324
|
+
* Display name when known
|
|
2288
2325
|
*/
|
|
2289
|
-
|
|
2326
|
+
name?: string | null;
|
|
2290
2327
|
/**
|
|
2291
|
-
*
|
|
2328
|
+
* Profile picture URL when known
|
|
2292
2329
|
*/
|
|
2293
|
-
|
|
2330
|
+
profilePicture?: string | null;
|
|
2331
|
+
}
|
|
2332
|
+
export declare namespace SearchMatchingPartAuthor {
|
|
2333
|
+
interface Company {
|
|
2334
|
+
/**
|
|
2335
|
+
* Company id
|
|
2336
|
+
*/
|
|
2337
|
+
id: string;
|
|
2338
|
+
/**
|
|
2339
|
+
* Company name
|
|
2340
|
+
*/
|
|
2341
|
+
name?: string;
|
|
2342
|
+
}
|
|
2343
|
+
}
|
|
2344
|
+
/**
|
|
2345
|
+
* Safe Slack message identifiers. Only present for Slack-backed messages while the
|
|
2346
|
+
* organization has Slack integration enabled.
|
|
2347
|
+
*/
|
|
2348
|
+
export interface SlackMessageDetails {
|
|
2294
2349
|
/**
|
|
2295
|
-
*
|
|
2350
|
+
* Slack channel ID for the message
|
|
2296
2351
|
*/
|
|
2297
|
-
|
|
2352
|
+
channelId: string;
|
|
2298
2353
|
/**
|
|
2299
|
-
*
|
|
2300
|
-
* conversation tag mutation.
|
|
2354
|
+
* Slack message timestamp
|
|
2301
2355
|
*/
|
|
2302
|
-
|
|
2356
|
+
messageTs: string;
|
|
2357
|
+
/**
|
|
2358
|
+
* Slack workspace/team ID for the message
|
|
2359
|
+
*/
|
|
2360
|
+
teamId: string;
|
|
2361
|
+
/**
|
|
2362
|
+
* Slack root thread timestamp when this message belongs to a thread
|
|
2363
|
+
*/
|
|
2364
|
+
threadTs?: string;
|
|
2303
2365
|
}
|
|
2304
|
-
export
|
|
2366
|
+
export interface ConversationDeleteResponse {
|
|
2305
2367
|
/**
|
|
2306
|
-
*
|
|
2368
|
+
* Unique identifier of the deleted conversation
|
|
2307
2369
|
*/
|
|
2308
|
-
|
|
2309
|
-
/**
|
|
2310
|
-
* Actor that caused the tag mutation
|
|
2311
|
-
*/
|
|
2312
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2313
|
-
/**
|
|
2314
|
-
* Actor identifier when available
|
|
2315
|
-
*/
|
|
2316
|
-
id?: string | null;
|
|
2317
|
-
/**
|
|
2318
|
-
* Actor display name when available
|
|
2319
|
-
*/
|
|
2320
|
-
name?: string | null;
|
|
2321
|
-
}
|
|
2370
|
+
id: string;
|
|
2322
2371
|
/**
|
|
2323
|
-
*
|
|
2372
|
+
* Indicates the resource was deleted
|
|
2324
2373
|
*/
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
/**
|
|
2331
|
-
* Actor identifier when available
|
|
2332
|
-
*/
|
|
2333
|
-
id?: string | null;
|
|
2334
|
-
/**
|
|
2335
|
-
* Actor display name when available
|
|
2336
|
-
*/
|
|
2337
|
-
name?: string | null;
|
|
2338
|
-
}
|
|
2374
|
+
deleted: true;
|
|
2375
|
+
/**
|
|
2376
|
+
* Object type identifier
|
|
2377
|
+
*/
|
|
2378
|
+
object: 'conversation';
|
|
2339
2379
|
}
|
|
2340
2380
|
export interface ConversationSearchResponse {
|
|
2341
2381
|
/**
|
|
@@ -2424,7 +2464,20 @@ export declare namespace ConversationSearchResponse {
|
|
|
2424
2464
|
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2425
2465
|
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2426
2466
|
*/
|
|
2427
|
-
conversationUser?:
|
|
2467
|
+
conversationUser?: ConversationsAPI.SearchMatchingPartAuthor | null;
|
|
2468
|
+
/**
|
|
2469
|
+
* Custom conversation attributes keyed by custom attribute ID. Only org-defined,
|
|
2470
|
+
* non-archived conversation attributes are returned; internal workflow metadata is
|
|
2471
|
+
* omitted.
|
|
2472
|
+
*/
|
|
2473
|
+
customAttributes?: {
|
|
2474
|
+
[key: string]: unknown;
|
|
2475
|
+
};
|
|
2476
|
+
/**
|
|
2477
|
+
* Custom conversation attribute values expanded with definition metadata. Returned
|
|
2478
|
+
* only when `include=customAttributeDefinitions` is provided.
|
|
2479
|
+
*/
|
|
2480
|
+
customAttributeValues?: Array<ConversationsAPI.ConversationAttributeValue>;
|
|
2428
2481
|
/**
|
|
2429
2482
|
* Plain-text / markdown preview of the matching conversation part body (search
|
|
2430
2483
|
* mode only)
|
|
@@ -2439,13 +2492,13 @@ export declare namespace ConversationSearchResponse {
|
|
|
2439
2492
|
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2440
2493
|
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2441
2494
|
*/
|
|
2442
|
-
matchingPartAuthor?:
|
|
2495
|
+
matchingPartAuthor?: ConversationsAPI.SearchMatchingPartAuthor | null;
|
|
2443
2496
|
/**
|
|
2444
2497
|
* Aggregate relevance score for the conversation (search mode only). Higher is
|
|
2445
2498
|
* more relevant.
|
|
2446
2499
|
*/
|
|
2447
2500
|
relevanceScore?: number | null;
|
|
2448
|
-
source?:
|
|
2501
|
+
source?: ConversationsAPI.MessageSource;
|
|
2449
2502
|
/**
|
|
2450
2503
|
* Window of conversation messages around the matching part for lightweight context
|
|
2451
2504
|
* previews. In search mode this is up to 15 messages before plus 15 from the
|
|
@@ -2461,42 +2514,6 @@ export declare namespace ConversationSearchResponse {
|
|
|
2461
2514
|
title?: string;
|
|
2462
2515
|
}
|
|
2463
2516
|
namespace Data {
|
|
2464
|
-
/**
|
|
2465
|
-
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2466
|
-
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2467
|
-
*/
|
|
2468
|
-
interface ConversationUser {
|
|
2469
|
-
/**
|
|
2470
|
-
* Author id
|
|
2471
|
-
*/
|
|
2472
|
-
id: string;
|
|
2473
|
-
/**
|
|
2474
|
-
* Author type
|
|
2475
|
-
*/
|
|
2476
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2477
|
-
/**
|
|
2478
|
-
* Companies the author belongs to (customers only)
|
|
2479
|
-
*/
|
|
2480
|
-
companies?: Array<ConversationUser.Company>;
|
|
2481
|
-
/**
|
|
2482
|
-
* Email when known
|
|
2483
|
-
*/
|
|
2484
|
-
email?: string | null;
|
|
2485
|
-
/**
|
|
2486
|
-
* Display name when known
|
|
2487
|
-
*/
|
|
2488
|
-
name?: string | null;
|
|
2489
|
-
/**
|
|
2490
|
-
* Profile picture URL when known
|
|
2491
|
-
*/
|
|
2492
|
-
profilePicture?: string | null;
|
|
2493
|
-
}
|
|
2494
|
-
namespace ConversationUser {
|
|
2495
|
-
interface Company {
|
|
2496
|
-
id: string;
|
|
2497
|
-
name?: string;
|
|
2498
|
-
}
|
|
2499
|
-
}
|
|
2500
2517
|
/**
|
|
2501
2518
|
* Reference to the conversation part that best matched the search query (search
|
|
2502
2519
|
* mode only)
|
|
@@ -2515,69 +2532,6 @@ export declare namespace ConversationSearchResponse {
|
|
|
2515
2532
|
*/
|
|
2516
2533
|
partType?: string;
|
|
2517
2534
|
}
|
|
2518
|
-
/**
|
|
2519
|
-
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2520
|
-
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2521
|
-
*/
|
|
2522
|
-
interface MatchingPartAuthor {
|
|
2523
|
-
/**
|
|
2524
|
-
* Author id
|
|
2525
|
-
*/
|
|
2526
|
-
id: string;
|
|
2527
|
-
/**
|
|
2528
|
-
* Author type
|
|
2529
|
-
*/
|
|
2530
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2531
|
-
/**
|
|
2532
|
-
* Companies the author belongs to (customers only)
|
|
2533
|
-
*/
|
|
2534
|
-
companies?: Array<MatchingPartAuthor.Company>;
|
|
2535
|
-
/**
|
|
2536
|
-
* Email when known
|
|
2537
|
-
*/
|
|
2538
|
-
email?: string | null;
|
|
2539
|
-
/**
|
|
2540
|
-
* Display name when known
|
|
2541
|
-
*/
|
|
2542
|
-
name?: string | null;
|
|
2543
|
-
/**
|
|
2544
|
-
* Profile picture URL when known
|
|
2545
|
-
*/
|
|
2546
|
-
profilePicture?: string | null;
|
|
2547
|
-
}
|
|
2548
|
-
namespace MatchingPartAuthor {
|
|
2549
|
-
interface Company {
|
|
2550
|
-
id: string;
|
|
2551
|
-
name?: string;
|
|
2552
|
-
}
|
|
2553
|
-
}
|
|
2554
|
-
interface Source {
|
|
2555
|
-
/**
|
|
2556
|
-
* Body of the initial message as HTML with signed image URLs
|
|
2557
|
-
*/
|
|
2558
|
-
bodyHtml: string;
|
|
2559
|
-
/**
|
|
2560
|
-
* Body of the initial message as markdown
|
|
2561
|
-
*/
|
|
2562
|
-
bodyMarkdown: string;
|
|
2563
|
-
/**
|
|
2564
|
-
* Channel through which the conversation was initiated
|
|
2565
|
-
*/
|
|
2566
|
-
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email';
|
|
2567
|
-
author?: ConversationsAPI.ConversationParticipant;
|
|
2568
|
-
/**
|
|
2569
|
-
* How the conversation was initiated
|
|
2570
|
-
*/
|
|
2571
|
-
deliveredAs?: 'customer_initiated' | 'admin_initiated';
|
|
2572
|
-
/**
|
|
2573
|
-
* Subject line for email conversations
|
|
2574
|
-
*/
|
|
2575
|
-
subject?: string;
|
|
2576
|
-
/**
|
|
2577
|
-
* URL where the conversation was initiated
|
|
2578
|
-
*/
|
|
2579
|
-
url?: string;
|
|
2580
|
-
}
|
|
2581
2535
|
interface SurroundingConversationPart {
|
|
2582
2536
|
/**
|
|
2583
2537
|
* Conversation part id
|
|
@@ -2595,7 +2549,7 @@ export declare namespace ConversationSearchResponse {
|
|
|
2595
2549
|
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2596
2550
|
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2597
2551
|
*/
|
|
2598
|
-
author?:
|
|
2552
|
+
author?: ConversationsAPI.SearchMatchingPartAuthor | null;
|
|
2599
2553
|
/**
|
|
2600
2554
|
* ISO timestamp when the part was created
|
|
2601
2555
|
*/
|
|
@@ -2605,46 +2559,26 @@ export declare namespace ConversationSearchResponse {
|
|
|
2605
2559
|
*/
|
|
2606
2560
|
partType?: string;
|
|
2607
2561
|
}
|
|
2608
|
-
namespace SurroundingConversationPart {
|
|
2609
|
-
/**
|
|
2610
|
-
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2611
|
-
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2612
|
-
*/
|
|
2613
|
-
interface Author {
|
|
2614
|
-
/**
|
|
2615
|
-
* Author id
|
|
2616
|
-
*/
|
|
2617
|
-
id: string;
|
|
2618
|
-
/**
|
|
2619
|
-
* Author type
|
|
2620
|
-
*/
|
|
2621
|
-
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2622
|
-
/**
|
|
2623
|
-
* Companies the author belongs to (customers only)
|
|
2624
|
-
*/
|
|
2625
|
-
companies?: Array<Author.Company>;
|
|
2626
|
-
/**
|
|
2627
|
-
* Email when known
|
|
2628
|
-
*/
|
|
2629
|
-
email?: string | null;
|
|
2630
|
-
/**
|
|
2631
|
-
* Display name when known
|
|
2632
|
-
*/
|
|
2633
|
-
name?: string | null;
|
|
2634
|
-
/**
|
|
2635
|
-
* Profile picture URL when known
|
|
2636
|
-
*/
|
|
2637
|
-
profilePicture?: string | null;
|
|
2638
|
-
}
|
|
2639
|
-
namespace Author {
|
|
2640
|
-
interface Company {
|
|
2641
|
-
id: string;
|
|
2642
|
-
name?: string;
|
|
2643
|
-
}
|
|
2644
|
-
}
|
|
2645
|
-
}
|
|
2646
2562
|
}
|
|
2647
2563
|
}
|
|
2564
|
+
export interface ConversationListParams extends CursorPageParams {
|
|
2565
|
+
/**
|
|
2566
|
+
* Query param: Comma-separated optional expansions. Use
|
|
2567
|
+
* `customAttributeDefinitions` to return `customAttributeValues` with names and
|
|
2568
|
+
* types alongside ID-keyed `customAttributes`.
|
|
2569
|
+
*/
|
|
2570
|
+
include?: string | Array<string>;
|
|
2571
|
+
/**
|
|
2572
|
+
* Query param: Filter conversations by one or more tag IDs using a comma-separated
|
|
2573
|
+
* list. Conversations must contain all provided tags.
|
|
2574
|
+
*/
|
|
2575
|
+
tagIds?: string | Array<string>;
|
|
2576
|
+
/**
|
|
2577
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2578
|
+
* configured API version if not specified.
|
|
2579
|
+
*/
|
|
2580
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2581
|
+
}
|
|
2648
2582
|
export interface ConversationCreateParams {
|
|
2649
2583
|
/**
|
|
2650
2584
|
* Body param: The content of the initial message in markdown format. Images
|
|
@@ -2731,6 +2665,19 @@ export declare namespace ConversationCreateParams {
|
|
|
2731
2665
|
}
|
|
2732
2666
|
}
|
|
2733
2667
|
export interface ConversationRetrieveParams {
|
|
2668
|
+
/**
|
|
2669
|
+
* Query param: Comma-separated optional expansions. Use
|
|
2670
|
+
* `customAttributeDefinitions` to return `customAttributeValues` with names and
|
|
2671
|
+
* types alongside ID-keyed `customAttributes`.
|
|
2672
|
+
*/
|
|
2673
|
+
include?: string | Array<string>;
|
|
2674
|
+
/**
|
|
2675
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2676
|
+
* configured API version if not specified.
|
|
2677
|
+
*/
|
|
2678
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2679
|
+
}
|
|
2680
|
+
export interface ConversationDeleteParams {
|
|
2734
2681
|
/**
|
|
2735
2682
|
* API version for this request. Defaults to your organization's configured API
|
|
2736
2683
|
* version if not specified.
|
|
@@ -2749,8 +2696,9 @@ export interface ConversationUpdateParams {
|
|
|
2749
2696
|
*/
|
|
2750
2697
|
adminAssigneeId?: string | null;
|
|
2751
2698
|
/**
|
|
2752
|
-
* Body param: Custom attributes to set on the conversation
|
|
2753
|
-
*
|
|
2699
|
+
* Body param: Custom attributes to set on the conversation, keyed by conversation
|
|
2700
|
+
* custom attribute ID. Use the custom attribute definitions for your organization
|
|
2701
|
+
* to map IDs to display names.
|
|
2754
2702
|
*/
|
|
2755
2703
|
customAttributes?: {
|
|
2756
2704
|
[key: string]: unknown;
|
|
@@ -2809,82 +2757,6 @@ export declare namespace ConversationUpdateParams {
|
|
|
2809
2757
|
contactIds?: Array<string>;
|
|
2810
2758
|
}
|
|
2811
2759
|
}
|
|
2812
|
-
export interface ConversationListParams extends CursorPageParams {
|
|
2813
|
-
/**
|
|
2814
|
-
* Query param: Filter conversations by one or more tag IDs using a comma-separated
|
|
2815
|
-
* list. Conversations must contain all provided tags.
|
|
2816
|
-
*/
|
|
2817
|
-
tagIds?: string | Array<string>;
|
|
2818
|
-
/**
|
|
2819
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
2820
|
-
* configured API version if not specified.
|
|
2821
|
-
*/
|
|
2822
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2823
|
-
}
|
|
2824
|
-
export interface ConversationDeleteParams {
|
|
2825
|
-
/**
|
|
2826
|
-
* API version for this request. Defaults to your organization's configured API
|
|
2827
|
-
* version if not specified.
|
|
2828
|
-
*/
|
|
2829
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2830
|
-
}
|
|
2831
|
-
export interface ConversationAttachTagParams {
|
|
2832
|
-
/**
|
|
2833
|
-
* Body param: Required admin ID performing this tag attachment. Must be a member
|
|
2834
|
-
* of the organization so the mutation can be attributed to a real admin actor.
|
|
2835
|
-
*/
|
|
2836
|
-
actingAdminId: string;
|
|
2837
|
-
/**
|
|
2838
|
-
* Body param: The Featurebase tag ID to attach to the conversation.
|
|
2839
|
-
*/
|
|
2840
|
-
tagId: string;
|
|
2841
|
-
/**
|
|
2842
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
2843
|
-
* configured API version if not specified.
|
|
2844
|
-
*/
|
|
2845
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2846
|
-
}
|
|
2847
|
-
export interface ConversationDetachTagParams {
|
|
2848
|
-
/**
|
|
2849
|
-
* Path param: Conversation ID (short ID)
|
|
2850
|
-
*/
|
|
2851
|
-
id: string;
|
|
2852
|
-
/**
|
|
2853
|
-
* Body param: Required admin ID performing this tag removal. Must be a member of
|
|
2854
|
-
* the organization so the mutation can be attributed to a real admin actor.
|
|
2855
|
-
*/
|
|
2856
|
-
actingAdminId: string;
|
|
2857
|
-
/**
|
|
2858
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
2859
|
-
* configured API version if not specified.
|
|
2860
|
-
*/
|
|
2861
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2862
|
-
}
|
|
2863
|
-
export interface ConversationRedactParams {
|
|
2864
|
-
/**
|
|
2865
|
-
* Body param: The conversation short ID that contains the part to redact
|
|
2866
|
-
*/
|
|
2867
|
-
conversationId: string;
|
|
2868
|
-
/**
|
|
2869
|
-
* Body param: The conversation part short ID to redact
|
|
2870
|
-
*/
|
|
2871
|
-
conversationPartId: string;
|
|
2872
|
-
/**
|
|
2873
|
-
* Body param: The type of item to redact. Currently only "conversation_part" is
|
|
2874
|
-
* supported.
|
|
2875
|
-
*/
|
|
2876
|
-
type: 'conversation_part';
|
|
2877
|
-
/**
|
|
2878
|
-
* Body param: The admin ID performing this action. If not provided, changes are
|
|
2879
|
-
* attributed to the system bot user.
|
|
2880
|
-
*/
|
|
2881
|
-
actingAdminId?: string;
|
|
2882
|
-
/**
|
|
2883
|
-
* Header param: API version for this request. Defaults to your organization's
|
|
2884
|
-
* configured API version if not specified.
|
|
2885
|
-
*/
|
|
2886
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2887
|
-
}
|
|
2888
2760
|
export type ConversationReplyParams = ConversationReplyParams.ContactReplyBody | ConversationReplyParams.AdminReplyBody;
|
|
2889
2761
|
export declare namespace ConversationReplyParams {
|
|
2890
2762
|
interface ContactReplyBody {
|
|
@@ -2953,12 +2825,75 @@ export declare namespace ConversationReplyParams {
|
|
|
2953
2825
|
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2954
2826
|
}
|
|
2955
2827
|
}
|
|
2828
|
+
export interface ConversationRedactParams {
|
|
2829
|
+
/**
|
|
2830
|
+
* Body param: The conversation short ID that contains the part to redact
|
|
2831
|
+
*/
|
|
2832
|
+
conversationId: string;
|
|
2833
|
+
/**
|
|
2834
|
+
* Body param: The conversation part short ID to redact
|
|
2835
|
+
*/
|
|
2836
|
+
conversationPartId: string;
|
|
2837
|
+
/**
|
|
2838
|
+
* Body param: The type of item to redact. Currently only "conversation_part" is
|
|
2839
|
+
* supported.
|
|
2840
|
+
*/
|
|
2841
|
+
type: 'conversation_part';
|
|
2842
|
+
/**
|
|
2843
|
+
* Body param: The admin ID performing this action. If not provided, changes are
|
|
2844
|
+
* attributed to the system bot user.
|
|
2845
|
+
*/
|
|
2846
|
+
actingAdminId?: string;
|
|
2847
|
+
/**
|
|
2848
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2849
|
+
* configured API version if not specified.
|
|
2850
|
+
*/
|
|
2851
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2852
|
+
}
|
|
2853
|
+
export interface ConversationAttachTagParams {
|
|
2854
|
+
/**
|
|
2855
|
+
* Body param: Required admin ID performing this tag attachment. Must be a member
|
|
2856
|
+
* of the organization so the mutation can be attributed to a real admin actor.
|
|
2857
|
+
*/
|
|
2858
|
+
actingAdminId: string;
|
|
2859
|
+
/**
|
|
2860
|
+
* Body param: The Featurebase tag ID to attach to the conversation.
|
|
2861
|
+
*/
|
|
2862
|
+
tagId: string;
|
|
2863
|
+
/**
|
|
2864
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2865
|
+
* configured API version if not specified.
|
|
2866
|
+
*/
|
|
2867
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2868
|
+
}
|
|
2869
|
+
export interface ConversationDetachTagParams {
|
|
2870
|
+
/**
|
|
2871
|
+
* Path param: Conversation ID (short ID)
|
|
2872
|
+
*/
|
|
2873
|
+
id: string;
|
|
2874
|
+
/**
|
|
2875
|
+
* Body param: Required admin ID performing this tag removal. Must be a member of
|
|
2876
|
+
* the organization so the mutation can be attributed to a real admin actor.
|
|
2877
|
+
*/
|
|
2878
|
+
actingAdminId: string;
|
|
2879
|
+
/**
|
|
2880
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2881
|
+
* configured API version if not specified.
|
|
2882
|
+
*/
|
|
2883
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2884
|
+
}
|
|
2956
2885
|
export interface ConversationSearchParams {
|
|
2957
2886
|
/**
|
|
2958
2887
|
* Body param: An opaque cursor for pagination. Use the nextCursor value from a
|
|
2959
2888
|
* previous response to fetch the next page of results.
|
|
2960
2889
|
*/
|
|
2961
2890
|
cursor?: string;
|
|
2891
|
+
/**
|
|
2892
|
+
* Body param: Optional expansions. Use `customAttributeDefinitions` to return
|
|
2893
|
+
* `customAttributeValues` with names and types alongside ID-keyed
|
|
2894
|
+
* `customAttributes`.
|
|
2895
|
+
*/
|
|
2896
|
+
include?: Array<'customAttributeDefinitions'>;
|
|
2962
2897
|
/**
|
|
2963
2898
|
* Body param: A limit on the number of objects to be returned, between 1 and 100.
|
|
2964
2899
|
*/
|
|
@@ -2966,10 +2901,11 @@ export interface ConversationSearchParams {
|
|
|
2966
2901
|
/**
|
|
2967
2902
|
* Body param: Structured filter AST. Either a single filter clause or one
|
|
2968
2903
|
* top-level AND group. Use this for filtering by `state`, `tagIds`,
|
|
2969
|
-
* `adminAssigneeId`, etc. (Legacy snake_case
|
|
2970
|
-
* see the OpenAPI route description for the
|
|
2904
|
+
* `adminAssigneeId`, `customAttributes.<attributeId>`, etc. (Legacy snake_case
|
|
2905
|
+
* names are accepted for back-compat — see the OpenAPI route description for the
|
|
2906
|
+
* full alias map.)
|
|
2971
2907
|
*/
|
|
2972
|
-
query?:
|
|
2908
|
+
query?: PostsAPI.SearchFilter | PostsAPI.SearchFilterGroup;
|
|
2973
2909
|
/**
|
|
2974
2910
|
* Body param: Plain-text full-text search across conversation messages.
|
|
2975
2911
|
* Server-managed - no operators, no field selection.
|
|
@@ -2989,50 +2925,8 @@ export interface ConversationSearchParams {
|
|
|
2989
2925
|
*/
|
|
2990
2926
|
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2991
2927
|
}
|
|
2992
|
-
export declare namespace ConversationSearchParams {
|
|
2993
|
-
interface SearchFilter {
|
|
2994
|
-
/**
|
|
2995
|
-
* Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
|
|
2996
|
-
*/
|
|
2997
|
-
field: string;
|
|
2998
|
-
/**
|
|
2999
|
-
* Comparison operator
|
|
3000
|
-
*/
|
|
3001
|
-
operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
|
|
3002
|
-
/**
|
|
3003
|
-
* Value to compare against (primitive or array of primitives)
|
|
3004
|
-
*/
|
|
3005
|
-
value: string | number | boolean | Array<string | number> | null;
|
|
3006
|
-
}
|
|
3007
|
-
interface SearchFilterGroup {
|
|
3008
|
-
/**
|
|
3009
|
-
* Group operator: AND (all match) or OR (any match)
|
|
3010
|
-
*/
|
|
3011
|
-
operator: 'AND' | 'OR';
|
|
3012
|
-
/**
|
|
3013
|
-
* Array of filter clauses (1-15 entries)
|
|
3014
|
-
*/
|
|
3015
|
-
value: Array<SearchFilterGroup.Value>;
|
|
3016
|
-
}
|
|
3017
|
-
namespace SearchFilterGroup {
|
|
3018
|
-
interface Value {
|
|
3019
|
-
/**
|
|
3020
|
-
* Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
|
|
3021
|
-
*/
|
|
3022
|
-
field: string;
|
|
3023
|
-
/**
|
|
3024
|
-
* Comparison operator
|
|
3025
|
-
*/
|
|
3026
|
-
operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '>=' | '<=' | '~' | '!~' | '^' | '$';
|
|
3027
|
-
/**
|
|
3028
|
-
* Value to compare against (primitive or array of primitives)
|
|
3029
|
-
*/
|
|
3030
|
-
value: string | number | boolean | Array<string | number> | null;
|
|
3031
|
-
}
|
|
3032
|
-
}
|
|
3033
|
-
}
|
|
3034
2928
|
export declare namespace Conversations {
|
|
3035
|
-
export { type Conversation as Conversation, type ConversationPart as ConversationPart, type ConversationPartAuthor as ConversationPartAuthor, type ConversationParticipant as ConversationParticipant, type ConversationTagApplication as ConversationTagApplication, type CsatEmailDelivery as CsatEmailDelivery, type CsatRatedAgent as CsatRatedAgent, type CsatWorkflowLink as CsatWorkflowLink, type EmailRecipients as EmailRecipients, type
|
|
2929
|
+
export { type AttachedConversationTag as AttachedConversationTag, type Conversation as Conversation, type ConversationAttributeValue as ConversationAttributeValue, type ConversationPart as ConversationPart, type ConversationPartAuthor as ConversationPartAuthor, type ConversationParticipant as ConversationParticipant, type ConversationTagApplication as ConversationTagApplication, type ConversationTagMutationActor as ConversationTagMutationActor, type CsatEmailDelivery as CsatEmailDelivery, type CsatRatedAgent as CsatRatedAgent, type CsatSlackDelivery as CsatSlackDelivery, type CsatWorkflowLink as CsatWorkflowLink, type EmailRecipients as EmailRecipients, type MessageSource as MessageSource, type SearchMatchingPartAuthor as SearchMatchingPartAuthor, type SlackMessageDetails as SlackMessageDetails, type ConversationDeleteResponse as ConversationDeleteResponse, type ConversationSearchResponse as ConversationSearchResponse, type ConversationsCursorPage as ConversationsCursorPage, type ConversationListParams as ConversationListParams, type ConversationCreateParams as ConversationCreateParams, type ConversationRetrieveParams as ConversationRetrieveParams, type ConversationDeleteParams as ConversationDeleteParams, type ConversationUpdateParams as ConversationUpdateParams, type ConversationReplyParams as ConversationReplyParams, type ConversationRedactParams as ConversationRedactParams, type ConversationAttachTagParams as ConversationAttachTagParams, type ConversationDetachTagParams as ConversationDetachTagParams, type ConversationSearchParams as ConversationSearchParams, };
|
|
3036
2930
|
export { Participants as Participants, type ParticipantAddParams as ParticipantAddParams, type ParticipantRemoveParams as ParticipantRemoveParams, };
|
|
3037
2931
|
}
|
|
3038
2932
|
//# sourceMappingURL=conversations.d.mts.map
|