featurebase-node 0.8.1 → 0.9.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 +10 -0
- package/client.d.mts +3 -1
- package/client.d.mts.map +1 -1
- package/client.d.ts +3 -1
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/core/pagination.d.mts +15 -0
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts +15 -0
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.js +25 -1
- package/core/pagination.js.map +1 -1
- package/core/pagination.mjs +23 -0
- package/core/pagination.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/support/conversations/conversations.d.mts +810 -8
- package/resources/support/conversations/conversations.d.mts.map +1 -1
- package/resources/support/conversations/conversations.d.ts +810 -8
- package/resources/support/conversations/conversations.d.ts.map +1 -1
- package/resources/support/conversations/conversations.js +240 -4
- package/resources/support/conversations/conversations.js.map +1 -1
- package/resources/support/conversations/conversations.mjs +240 -4
- package/resources/support/conversations/conversations.mjs.map +1 -1
- package/resources/support/conversations/index.d.mts +1 -2
- package/resources/support/conversations/index.d.mts.map +1 -1
- package/resources/support/conversations/index.d.ts +1 -2
- package/resources/support/conversations/index.d.ts.map +1 -1
- package/resources/support/conversations/index.js +1 -3
- package/resources/support/conversations/index.js.map +1 -1
- package/resources/support/conversations/index.mjs +0 -1
- package/resources/support/conversations/index.mjs.map +1 -1
- package/resources/support/index.d.mts +1 -1
- package/resources/support/index.d.mts.map +1 -1
- package/resources/support/index.d.ts +1 -1
- 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 +2 -2
- package/resources/support/support.d.mts.map +1 -1
- package/resources/support/support.d.ts +2 -2
- 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/src/client.ts +13 -1
- package/src/core/pagination.ts +49 -0
- package/src/resources/support/conversations/conversations.ts +1059 -86
- package/src/resources/support/conversations/index.ts +6 -7
- package/src/resources/support/index.ts +6 -0
- package/src/resources/support/support.ts +12 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/resources/support/conversations/tags.d.mts +0 -200
- package/resources/support/conversations/tags.d.mts.map +0 -1
- package/resources/support/conversations/tags.d.ts +0 -200
- package/resources/support/conversations/tags.d.ts.map +0 -1
- package/resources/support/conversations/tags.js +0 -146
- package/resources/support/conversations/tags.js.map +0 -1
- package/resources/support/conversations/tags.mjs +0 -142
- package/resources/support/conversations/tags.mjs.map +0 -1
- package/src/resources/support/conversations/tags.ts +0 -260
|
@@ -3,8 +3,6 @@ import * as ConversationsAPI from "./conversations.mjs";
|
|
|
3
3
|
import * as ConversationTagsAPI from "../conversation-tags.mjs";
|
|
4
4
|
import * as ParticipantsAPI from "./participants.mjs";
|
|
5
5
|
import { ParticipantAddParams, ParticipantRemoveParams, Participants } from "./participants.mjs";
|
|
6
|
-
import * as TagsAPI from "./tags.mjs";
|
|
7
|
-
import { AttachedConversationTag, ConversationTagMutationActor, TagAttachParams, TagDetachParams, Tags } from "./tags.mjs";
|
|
8
6
|
import { APIPromise } from "../../../core/api-promise.mjs";
|
|
9
7
|
import { CursorPage, type CursorPageParams, PagePromise } from "../../../core/pagination.mjs";
|
|
10
8
|
import { RequestOptions } from "../../../internal/request-options.mjs";
|
|
@@ -12,7 +10,6 @@ import { RequestOptions } from "../../../internal/request-options.mjs";
|
|
|
12
10
|
* Conversations are messenger/inbox conversations in your Featurebase organization. Use this endpoint to list and retrieve conversation information.
|
|
13
11
|
*/
|
|
14
12
|
export declare class Conversations extends APIResource {
|
|
15
|
-
tags: TagsAPI.Tags;
|
|
16
13
|
participants: ParticipantsAPI.Participants;
|
|
17
14
|
/**
|
|
18
15
|
* Creates a new conversation. Supports both contact-initiated (customer/lead) and
|
|
@@ -487,6 +484,110 @@ export declare class Conversations extends APIResource {
|
|
|
487
484
|
* ```
|
|
488
485
|
*/
|
|
489
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
|
|
516
|
+
*
|
|
517
|
+
* ```json
|
|
518
|
+
* {
|
|
519
|
+
* "tagId": "67ec1234abcd5678ef901234",
|
|
520
|
+
* "actingAdminId": "507f1f77bcf86cd799439011"
|
|
521
|
+
* }
|
|
522
|
+
* ```
|
|
523
|
+
*
|
|
524
|
+
* ### Version Availability
|
|
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
|
|
567
|
+
*
|
|
568
|
+
* ```json
|
|
569
|
+
* {
|
|
570
|
+
* "actingAdminId": "507f1f77bcf86cd799439011"
|
|
571
|
+
* }
|
|
572
|
+
* ```
|
|
573
|
+
*
|
|
574
|
+
* ### Version Availability
|
|
575
|
+
*
|
|
576
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
577
|
+
*
|
|
578
|
+
* @example
|
|
579
|
+
* ```ts
|
|
580
|
+
* const response =
|
|
581
|
+
* await client.support.conversations.detachTag(
|
|
582
|
+
* '67ec1234abcd5678ef901234',
|
|
583
|
+
* {
|
|
584
|
+
* id: '12345',
|
|
585
|
+
* actingAdminId: '507f1f77bcf86cd799439011',
|
|
586
|
+
* },
|
|
587
|
+
* );
|
|
588
|
+
* ```
|
|
589
|
+
*/
|
|
590
|
+
detachTag(tagID: string, params: ConversationDetachTagParams, options?: RequestOptions): APIPromise<ConversationDetachTagResponse>;
|
|
490
591
|
/**
|
|
491
592
|
* Redacts a conversation part (message) from a conversation. Redaction permanently
|
|
492
593
|
* removes the message content while preserving the conversation structure.
|
|
@@ -676,6 +777,100 @@ export declare class Conversations extends APIResource {
|
|
|
676
777
|
* ```
|
|
677
778
|
*/
|
|
678
779
|
reply(id: string, params: ConversationReplyParams, options?: RequestOptions): APIPromise<ConversationPart>;
|
|
780
|
+
/**
|
|
781
|
+
* Search conversations with a structured filter AST and an optional full-text
|
|
782
|
+
* query.
|
|
783
|
+
*
|
|
784
|
+
* The endpoint has two modes that are picked automatically from the body:
|
|
785
|
+
*
|
|
786
|
+
* - **Filter mode** (`query` set, `search` omitted): structured filtering against
|
|
787
|
+
* indexed conversation fields. Sorted by `lastActivityAt` desc by default; set
|
|
788
|
+
* `sort` to `last_activity_at:asc` for the inverse.
|
|
789
|
+
* - **Search mode** (`search` set, `query` optional): full-text search across
|
|
790
|
+
* conversation messages, then narrowed by the same `query` AST so the same
|
|
791
|
+
* filters apply. Results are ranked by relevance.
|
|
792
|
+
*
|
|
793
|
+
* ### Structured query AST
|
|
794
|
+
*
|
|
795
|
+
* Each clause has the shape `{ field, operator, value }`. You can pass a single
|
|
796
|
+
* clause or wrap up to 15 in a top-level `AND` group:
|
|
797
|
+
*
|
|
798
|
+
* ```json
|
|
799
|
+
* {
|
|
800
|
+
* "query": {
|
|
801
|
+
* "operator": "AND",
|
|
802
|
+
* "value": [
|
|
803
|
+
* { "field": "state", "operator": "=", "value": "open" },
|
|
804
|
+
* {
|
|
805
|
+
* "field": "admin_assignee_id",
|
|
806
|
+
* "operator": "=",
|
|
807
|
+
* "value": "507f1f77bcf86cd799439011"
|
|
808
|
+
* }
|
|
809
|
+
* ]
|
|
810
|
+
* }
|
|
811
|
+
* }
|
|
812
|
+
* ```
|
|
813
|
+
*
|
|
814
|
+
* Top-level `OR` groups and nested groups are not supported in this version.
|
|
815
|
+
*
|
|
816
|
+
* ### Supported fields and operators
|
|
817
|
+
*
|
|
818
|
+
* | Field | Type | Operators |
|
|
819
|
+
* | ---------------------------- | ------------------------------------------------- | ---------------------- |
|
|
820
|
+
* | `state` | enum (`open` / `closed` / `snoozed`) | `=`, `!=`, `IN`, `NIN` |
|
|
821
|
+
* | `priority` | boolean | `=`, `!=` |
|
|
822
|
+
* | `admin_assignee_id` | id or null (unassigned) | `=`, `!=`, `IN`, `NIN` |
|
|
823
|
+
* | `team_assignee_id` | id or null (unassigned) | `=`, `!=`, `IN`, `NIN` |
|
|
824
|
+
* | `brand_id` | id or null | `=`, `!=`, `IN`, `NIN` |
|
|
825
|
+
* | `tag_ids` | id (matches any conversation containing this tag) | `=`, `!=`, `IN`, `NIN` |
|
|
826
|
+
* | `user_id` / `participant_id` | id of a conversation participant | `=`, `!=`, `IN`, `NIN` |
|
|
827
|
+
* | `mentioned_admin_ids` | admin id | `=`, `!=`, `IN`, `NIN` |
|
|
828
|
+
* | `created_at` | unix seconds | `=`, `>`, `<` |
|
|
829
|
+
*
|
|
830
|
+
* For unbounded fields a query consisting only of `!=` or `NIN` clauses is
|
|
831
|
+
* rejected with `query_too_broad` to prevent full-org scans. Combine the negation
|
|
832
|
+
* with at least one positive clause (`=`, `IN`, `>`, `<`) instead. Bounded enum
|
|
833
|
+
* fields (`state`, `priority`) are exempt because their negation is naturally
|
|
834
|
+
* bounded.
|
|
835
|
+
*
|
|
836
|
+
* ### Pagination
|
|
837
|
+
*
|
|
838
|
+
* Cursor-based, `limit` between 1 and 100 (default 10). Pagination cursors are
|
|
839
|
+
* mode-specific - reusing a filter-mode cursor in search mode (or vice versa)
|
|
840
|
+
* returns `400`. `totalCount` is approximate and capped at 1000;
|
|
841
|
+
* `totalCountCapped` is `true` when the real count may be higher.
|
|
842
|
+
*
|
|
843
|
+
* ### Response
|
|
844
|
+
*
|
|
845
|
+
* Returns a slim conversation row optimised for inbox / list rendering - just the
|
|
846
|
+
* fields you need to render a row and link to the conversation. Fetch the full
|
|
847
|
+
* conversation via `GET /v2/conversations/{id}` when the user opens one.
|
|
848
|
+
*
|
|
849
|
+
* Search-specific additions on each row:
|
|
850
|
+
*
|
|
851
|
+
* - `conversationUser` - the customer / lead the conversation is with. Use this
|
|
852
|
+
* for the row identity.
|
|
853
|
+
* - `latestConversationParts` - capped latest-message preview window. Each
|
|
854
|
+
* `previewMarkdown` value is truncated server-side; fetch the full conversation
|
|
855
|
+
* for complete history and full bodies.
|
|
856
|
+
* - `matchingPartAuthor` - author of the specific message that matched the search
|
|
857
|
+
* query (search mode only). May be a teammate or bot.
|
|
858
|
+
* - `matchingPart` - reference to the matched message (search mode only).
|
|
859
|
+
* - `matchingBodyPreviewMarkdown` - plain-text / markdown preview of the matched
|
|
860
|
+
* body (search mode only).
|
|
861
|
+
* - `relevanceScore` - aggregate score (search mode only).
|
|
862
|
+
*
|
|
863
|
+
* ### Version Availability
|
|
864
|
+
*
|
|
865
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
866
|
+
*
|
|
867
|
+
* @example
|
|
868
|
+
* ```ts
|
|
869
|
+
* const response =
|
|
870
|
+
* await client.support.conversations.search();
|
|
871
|
+
* ```
|
|
872
|
+
*/
|
|
873
|
+
search(params: ConversationSearchParams, options?: RequestOptions): APIPromise<ConversationSearchResponse>;
|
|
679
874
|
}
|
|
680
875
|
export type ConversationsCursorPage = CursorPage<Conversation>;
|
|
681
876
|
export interface Conversation {
|
|
@@ -1653,7 +1848,7 @@ export declare namespace ConversationPart {
|
|
|
1653
1848
|
/**
|
|
1654
1849
|
* Actor that applied the tag
|
|
1655
1850
|
*/
|
|
1656
|
-
actor?:
|
|
1851
|
+
actor?: TagUpdate.Actor;
|
|
1657
1852
|
/**
|
|
1658
1853
|
* Tag name at the time of the event or the best available current display name
|
|
1659
1854
|
*/
|
|
@@ -1663,6 +1858,25 @@ export declare namespace ConversationPart {
|
|
|
1663
1858
|
*/
|
|
1664
1859
|
targetPartId?: string | null;
|
|
1665
1860
|
}
|
|
1861
|
+
namespace TagUpdate {
|
|
1862
|
+
/**
|
|
1863
|
+
* Actor that applied the tag
|
|
1864
|
+
*/
|
|
1865
|
+
interface Actor {
|
|
1866
|
+
/**
|
|
1867
|
+
* Actor that caused the tag mutation
|
|
1868
|
+
*/
|
|
1869
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
1870
|
+
/**
|
|
1871
|
+
* Actor identifier when available
|
|
1872
|
+
*/
|
|
1873
|
+
id?: string | null;
|
|
1874
|
+
/**
|
|
1875
|
+
* Actor display name when available
|
|
1876
|
+
*/
|
|
1877
|
+
name?: string | null;
|
|
1878
|
+
}
|
|
1879
|
+
}
|
|
1666
1880
|
/**
|
|
1667
1881
|
* Represents a workflow wait start, finish, or interruption in the conversation
|
|
1668
1882
|
* thread
|
|
@@ -1842,7 +2056,7 @@ export interface ConversationTagApplication {
|
|
|
1842
2056
|
/**
|
|
1843
2057
|
* Actor that applied the tag
|
|
1844
2058
|
*/
|
|
1845
|
-
appliedBy?:
|
|
2059
|
+
appliedBy?: ConversationTagApplication.AppliedBy;
|
|
1846
2060
|
/**
|
|
1847
2061
|
* ISO timestamp when the tag was removed from this reply, if it was removed
|
|
1848
2062
|
*/
|
|
@@ -1850,12 +2064,48 @@ export interface ConversationTagApplication {
|
|
|
1850
2064
|
/**
|
|
1851
2065
|
* Actor that applied the tag
|
|
1852
2066
|
*/
|
|
1853
|
-
removedBy?:
|
|
2067
|
+
removedBy?: ConversationTagApplication.RemovedBy;
|
|
1854
2068
|
/**
|
|
1855
2069
|
* Resolved tag object when the tag still exists in the shared workspace catalog
|
|
1856
2070
|
*/
|
|
1857
2071
|
tag?: ConversationTagsAPI.ConversationTag;
|
|
1858
2072
|
}
|
|
2073
|
+
export declare namespace ConversationTagApplication {
|
|
2074
|
+
/**
|
|
2075
|
+
* Actor that applied the tag
|
|
2076
|
+
*/
|
|
2077
|
+
interface AppliedBy {
|
|
2078
|
+
/**
|
|
2079
|
+
* Actor that caused the tag mutation
|
|
2080
|
+
*/
|
|
2081
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2082
|
+
/**
|
|
2083
|
+
* Actor identifier when available
|
|
2084
|
+
*/
|
|
2085
|
+
id?: string | null;
|
|
2086
|
+
/**
|
|
2087
|
+
* Actor display name when available
|
|
2088
|
+
*/
|
|
2089
|
+
name?: string | null;
|
|
2090
|
+
}
|
|
2091
|
+
/**
|
|
2092
|
+
* Actor that applied the tag
|
|
2093
|
+
*/
|
|
2094
|
+
interface RemovedBy {
|
|
2095
|
+
/**
|
|
2096
|
+
* Actor that caused the tag mutation
|
|
2097
|
+
*/
|
|
2098
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2099
|
+
/**
|
|
2100
|
+
* Actor identifier when available
|
|
2101
|
+
*/
|
|
2102
|
+
id?: string | null;
|
|
2103
|
+
/**
|
|
2104
|
+
* Actor display name when available
|
|
2105
|
+
*/
|
|
2106
|
+
name?: string | null;
|
|
2107
|
+
}
|
|
2108
|
+
}
|
|
1859
2109
|
export interface CsatEmailDelivery {
|
|
1860
2110
|
/**
|
|
1861
2111
|
* Email delivery status for the CSAT request when applicable
|
|
@@ -1933,6 +2183,453 @@ export interface ConversationDeleteResponse {
|
|
|
1933
2183
|
*/
|
|
1934
2184
|
object: 'conversation';
|
|
1935
2185
|
}
|
|
2186
|
+
export interface ConversationAttachTagResponse {
|
|
2187
|
+
/**
|
|
2188
|
+
* Unique tag identifier
|
|
2189
|
+
*/
|
|
2190
|
+
id: string;
|
|
2191
|
+
/**
|
|
2192
|
+
* Current tag name
|
|
2193
|
+
*/
|
|
2194
|
+
name: string;
|
|
2195
|
+
/**
|
|
2196
|
+
* Object type identifier for a tag
|
|
2197
|
+
*/
|
|
2198
|
+
type: 'tag';
|
|
2199
|
+
/**
|
|
2200
|
+
* ISO timestamp when the tag was applied
|
|
2201
|
+
*/
|
|
2202
|
+
appliedAt?: string | null;
|
|
2203
|
+
/**
|
|
2204
|
+
* Actor that applied the tag
|
|
2205
|
+
*/
|
|
2206
|
+
appliedBy?: ConversationAttachTagResponse.AppliedBy | null;
|
|
2207
|
+
/**
|
|
2208
|
+
* ISO timestamp when the tag was removed, if applicable
|
|
2209
|
+
*/
|
|
2210
|
+
removedAt?: string | null;
|
|
2211
|
+
/**
|
|
2212
|
+
* Actor that applied the tag
|
|
2213
|
+
*/
|
|
2214
|
+
removedBy?: ConversationAttachTagResponse.RemovedBy | null;
|
|
2215
|
+
/**
|
|
2216
|
+
* Reply/message ID used as the deterministic attachment target for this
|
|
2217
|
+
* conversation tag mutation.
|
|
2218
|
+
*/
|
|
2219
|
+
targetPartId?: string | null;
|
|
2220
|
+
}
|
|
2221
|
+
export declare namespace ConversationAttachTagResponse {
|
|
2222
|
+
/**
|
|
2223
|
+
* Actor that applied the tag
|
|
2224
|
+
*/
|
|
2225
|
+
interface AppliedBy {
|
|
2226
|
+
/**
|
|
2227
|
+
* Actor that caused the tag mutation
|
|
2228
|
+
*/
|
|
2229
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2230
|
+
/**
|
|
2231
|
+
* Actor identifier when available
|
|
2232
|
+
*/
|
|
2233
|
+
id?: string | null;
|
|
2234
|
+
/**
|
|
2235
|
+
* Actor display name when available
|
|
2236
|
+
*/
|
|
2237
|
+
name?: string | null;
|
|
2238
|
+
}
|
|
2239
|
+
/**
|
|
2240
|
+
* Actor that applied the tag
|
|
2241
|
+
*/
|
|
2242
|
+
interface RemovedBy {
|
|
2243
|
+
/**
|
|
2244
|
+
* Actor that caused the tag mutation
|
|
2245
|
+
*/
|
|
2246
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2247
|
+
/**
|
|
2248
|
+
* Actor identifier when available
|
|
2249
|
+
*/
|
|
2250
|
+
id?: string | null;
|
|
2251
|
+
/**
|
|
2252
|
+
* Actor display name when available
|
|
2253
|
+
*/
|
|
2254
|
+
name?: string | null;
|
|
2255
|
+
}
|
|
2256
|
+
}
|
|
2257
|
+
export interface ConversationDetachTagResponse {
|
|
2258
|
+
/**
|
|
2259
|
+
* Unique tag identifier
|
|
2260
|
+
*/
|
|
2261
|
+
id: string;
|
|
2262
|
+
/**
|
|
2263
|
+
* Current tag name
|
|
2264
|
+
*/
|
|
2265
|
+
name: string;
|
|
2266
|
+
/**
|
|
2267
|
+
* Object type identifier for a tag
|
|
2268
|
+
*/
|
|
2269
|
+
type: 'tag';
|
|
2270
|
+
/**
|
|
2271
|
+
* ISO timestamp when the tag was applied
|
|
2272
|
+
*/
|
|
2273
|
+
appliedAt?: string | null;
|
|
2274
|
+
/**
|
|
2275
|
+
* Actor that applied the tag
|
|
2276
|
+
*/
|
|
2277
|
+
appliedBy?: ConversationDetachTagResponse.AppliedBy | null;
|
|
2278
|
+
/**
|
|
2279
|
+
* ISO timestamp when the tag was removed, if applicable
|
|
2280
|
+
*/
|
|
2281
|
+
removedAt?: string | null;
|
|
2282
|
+
/**
|
|
2283
|
+
* Actor that applied the tag
|
|
2284
|
+
*/
|
|
2285
|
+
removedBy?: ConversationDetachTagResponse.RemovedBy | null;
|
|
2286
|
+
/**
|
|
2287
|
+
* Reply/message ID used as the deterministic attachment target for this
|
|
2288
|
+
* conversation tag mutation.
|
|
2289
|
+
*/
|
|
2290
|
+
targetPartId?: string | null;
|
|
2291
|
+
}
|
|
2292
|
+
export declare namespace ConversationDetachTagResponse {
|
|
2293
|
+
/**
|
|
2294
|
+
* Actor that applied the tag
|
|
2295
|
+
*/
|
|
2296
|
+
interface AppliedBy {
|
|
2297
|
+
/**
|
|
2298
|
+
* Actor that caused the tag mutation
|
|
2299
|
+
*/
|
|
2300
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2301
|
+
/**
|
|
2302
|
+
* Actor identifier when available
|
|
2303
|
+
*/
|
|
2304
|
+
id?: string | null;
|
|
2305
|
+
/**
|
|
2306
|
+
* Actor display name when available
|
|
2307
|
+
*/
|
|
2308
|
+
name?: string | null;
|
|
2309
|
+
}
|
|
2310
|
+
/**
|
|
2311
|
+
* Actor that applied the tag
|
|
2312
|
+
*/
|
|
2313
|
+
interface RemovedBy {
|
|
2314
|
+
/**
|
|
2315
|
+
* Actor that caused the tag mutation
|
|
2316
|
+
*/
|
|
2317
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'integration' | 'system' | 'workflow';
|
|
2318
|
+
/**
|
|
2319
|
+
* Actor identifier when available
|
|
2320
|
+
*/
|
|
2321
|
+
id?: string | null;
|
|
2322
|
+
/**
|
|
2323
|
+
* Actor display name when available
|
|
2324
|
+
*/
|
|
2325
|
+
name?: string | null;
|
|
2326
|
+
}
|
|
2327
|
+
}
|
|
2328
|
+
export interface ConversationSearchResponse {
|
|
2329
|
+
/**
|
|
2330
|
+
* Array of search results
|
|
2331
|
+
*/
|
|
2332
|
+
data: Array<ConversationSearchResponse.Data>;
|
|
2333
|
+
/**
|
|
2334
|
+
* Cursor for fetching the next page (null if no more results)
|
|
2335
|
+
*/
|
|
2336
|
+
nextCursor: string | null;
|
|
2337
|
+
/**
|
|
2338
|
+
* Object type identifier
|
|
2339
|
+
*/
|
|
2340
|
+
object: 'list';
|
|
2341
|
+
/**
|
|
2342
|
+
* Total number of conversations matching the query, capped at 200. When the actual
|
|
2343
|
+
* total is at or above the cap, `totalCountCapped` is true and the value is
|
|
2344
|
+
* exactly the cap.
|
|
2345
|
+
*/
|
|
2346
|
+
totalCount?: number;
|
|
2347
|
+
/**
|
|
2348
|
+
* True when totalCount is exactly the cap and the real count is `>= totalCount`.
|
|
2349
|
+
* UI may render as "200+".
|
|
2350
|
+
*/
|
|
2351
|
+
totalCountCapped?: boolean;
|
|
2352
|
+
}
|
|
2353
|
+
export declare namespace ConversationSearchResponse {
|
|
2354
|
+
interface Data {
|
|
2355
|
+
/**
|
|
2356
|
+
* Unique conversation identifier
|
|
2357
|
+
*/
|
|
2358
|
+
id: string;
|
|
2359
|
+
/**
|
|
2360
|
+
* ID of the assigned admin
|
|
2361
|
+
*/
|
|
2362
|
+
adminAssigneeId: string | null;
|
|
2363
|
+
/**
|
|
2364
|
+
* ID of the brand associated with this conversation
|
|
2365
|
+
*/
|
|
2366
|
+
brandId: string | null;
|
|
2367
|
+
/**
|
|
2368
|
+
* ISO timestamp when conversation was created
|
|
2369
|
+
*/
|
|
2370
|
+
createdAt: string;
|
|
2371
|
+
/**
|
|
2372
|
+
* ISO timestamp of last activity
|
|
2373
|
+
*/
|
|
2374
|
+
lastActivityAt: string | null;
|
|
2375
|
+
/**
|
|
2376
|
+
* Object type identifier
|
|
2377
|
+
*/
|
|
2378
|
+
object: 'conversation';
|
|
2379
|
+
/**
|
|
2380
|
+
* Participants in this conversation
|
|
2381
|
+
*/
|
|
2382
|
+
participants: Array<ConversationsAPI.ConversationParticipant>;
|
|
2383
|
+
/**
|
|
2384
|
+
* Whether this conversation is marked as priority
|
|
2385
|
+
*/
|
|
2386
|
+
priority: boolean;
|
|
2387
|
+
/**
|
|
2388
|
+
* ISO timestamp when priority was set
|
|
2389
|
+
*/
|
|
2390
|
+
prioritySetAt: string | null;
|
|
2391
|
+
/**
|
|
2392
|
+
* Current state of the conversation
|
|
2393
|
+
*/
|
|
2394
|
+
state: 'open' | 'closed' | 'snoozed';
|
|
2395
|
+
/**
|
|
2396
|
+
* Current tags applied anywhere in this conversation
|
|
2397
|
+
*/
|
|
2398
|
+
tags: Array<ConversationTagsAPI.ConversationTag>;
|
|
2399
|
+
/**
|
|
2400
|
+
* ID of the assigned team
|
|
2401
|
+
*/
|
|
2402
|
+
teamAssigneeId: string | null;
|
|
2403
|
+
/**
|
|
2404
|
+
* ISO timestamp when conversation was last updated
|
|
2405
|
+
*/
|
|
2406
|
+
updatedAt: string;
|
|
2407
|
+
/**
|
|
2408
|
+
* Whether we are awaiting a customer reply
|
|
2409
|
+
*/
|
|
2410
|
+
awaitingCustomerReply?: boolean;
|
|
2411
|
+
/**
|
|
2412
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2413
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2414
|
+
*/
|
|
2415
|
+
conversationUser?: Data.ConversationUser | null;
|
|
2416
|
+
/**
|
|
2417
|
+
* Latest conversation messages for lightweight timeline previews. Capped and
|
|
2418
|
+
* truncated by the server; fetch the full conversation for complete message
|
|
2419
|
+
* history.
|
|
2420
|
+
*/
|
|
2421
|
+
latestConversationParts?: Array<Data.LatestConversationPart>;
|
|
2422
|
+
/**
|
|
2423
|
+
* Plain-text / markdown preview of the matching conversation part body (search
|
|
2424
|
+
* mode only)
|
|
2425
|
+
*/
|
|
2426
|
+
matchingBodyPreviewMarkdown?: string | null;
|
|
2427
|
+
/**
|
|
2428
|
+
* Reference to the conversation part that best matched the search query (search
|
|
2429
|
+
* mode only)
|
|
2430
|
+
*/
|
|
2431
|
+
matchingPart?: Data.MatchingPart | null;
|
|
2432
|
+
/**
|
|
2433
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2434
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2435
|
+
*/
|
|
2436
|
+
matchingPartAuthor?: Data.MatchingPartAuthor | null;
|
|
2437
|
+
/**
|
|
2438
|
+
* Aggregate relevance score for the conversation (search mode only). Higher is
|
|
2439
|
+
* more relevant.
|
|
2440
|
+
*/
|
|
2441
|
+
relevanceScore?: number | null;
|
|
2442
|
+
source?: Data.Source;
|
|
2443
|
+
/**
|
|
2444
|
+
* Conversation title
|
|
2445
|
+
*/
|
|
2446
|
+
title?: string;
|
|
2447
|
+
}
|
|
2448
|
+
namespace Data {
|
|
2449
|
+
/**
|
|
2450
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2451
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2452
|
+
*/
|
|
2453
|
+
interface ConversationUser {
|
|
2454
|
+
/**
|
|
2455
|
+
* Author id
|
|
2456
|
+
*/
|
|
2457
|
+
id: string;
|
|
2458
|
+
/**
|
|
2459
|
+
* Author type
|
|
2460
|
+
*/
|
|
2461
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2462
|
+
/**
|
|
2463
|
+
* Companies the author belongs to (customers only)
|
|
2464
|
+
*/
|
|
2465
|
+
companies?: Array<ConversationUser.Company>;
|
|
2466
|
+
/**
|
|
2467
|
+
* Email when known
|
|
2468
|
+
*/
|
|
2469
|
+
email?: string | null;
|
|
2470
|
+
/**
|
|
2471
|
+
* Display name when known
|
|
2472
|
+
*/
|
|
2473
|
+
name?: string | null;
|
|
2474
|
+
/**
|
|
2475
|
+
* Profile picture URL when known
|
|
2476
|
+
*/
|
|
2477
|
+
profilePicture?: string | null;
|
|
2478
|
+
}
|
|
2479
|
+
namespace ConversationUser {
|
|
2480
|
+
interface Company {
|
|
2481
|
+
id: string;
|
|
2482
|
+
name?: string;
|
|
2483
|
+
}
|
|
2484
|
+
}
|
|
2485
|
+
interface LatestConversationPart {
|
|
2486
|
+
/**
|
|
2487
|
+
* Conversation part id
|
|
2488
|
+
*/
|
|
2489
|
+
id: string;
|
|
2490
|
+
/**
|
|
2491
|
+
* Plain-text truncated preview of the part body
|
|
2492
|
+
*/
|
|
2493
|
+
previewMarkdown: string | null;
|
|
2494
|
+
/**
|
|
2495
|
+
* True when previewMarkdown was truncated by the server
|
|
2496
|
+
*/
|
|
2497
|
+
previewMarkdownTruncated: boolean;
|
|
2498
|
+
/**
|
|
2499
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2500
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2501
|
+
*/
|
|
2502
|
+
author?: LatestConversationPart.Author | null;
|
|
2503
|
+
/**
|
|
2504
|
+
* ISO timestamp when the part was created
|
|
2505
|
+
*/
|
|
2506
|
+
createdAt?: string | null;
|
|
2507
|
+
/**
|
|
2508
|
+
* Conversation part type
|
|
2509
|
+
*/
|
|
2510
|
+
partType?: string;
|
|
2511
|
+
}
|
|
2512
|
+
namespace LatestConversationPart {
|
|
2513
|
+
/**
|
|
2514
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2515
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2516
|
+
*/
|
|
2517
|
+
interface Author {
|
|
2518
|
+
/**
|
|
2519
|
+
* Author id
|
|
2520
|
+
*/
|
|
2521
|
+
id: string;
|
|
2522
|
+
/**
|
|
2523
|
+
* Author type
|
|
2524
|
+
*/
|
|
2525
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2526
|
+
/**
|
|
2527
|
+
* Companies the author belongs to (customers only)
|
|
2528
|
+
*/
|
|
2529
|
+
companies?: Array<Author.Company>;
|
|
2530
|
+
/**
|
|
2531
|
+
* Email when known
|
|
2532
|
+
*/
|
|
2533
|
+
email?: string | null;
|
|
2534
|
+
/**
|
|
2535
|
+
* Display name when known
|
|
2536
|
+
*/
|
|
2537
|
+
name?: string | null;
|
|
2538
|
+
/**
|
|
2539
|
+
* Profile picture URL when known
|
|
2540
|
+
*/
|
|
2541
|
+
profilePicture?: string | null;
|
|
2542
|
+
}
|
|
2543
|
+
namespace Author {
|
|
2544
|
+
interface Company {
|
|
2545
|
+
id: string;
|
|
2546
|
+
name?: string;
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2550
|
+
/**
|
|
2551
|
+
* Reference to the conversation part that best matched the search query (search
|
|
2552
|
+
* mode only)
|
|
2553
|
+
*/
|
|
2554
|
+
interface MatchingPart {
|
|
2555
|
+
/**
|
|
2556
|
+
* Conversation part id
|
|
2557
|
+
*/
|
|
2558
|
+
id: string;
|
|
2559
|
+
/**
|
|
2560
|
+
* ISO timestamp when the matching part was created
|
|
2561
|
+
*/
|
|
2562
|
+
createdAt?: string | null;
|
|
2563
|
+
/**
|
|
2564
|
+
* Conversation part type
|
|
2565
|
+
*/
|
|
2566
|
+
partType?: string;
|
|
2567
|
+
}
|
|
2568
|
+
/**
|
|
2569
|
+
* The customer or lead the conversation is with. Use this for the row identity;
|
|
2570
|
+
* use `matchingPartAuthor` if you specifically want the message author.
|
|
2571
|
+
*/
|
|
2572
|
+
interface MatchingPartAuthor {
|
|
2573
|
+
/**
|
|
2574
|
+
* Author id
|
|
2575
|
+
*/
|
|
2576
|
+
id: string;
|
|
2577
|
+
/**
|
|
2578
|
+
* Author type
|
|
2579
|
+
*/
|
|
2580
|
+
type: 'admin' | 'customer' | 'lead' | 'bot' | 'guest' | 'integration';
|
|
2581
|
+
/**
|
|
2582
|
+
* Companies the author belongs to (customers only)
|
|
2583
|
+
*/
|
|
2584
|
+
companies?: Array<MatchingPartAuthor.Company>;
|
|
2585
|
+
/**
|
|
2586
|
+
* Email when known
|
|
2587
|
+
*/
|
|
2588
|
+
email?: string | null;
|
|
2589
|
+
/**
|
|
2590
|
+
* Display name when known
|
|
2591
|
+
*/
|
|
2592
|
+
name?: string | null;
|
|
2593
|
+
/**
|
|
2594
|
+
* Profile picture URL when known
|
|
2595
|
+
*/
|
|
2596
|
+
profilePicture?: string | null;
|
|
2597
|
+
}
|
|
2598
|
+
namespace MatchingPartAuthor {
|
|
2599
|
+
interface Company {
|
|
2600
|
+
id: string;
|
|
2601
|
+
name?: string;
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
interface Source {
|
|
2605
|
+
/**
|
|
2606
|
+
* Body of the initial message as HTML with signed image URLs
|
|
2607
|
+
*/
|
|
2608
|
+
bodyHtml: string;
|
|
2609
|
+
/**
|
|
2610
|
+
* Body of the initial message as markdown
|
|
2611
|
+
*/
|
|
2612
|
+
bodyMarkdown: string;
|
|
2613
|
+
/**
|
|
2614
|
+
* Channel through which the conversation was initiated
|
|
2615
|
+
*/
|
|
2616
|
+
channel: 'unknown' | 'desktop' | 'android' | 'ios' | 'email';
|
|
2617
|
+
author?: ConversationsAPI.ConversationParticipant;
|
|
2618
|
+
/**
|
|
2619
|
+
* How the conversation was initiated
|
|
2620
|
+
*/
|
|
2621
|
+
deliveredAs?: 'customer_initiated' | 'admin_initiated';
|
|
2622
|
+
/**
|
|
2623
|
+
* Subject line for email conversations
|
|
2624
|
+
*/
|
|
2625
|
+
subject?: string;
|
|
2626
|
+
/**
|
|
2627
|
+
* URL where the conversation was initiated
|
|
2628
|
+
*/
|
|
2629
|
+
url?: string;
|
|
2630
|
+
}
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
1936
2633
|
export interface ConversationCreateParams {
|
|
1937
2634
|
/**
|
|
1938
2635
|
* Body param: The content of the initial message in markdown format. Images
|
|
@@ -2116,6 +2813,38 @@ export interface ConversationDeleteParams {
|
|
|
2116
2813
|
*/
|
|
2117
2814
|
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2118
2815
|
}
|
|
2816
|
+
export interface ConversationAttachTagParams {
|
|
2817
|
+
/**
|
|
2818
|
+
* Body param: Required admin ID performing this tag attachment. Must be a member
|
|
2819
|
+
* of the organization so the mutation can be attributed to a real admin actor.
|
|
2820
|
+
*/
|
|
2821
|
+
actingAdminId: string;
|
|
2822
|
+
/**
|
|
2823
|
+
* Body param: The Featurebase tag ID to attach to the conversation.
|
|
2824
|
+
*/
|
|
2825
|
+
tagId: string;
|
|
2826
|
+
/**
|
|
2827
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2828
|
+
* configured API version if not specified.
|
|
2829
|
+
*/
|
|
2830
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2831
|
+
}
|
|
2832
|
+
export interface ConversationDetachTagParams {
|
|
2833
|
+
/**
|
|
2834
|
+
* Path param: Conversation ID (short ID)
|
|
2835
|
+
*/
|
|
2836
|
+
id: string;
|
|
2837
|
+
/**
|
|
2838
|
+
* Body param: Required admin ID performing this tag removal. Must be a member of
|
|
2839
|
+
* the organization so the mutation can be attributed to a real admin actor.
|
|
2840
|
+
*/
|
|
2841
|
+
actingAdminId: string;
|
|
2842
|
+
/**
|
|
2843
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2844
|
+
* configured API version if not specified.
|
|
2845
|
+
*/
|
|
2846
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2847
|
+
}
|
|
2119
2848
|
export interface ConversationRedactParams {
|
|
2120
2849
|
/**
|
|
2121
2850
|
* Body param: The conversation short ID that contains the part to redact
|
|
@@ -2209,9 +2938,82 @@ export declare namespace ConversationReplyParams {
|
|
|
2209
2938
|
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2210
2939
|
}
|
|
2211
2940
|
}
|
|
2941
|
+
export interface ConversationSearchParams {
|
|
2942
|
+
/**
|
|
2943
|
+
* Body param: An opaque cursor for pagination. Use the nextCursor value from a
|
|
2944
|
+
* previous response to fetch the next page of results.
|
|
2945
|
+
*/
|
|
2946
|
+
cursor?: string;
|
|
2947
|
+
/**
|
|
2948
|
+
* Body param: A limit on the number of objects to be returned, between 1 and 100.
|
|
2949
|
+
*/
|
|
2950
|
+
limit?: number;
|
|
2951
|
+
/**
|
|
2952
|
+
* Body param: Structured filter AST. Either a single filter clause or one
|
|
2953
|
+
* top-level AND group. Use this for filtering by `state`, `tag_ids`,
|
|
2954
|
+
* `admin_assignee_id`, etc.
|
|
2955
|
+
*/
|
|
2956
|
+
query?: ConversationSearchParams.ConversationSearchFilter | ConversationSearchParams.ConversationSearchFilterGroup;
|
|
2957
|
+
/**
|
|
2958
|
+
* Body param: Plain-text full-text search across conversation messages.
|
|
2959
|
+
* Server-managed - no operators, no field selection.
|
|
2960
|
+
*/
|
|
2961
|
+
search?: string;
|
|
2962
|
+
/**
|
|
2963
|
+
* Body param: Sort direction for filter mode (ignored in search mode where results
|
|
2964
|
+
* are sorted by relevance). Defaults to last_activity_at:desc.
|
|
2965
|
+
*/
|
|
2966
|
+
sort?: 'last_activity_at:desc' | 'last_activity_at:asc';
|
|
2967
|
+
/**
|
|
2968
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
2969
|
+
* configured API version if not specified.
|
|
2970
|
+
*/
|
|
2971
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
2972
|
+
}
|
|
2973
|
+
export declare namespace ConversationSearchParams {
|
|
2974
|
+
interface ConversationSearchFilter {
|
|
2975
|
+
/**
|
|
2976
|
+
* Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
|
|
2977
|
+
*/
|
|
2978
|
+
field: string;
|
|
2979
|
+
/**
|
|
2980
|
+
* Comparison operator
|
|
2981
|
+
*/
|
|
2982
|
+
operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '~' | '!~' | '^' | '$';
|
|
2983
|
+
/**
|
|
2984
|
+
* Value to compare against (primitive or array of primitives)
|
|
2985
|
+
*/
|
|
2986
|
+
value: string | number | boolean | Array<string | number> | null;
|
|
2987
|
+
}
|
|
2988
|
+
interface ConversationSearchFilterGroup {
|
|
2989
|
+
/**
|
|
2990
|
+
* Group operator: AND (all match) or OR (any match)
|
|
2991
|
+
*/
|
|
2992
|
+
operator: 'AND' | 'OR';
|
|
2993
|
+
/**
|
|
2994
|
+
* Array of filter clauses (1-15 entries)
|
|
2995
|
+
*/
|
|
2996
|
+
value: Array<ConversationSearchFilterGroup.Value>;
|
|
2997
|
+
}
|
|
2998
|
+
namespace ConversationSearchFilterGroup {
|
|
2999
|
+
interface Value {
|
|
3000
|
+
/**
|
|
3001
|
+
* Field name to filter on (e.g. `state`, `tag_ids`, `created_at`)
|
|
3002
|
+
*/
|
|
3003
|
+
field: string;
|
|
3004
|
+
/**
|
|
3005
|
+
* Comparison operator
|
|
3006
|
+
*/
|
|
3007
|
+
operator: '=' | '!=' | 'IN' | 'NIN' | '>' | '<' | '~' | '!~' | '^' | '$';
|
|
3008
|
+
/**
|
|
3009
|
+
* Value to compare against (primitive or array of primitives)
|
|
3010
|
+
*/
|
|
3011
|
+
value: string | number | boolean | Array<string | number> | null;
|
|
3012
|
+
}
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
2212
3015
|
export declare namespace Conversations {
|
|
2213
|
-
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 ConversationDeleteResponse as ConversationDeleteResponse, type ConversationsCursorPage as ConversationsCursorPage, type ConversationCreateParams as ConversationCreateParams, type ConversationRetrieveParams as ConversationRetrieveParams, type ConversationUpdateParams as ConversationUpdateParams, type ConversationListParams as ConversationListParams, type ConversationDeleteParams as ConversationDeleteParams, type ConversationRedactParams as ConversationRedactParams, type ConversationReplyParams as ConversationReplyParams, };
|
|
2214
|
-
export { Tags as Tags, type AttachedConversationTag as AttachedConversationTag, type ConversationTagMutationActor as ConversationTagMutationActor, type TagAttachParams as TagAttachParams, type TagDetachParams as TagDetachParams, };
|
|
3016
|
+
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 ConversationDeleteResponse as ConversationDeleteResponse, type ConversationAttachTagResponse as ConversationAttachTagResponse, type ConversationDetachTagResponse as ConversationDetachTagResponse, type ConversationSearchResponse as ConversationSearchResponse, type ConversationsCursorPage as ConversationsCursorPage, type ConversationCreateParams as ConversationCreateParams, type ConversationRetrieveParams as ConversationRetrieveParams, type ConversationUpdateParams as ConversationUpdateParams, type ConversationListParams as ConversationListParams, type ConversationDeleteParams as ConversationDeleteParams, type ConversationAttachTagParams as ConversationAttachTagParams, type ConversationDetachTagParams as ConversationDetachTagParams, type ConversationRedactParams as ConversationRedactParams, type ConversationReplyParams as ConversationReplyParams, type ConversationSearchParams as ConversationSearchParams, };
|
|
2215
3017
|
export { Participants as Participants, type ParticipantAddParams as ParticipantAddParams, type ParticipantRemoveParams as ParticipantRemoveParams, };
|
|
2216
3018
|
}
|
|
2217
3019
|
//# sourceMappingURL=conversations.d.mts.map
|