@epilot/sdk 2.20.67 → 2.20.69
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/definitions/message-runtime.json +1 -1
- package/definitions/message.json +1312 -14
- package/definitions/pricing.json +26 -5
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/chat.cjs +6 -6
- package/dist/apis/chat.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/external-values.cjs +6 -6
- package/dist/apis/external-values.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/identity.cjs +6 -6
- package/dist/apis/identity.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +8 -8
- package/dist/apis/message.d.cts +2 -2
- package/dist/apis/message.d.ts +2 -2
- package/dist/apis/message.js +2 -2
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/phone-integration.cjs +6 -6
- package/dist/apis/phone-integration.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.d.cts +2 -2
- package/dist/apis/pricing.d.ts +2 -2
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/chunk-AWYQVLER.cjs +14 -0
- package/dist/{chunk-OOBSXWVB.js → chunk-BVDXJ4QV.js} +3 -3
- package/dist/chunk-HQ3YHL5H.js +14 -0
- package/dist/{chunk-JJDDKFBB.cjs → chunk-PAMXQWNL.cjs} +3 -3
- package/dist/index.cjs +10 -10
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/message-AJJJK44K.js +7 -0
- package/dist/message-XIJPEF22.cjs +7 -0
- package/dist/{message-runtime-4JSNBEVL.cjs → message-runtime-ERSSQCHN.cjs} +2 -2
- package/dist/{message-runtime-7UM7U4VL.js → message-runtime-I7WFL4J3.js} +1 -1
- package/dist/{message.d-DwnqO-Us.d.cts → message.d-CRg7bM_m.d.cts} +384 -11
- package/dist/{message.d-DwnqO-Us.d.ts → message.d-CRg7bM_m.d.ts} +384 -11
- package/dist/pricing-5NJ44WPL.js +7 -0
- package/dist/pricing-CHSUNMN6.cjs +7 -0
- package/dist/{pricing.d-COKyUDXt.d.cts → pricing.d-B08Lrn3i.d.cts} +41 -2
- package/dist/{pricing.d-COKyUDXt.d.ts → pricing.d-B08Lrn3i.d.ts} +41 -2
- package/docs/message.md +403 -12
- package/docs/pricing.md +20 -0
- package/package.json +1 -1
- package/dist/chunk-EHLNSFCU.cjs +0 -14
- package/dist/chunk-OT6AETWN.js +0 -14
- package/dist/message-LJ32JH6Z.cjs +0 -7
- package/dist/message-SSTVRGEF.js +0 -7
- package/dist/pricing-HPUYS6FZ.cjs +0 -7
- package/dist/pricing-V6W36DFA.js +0 -7
package/dist/index.cjs
CHANGED
|
@@ -51,7 +51,7 @@ var _chunkVDMPIKANcjs = require('./chunk-VDMPIKAN.cjs');
|
|
|
51
51
|
var _chunkG3VDRMOHcjs = require('./chunk-G3VDRMOH.cjs');
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
var
|
|
54
|
+
var _chunkAWYQVLERcjs = require('./chunk-AWYQVLER.cjs');
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
var _chunkXNC4FWS2cjs = require('./chunk-XNC4FWS2.cjs');
|
|
@@ -170,7 +170,7 @@ var _chunkWOUASZJWcjs = require('./chunk-WOUASZJW.cjs');
|
|
|
170
170
|
|
|
171
171
|
|
|
172
172
|
|
|
173
|
-
var
|
|
173
|
+
var _chunkPAMXQWNLcjs = require('./chunk-PAMXQWNL.cjs');
|
|
174
174
|
|
|
175
175
|
|
|
176
176
|
var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
|
|
@@ -244,7 +244,7 @@ var resolveClient = (params) => {
|
|
|
244
244
|
}
|
|
245
245
|
if (!entry.instance) {
|
|
246
246
|
const definition = entry.loader();
|
|
247
|
-
entry.instance =
|
|
247
|
+
entry.instance = _chunkPAMXQWNLcjs.createApiClient.call(void 0, {
|
|
248
248
|
definition,
|
|
249
249
|
token: state.token,
|
|
250
250
|
headers: state.globalHeaders,
|
|
@@ -277,7 +277,7 @@ var resetAllClients = (registry) => {
|
|
|
277
277
|
};
|
|
278
278
|
|
|
279
279
|
// src/apis/_registry.ts
|
|
280
|
-
var expandDef = (mod) =>
|
|
280
|
+
var expandDef = (mod) => _chunkPAMXQWNLcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
|
|
281
281
|
var registerBuiltinApis = (registry) => {
|
|
282
282
|
registerApi({
|
|
283
283
|
registry,
|
|
@@ -442,7 +442,7 @@ var registerBuiltinApis = (registry) => {
|
|
|
442
442
|
registerApi({
|
|
443
443
|
registry,
|
|
444
444
|
name: "message",
|
|
445
|
-
loader: () => expandDef(
|
|
445
|
+
loader: () => expandDef(_chunkAWYQVLERcjs.require_message_runtime.call(void 0, ))
|
|
446
446
|
});
|
|
447
447
|
registerApi({
|
|
448
448
|
registry,
|
|
@@ -640,9 +640,9 @@ var createSDK = () => {
|
|
|
640
640
|
const available = [...registry.keys()].join(", ");
|
|
641
641
|
throw new Error(`Unknown API: "${name}". Available: ${available}`);
|
|
642
642
|
}
|
|
643
|
-
return
|
|
643
|
+
return _chunkPAMXQWNLcjs.createApiHandle.call(void 0, {
|
|
644
644
|
resolveClient: () => resolveClient({ registry, name, state }),
|
|
645
|
-
createClient: () =>
|
|
645
|
+
createClient: () => _chunkPAMXQWNLcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
|
|
646
646
|
apiName: name
|
|
647
647
|
});
|
|
648
648
|
};
|
|
@@ -690,9 +690,9 @@ var createSDK = () => {
|
|
|
690
690
|
return interceptorUse;
|
|
691
691
|
}
|
|
692
692
|
case "help":
|
|
693
|
-
return (apiName) =>
|
|
693
|
+
return (apiName) => _chunkPAMXQWNLcjs.help.call(void 0, apiName);
|
|
694
694
|
case "openapi":
|
|
695
|
-
return (apiName) =>
|
|
695
|
+
return (apiName) => _chunkPAMXQWNLcjs.openapi.call(void 0, apiName);
|
|
696
696
|
case "then":
|
|
697
697
|
case "catch":
|
|
698
698
|
case "finally":
|
|
@@ -722,4 +722,4 @@ var epilot = createSDK();
|
|
|
722
722
|
|
|
723
723
|
|
|
724
724
|
|
|
725
|
-
exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize =
|
|
725
|
+
exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkPAMXQWNLcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkPAMXQWNLcjs.help; exports.openapi = _chunkPAMXQWNLcjs.openapi;
|
package/dist/index.d.cts
CHANGED
|
@@ -35,7 +35,7 @@ import { C as Client$s } from './identity.d-BBL0NI_O.cjs';
|
|
|
35
35
|
import { C as Client$t } from './integration-toolkit.d-l5cgwHLa.cjs';
|
|
36
36
|
import { C as Client$u } from './journey.d-CMtM6U3Y.cjs';
|
|
37
37
|
import { C as Client$v } from './kanban.d-BHnSRCYW.cjs';
|
|
38
|
-
import { C as Client$w } from './message.d-
|
|
38
|
+
import { C as Client$w } from './message.d-CRg7bM_m.cjs';
|
|
39
39
|
import { C as Client$x } from './metering.d-BP04w-gR.cjs';
|
|
40
40
|
import { C as Client$y } from './notes.d-rbcyHfiB.cjs';
|
|
41
41
|
import { C as Client$z } from './notification.d-r89Jec85.cjs';
|
|
@@ -43,7 +43,7 @@ import { C as Client$A } from './organization.d-DqwnNxMg.cjs';
|
|
|
43
43
|
import { C as Client$B } from './partner-directory.d-BCIjHoGs.cjs';
|
|
44
44
|
import { C as Client$C } from './permissions.d-BKoyMhU7.cjs';
|
|
45
45
|
import { C as Client$D } from './phone-integration.d-ChHA2oGI.cjs';
|
|
46
|
-
import { C as Client$E } from './pricing.d-
|
|
46
|
+
import { C as Client$E } from './pricing.d-B08Lrn3i.cjs';
|
|
47
47
|
import { C as Client$F } from './pricing-tier.d-Cg0jl6n_.cjs';
|
|
48
48
|
import { C as Client$G } from './purpose.d-CbIYfTua.cjs';
|
|
49
49
|
import { C as Client$H } from './query.d-Cmp78IhZ.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ import { C as Client$s } from './identity.d-BBL0NI_O.js';
|
|
|
35
35
|
import { C as Client$t } from './integration-toolkit.d-l5cgwHLa.js';
|
|
36
36
|
import { C as Client$u } from './journey.d-CMtM6U3Y.js';
|
|
37
37
|
import { C as Client$v } from './kanban.d-BHnSRCYW.js';
|
|
38
|
-
import { C as Client$w } from './message.d-
|
|
38
|
+
import { C as Client$w } from './message.d-CRg7bM_m.js';
|
|
39
39
|
import { C as Client$x } from './metering.d-BP04w-gR.js';
|
|
40
40
|
import { C as Client$y } from './notes.d-rbcyHfiB.js';
|
|
41
41
|
import { C as Client$z } from './notification.d-r89Jec85.js';
|
|
@@ -43,7 +43,7 @@ import { C as Client$A } from './organization.d-DqwnNxMg.js';
|
|
|
43
43
|
import { C as Client$B } from './partner-directory.d-BCIjHoGs.js';
|
|
44
44
|
import { C as Client$C } from './permissions.d-BKoyMhU7.js';
|
|
45
45
|
import { C as Client$D } from './phone-integration.d-ChHA2oGI.js';
|
|
46
|
-
import { C as Client$E } from './pricing.d-
|
|
46
|
+
import { C as Client$E } from './pricing.d-B08Lrn3i.js';
|
|
47
47
|
import { C as Client$F } from './pricing-tier.d-Cg0jl6n_.js';
|
|
48
48
|
import { C as Client$G } from './purpose.d-CbIYfTua.js';
|
|
49
49
|
import { C as Client$H } from './query.d-Cmp78IhZ.js';
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
} from "./chunk-IQOCHPWU.js";
|
|
52
52
|
import {
|
|
53
53
|
require_message_runtime
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-HQ3YHL5H.js";
|
|
55
55
|
import {
|
|
56
56
|
require_metering_runtime
|
|
57
57
|
} from "./chunk-LE4OZS7T.js";
|
|
@@ -170,7 +170,7 @@ import {
|
|
|
170
170
|
expand,
|
|
171
171
|
help,
|
|
172
172
|
openapi
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-BVDXJ4QV.js";
|
|
174
174
|
import {
|
|
175
175
|
__require
|
|
176
176
|
} from "./chunk-YPSWSI3M.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./chunk-YPSWSI3M.js";
|
|
2
|
+
|
|
3
|
+
// src/docs/message.json
|
|
4
|
+
var message_default = '# Message API\n\n- **Base URL:** `https://message.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/message](https://docs.epilot.io/api/message)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.message.sendMessage(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/message\'\n\nconst messageClient = getClient()\nauthorize(messageClient, () => \'<token>\')\nconst { data } = await messageClient.sendMessage(...)\n```\n\n## Operations\n\n**Messages**\n- [`sendMessage`](#sendmessage)\n- [`updateMessage`](#updatemessage)\n- [`getMessage`](#getmessage)\n- [`deleteMessage`](#deletemessage)\n- [`getMessageEml`](#getmessageeml)\n- [`searchMessages`](#searchmessages)\n- [`trashMessage`](#trashmessage)\n- [`untrashMessage`](#untrashmessage)\n- [`markReadMessage`](#markreadmessage)\n- [`markReadMessageV2`](#markreadmessagev2)\n- [`markUnreadMessage`](#markunreadmessage)\n- [`getUnread`](#getunread)\n- [`getUnreadCounts`](#getunreadcounts)\n- [`markUnreadMessageV2`](#markunreadmessagev2)\n- [`spamMessage`](#spammessage)\n- [`unspamMessage`](#unspammessage)\n- [`getMessageV2`](#getmessagev2)\n\n**Threads**\n- [`searchThreads`](#searchthreads)\n- [`searchThreadsV2`](#searchthreadsv2)\n- [`searchIds`](#searchids)\n- [`getAssigneeWorkload`](#getassigneeworkload)\n- [`updateThread`](#updatethread)\n- [`deleteThread`](#deletethread)\n- [`moveThread`](#movethread)\n- [`markThreadAsDone`](#markthreadasdone)\n- [`markThreadAsOpen`](#markthreadasopen)\n- [`getThreadTimeline`](#getthreadtimeline)\n- [`getThreadSummary`](#getthreadsummary)\n- [`trashThread`](#trashthread)\n- [`untrashThread`](#untrashthread)\n- [`spamThread`](#spamthread)\n- [`unspamThread`](#unspamthread)\n- [`bulkMoveThreads`](#bulkmovethreads)\n- [`bulkAssignThreads`](#bulkassignthreads)\n- [`threadBulkActionsRead`](#threadbulkactionsread)\n- [`threadBulkActionsUnread`](#threadbulkactionsunread)\n- [`threadBulkActionsFavorite`](#threadbulkactionsfavorite)\n- [`threadBulkActionsUnfavorite`](#threadbulkactionsunfavorite)\n- [`threadBulkActionsTrash`](#threadbulkactionstrash)\n- [`threadBulkActionsUntrash`](#threadbulkactionsuntrash)\n- [`threadBulkActionsDelete`](#threadbulkactionsdelete)\n- [`threadBulkActionsDone`](#threadbulkactionsdone)\n- [`threadBulkActionsOpen`](#threadbulkactionsopen)\n- [`markReadThread`](#markreadthread)\n- [`markReadThreadV2`](#markreadthreadv2)\n- [`markUnreadThread`](#markunreadthread)\n- [`markUnreadThreadV2`](#markunreadthreadv2)\n- [`assignThread`](#assignthread)\n- [`dismissThreadLinkSuggestions`](#dismissthreadlinksuggestions)\n- [`unassignThread`](#unassignthread)\n- [`assignUsers`](#assignusers)\n- [`assignUsersV2`](#assignusersv2)\n- [`pinThread`](#pinthread)\n- [`unpinThread`](#unpinthread)\n\n**Drafts**\n- [`createDraft`](#createdraft)\n- [`sendDraft`](#senddraft)\n\n**Schemas**\n- [`ErrorResponse`](#errorresponse)\n- [`MoveThreadPayload`](#movethreadpayload)\n- [`BaseEntity`](#baseentity)\n- [`Thread`](#thread)\n- [`Message`](#message)\n- [`MessageV2`](#messagev2)\n- [`Address`](#address)\n- [`AttachmentsRelation`](#attachmentsrelation)\n- [`File`](#file)\n- [`MessageRequestParams`](#messagerequestparams)\n- [`ThreadView`](#threadview)\n- [`UnreadCountScope`](#unreadcountscope)\n- [`UnreadCountsPayload`](#unreadcountspayload)\n- [`UnreadCountsResult`](#unreadcountsresult)\n- [`UnreadCountBuckets`](#unreadcountbuckets)\n- [`SearchParamsV2`](#searchparamsv2)\n- [`SearchParams`](#searchparams)\n- [`SearchIDParams`](#searchidparams)\n- [`AssigneeWorkloadParams`](#assigneeworkloadparams)\n- [`AssigneeWorkload`](#assigneeworkload)\n- [`AssigneeWorkloadResults`](#assigneeworkloadresults)\n- [`ReadMessagePayload`](#readmessagepayload)\n- [`ReadingScope`](#readingscope)\n- [`ThreadReplyContext`](#threadreplycontext)\n- [`ReplyContextMessage`](#replycontextmessage)\n- [`ReplyContextEntityRef`](#replycontextentityref)\n- [`ThreadSummary`](#threadsummary)\n- [`ThreadSummaryPayload`](#threadsummarypayload)\n- [`ThreadSummaryEntityRef`](#threadsummaryentityref)\n- [`ThreadSummaryContext`](#threadsummarycontext)\n- [`SimilarSentMessagesRequest`](#similarsentmessagesrequest)\n- [`SimilarSentMessagesResponse`](#similarsentmessagesresponse)\n- [`SimilarSentMessage`](#similarsentmessage)\n- [`ThreadTimeline`](#threadtimeline)\n- [`ThreadDoneEvent`](#threaddoneevent)\n- [`ThreadOpenEvent`](#threadopenevent)\n- [`WorkflowStartedEvent`](#workflowstartedevent)\n- [`ThreadUserAssignedEvent`](#threaduserassignedevent)\n- [`MessageLabelAddedEvent`](#messagelabeladdedevent)\n- [`MessageLabelRemovedEvent`](#messagelabelremovedevent)\n- [`MessageEntityLinkedEvent`](#messageentitylinkedevent)\n- [`MessageEntityUnlinkedEvent`](#messageentityunlinkedevent)\n- [`MessageAutoReplySentEvent`](#messageautoreplysentevent)\n- [`ThreadMovedToInboxEvent`](#threadmovedtoinboxevent)\n- [`ThreadTrashedEvent`](#threadtrashedevent)\n- [`ThreadRestoredEvent`](#threadrestoredevent)\n- [`LinkSuggestionCandidate`](#linksuggestioncandidate)\n- [`LinkSuggestion`](#linksuggestion)\n- [`TimelineLinkSuggestion`](#timelinelinksuggestion)\n- [`MessageEntityLinkSuggestedEvent`](#messageentitylinksuggestedevent)\n- [`MessageEntityLinkSuggestionDismissedEvent`](#messageentitylinksuggestiondismissedevent)\n- [`TimelineLinkedEntity`](#timelinelinkedentity)\n- [`TimelineActor`](#timelineactor)\n- [`TimelineEventData`](#timelineeventdata)\n- [`TimelineEvent`](#timelineevent)\n- [`BulkActionsPayloadWithScopes`](#bulkactionspayloadwithscopes)\n- [`BulkActionsPayload`](#bulkactionspayload)\n- [`FieldsParam`](#fieldsparam)\n\n### `sendMessage`\n\nSend an email message\n\n`POST /v1/message/messages`\n\n```ts\nconst { data } = await client.sendMessage(\n {\n do_not_create_entities: true,\n },\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `updateMessage`\n\nUpdate message metadata\n\n`PUT /v1/message/messages`\n\n```ts\nconst { data } = await client.updateMessage()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `getMessage`\n\nGet an email message by id\n\n`GET /v1/message/messages/{id}`\n\n```ts\nconst { data } = await client.getMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `deleteMessage`\n\nImmediately and permanently delete a message. This operation cannot be undone.\n\n`DELETE /v1/message/messages/{id}`\n\n```ts\nconst { data } = await client.deleteMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getMessageEml`\n\nDownload a message as an EML file.\nReturns a 302 redirect to a pre-signed S3 URL where the EML file can be downloaded.\n\n`GET /v1/message/messages/{id}/eml`\n\n```ts\nconst { data } = await client.getMessageEml({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `searchMessages`\n\nSearch Messages\n\n`POST /v1/message/messages:search`\n\n```ts\nconst { data } = await client.searchMessages(\n null,\n {\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\',\n view: {\n folder: \'inbox\',\n mailbox: \'organization\',\n labels: [\'string\'],\n purposes: [\'string\'],\n filters: [\'unread\'],\n from: [\'string\'],\n to: [\'string\'],\n assigned_to: [\'string\'],\n include_unassigned: true,\n date_from_days_ago: 0,\n date_to_days_ago: 0,\n email_filter: [\'string\'],\n text: \'string\',\n thread_ids: [\'string\'],\n pinned_by: \'string\'\n },\n user_groups: [\'string\'],\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\'],\n from: 0,\n size: 10,\n hydrate: false,\n include_scores: false,\n sort: \'string\',\n highlight: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `trashMessage`\n\nMove a message to the trash\n\n`POST /v1/message/messages/{id}/trash`\n\n```ts\nconst { data } = await client.trashMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `untrashMessage`\n\nRestore a trashed message\n\n`POST /v1/message/messages/{id}/untrash`\n\n```ts\nconst { data } = await client.untrashMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markReadMessage`\n\nMark message as read\n\n`POST /v1/message/messages/{id}/read`\n\n```ts\nconst { data } = await client.markReadMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markReadMessageV2`\n\nMark message as read within a scope\n\n`POST /v2/message/messages/{id}/read`\n\n```ts\nconst { data } = await client.markReadMessageV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `markUnreadMessage`\n\nMark message as unread\n\n`POST /v1/message/messages/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getUnread`\n\nGet all unread messages by actor\n\n`GET /v1/message/messages/unread/{actor}`\n\n```ts\nconst { data } = await client.getUnread({\n actor: \'example\',\n email_filter: [\'...\'],\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "count": 14,\n "unread": 0,\n "drafts": 12,\n "unassigned": 1,\n "spam": 3\n}\n```\n\n</details>\n\n---\n\n### `getUnreadCounts`\n\nUnread counts for several named scopes in one request.\n\n`POST /v1/message/unread:counts`\n\n```ts\nconst { data } = await client.getUnreadCounts(\n null,\n {\n actor: \'organization\',\n email_filter: [\'string\'],\n user_groups: [\'string\'],\n scopes: [\n {\n name: \'inbox-support\',\n type: \'organization\',\n q: \'_tags.keyword:inbox AND !_tags.keyword:trash\',\n view_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "enabled": true,\n "counts": {},\n "omitted": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `markUnreadMessageV2`\n\nMark message as unread within a scope\n\n`POST /v2/message/messages/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadMessageV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `searchThreads`\n\nSearch for threads of email messages.\n\n`POST /v1/message/threads:search`\n\n```ts\nconst { data } = await client.searchThreads(\n null,\n {\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\',\n from: 0,\n size: 10,\n hydrate: false\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "topic": "CUSTOMER_MESSAGE",\n "assigned_to": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "done": false,\n "latest_message": {},\n "latest_trash_message": {},\n "latest_message_at": "2024-02-10T09:14:31.990Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchThreadsV2`\n\nSearch for threads of email messages.\n\n`POST /v2/message/threads:search`\n\n```ts\nconst { data } = await client.searchThreadsV2(\n null,\n {\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\',\n view: {\n folder: \'inbox\',\n mailbox: \'organization\',\n labels: [\'string\'],\n purposes: [\'string\'],\n filters: [\'unread\'],\n from: [\'string\'],\n to: [\'string\'],\n assigned_to: [\'string\'],\n include_unassigned: true,\n date_from_days_ago: 0,\n date_to_days_ago: 0,\n email_filter: [\'string\'],\n text: \'string\',\n thread_ids: [\'string\'],\n pinned_by: \'string\'\n },\n user_groups: [\'string\'],\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\'],\n from: 0,\n size: 10,\n hydrate: false,\n include_scores: false,\n sort: \'string\',\n highlight: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "topic": "CUSTOMER_MESSAGE",\n "assigned_to": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "done": false,\n "latest_message": {},\n "latest_trash_message": {},\n "latest_message_at": "2024-02-10T09:14:31.990Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchIds`\n\nSearch threads and return all id\'s\n\n`POST /v1/message/threads:searchIds`\n\n```ts\nconst { data } = await client.searchIds(\n null,\n {\n view: {\n folder: \'inbox\',\n mailbox: \'organization\',\n labels: [\'string\'],\n purposes: [\'string\'],\n filters: [\'unread\'],\n from: [\'string\'],\n to: [\'string\'],\n assigned_to: [\'string\'],\n include_unassigned: true,\n date_from_days_ago: 0,\n date_to_days_ago: 0,\n email_filter: [\'string\'],\n text: \'string\',\n thread_ids: [\'string\'],\n pinned_by: \'string\'\n },\n user_groups: [\'string\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `getAssigneeWorkload`\n\nReturn the open-thread workload for a set of user ids.\n\n`POST /v2/message/threads:workload`\n\n```ts\nconst { data } = await client.getAssigneeWorkload(\n null,\n {\n user_ids: [\'11000902\', \'11001053\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "workloads": [\n {\n "user_id": "11000902",\n "open_threads": 2\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateThread`\n\nModify thread metadata\n\n`PUT /v1/message/threads`\n\n```ts\nconst { data } = await client.updateThread()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "topic": "CUSTOMER_MESSAGE",\n "assigned_to": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "done": false,\n "latest_message": {\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {}\n ],\n "cc": [\n {}\n ],\n "bcc": [\n {}\n ],\n "file": {\n "$relation": []\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n },\n "latest_trash_message": {\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {}\n ],\n "cc": [\n {}\n ],\n "bcc": [\n {}\n ],\n "file": {\n "$relation": []\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n },\n "latest_message_at": "2024-02-10T09:14:31.990Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteThread`\n\nImmediately and permanently delete a thread. This operation cannot be undone.\n\n`DELETE /v1/message/threads/{id}`\n\n```ts\nconst { data } = await client.deleteThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `moveThread`\n\nMove thread to a different Inbox\n\n`POST /v1/message/threads/{id}:move`\n\n```ts\nconst { data } = await client.moveThread(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\'\n },\n)\n```\n\n---\n\n### `markThreadAsDone`\n\nMark thread as done\n\n`POST /v1/message/threads/{id}:markAsDone`\n\n```ts\nconst { data } = await client.markThreadAsDone({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markThreadAsOpen`\n\nMark thread as open\n\n`POST /v1/message/threads/{id}:markAsOpen`\n\n```ts\nconst { data } = await client.markThreadAsOpen({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getThreadTimeline`\n\nGet thread timeline\n\n`GET /v1/message/threads/{id}/timeline`\n\n```ts\nconst { data } = await client.getThreadTimeline({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "events": [\n {\n "id": "string",\n "data": {\n "type": "THREAD_DONE",\n "user_id": "123",\n "organization_id": "456"\n },\n "timestamp": "2024-01-01T00:00:00Z",\n "message_id": "string",\n "source": "user",\n "automated": true,\n "actor": {\n "user_id": "string",\n "email": "string"\n },\n "automation": {\n "id": "string",\n "name": "string"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getThreadSummary`\n\nAI summary of a thread. Returns `202` while it is generated; poll until `jobStatus.status` is `COMPLETED` or `FAILED`.\n\n`GET /v1/message/threads/{id}/summary`\n\n```ts\nconst { data } = await client.getThreadSummary({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n message_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "orgId": "string",\n "jobId": "string",\n "executionId": "string",\n "jobStatus": {\n "status": "INITIATED",\n "error": "string"\n },\n "payload": {\n "summary": ["string"],\n "topics": ["string"],\n "next_steps": ["string"],\n "refs": [\n {\n "id": "string",\n "displayText": "Raven GmbH",\n "schema": "contact"\n }\n ]\n },\n "createdAt": "1970-01-01T00:00:00.000Z",\n "updatedAt": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `trashThread`\n\nMove a thread to trash\n\n`POST /v1/message/threads/{id}/trash`\n\n```ts\nconst { data } = await client.trashThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `untrashThread`\n\nRestore a trashed thread\n\n`POST /v1/message/threads/{id}/untrash`\n\n```ts\nconst { data } = await client.untrashThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `spamThread`\n\nMark a thread as spam\n\n`POST /v1/message/threads/{id}/spam`\n\n```ts\nconst { data } = await client.spamThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `unspamThread`\n\nRemove spam marking from a thread\n\n`POST /v1/message/threads/{id}/unspam`\n\n```ts\nconst { data } = await client.unspamThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `spamMessage`\n\nMark a single message as spam. Also marks the parent thread as spam if all messages in the thread are spam.\n\n`POST /v1/message/messages/{id}/spam`\n\n```ts\nconst { data } = await client.spamMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `unspamMessage`\n\nRemove spam marking from a single message. Also removes spam from the parent thread if no other messages are spam.\n\n`POST /v1/message/messages/{id}/unspam`\n\n```ts\nconst { data } = await client.unspamMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `bulkMoveThreads`\n\nMove many threads to a different inbox\n\n`POST /v1/message/threads/bulk:move`\n\n```ts\nconst { data } = await client.bulkMoveThreads(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `bulkAssignThreads`\n\nAssign many threads\n\n`POST /v1/message/threads/bulk:assign`\n\n```ts\nconst { data } = await client.bulkAssignThreads(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsRead`\n\nPerform a bulk action of marking an array of thread ids as read\n\n`POST /v1/message/threads/bulk:read`\n\n```ts\nconst { data } = await client.threadBulkActionsRead(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsUnread`\n\nPerform a bulk action of marking an array of thread ids as unread\n\n`POST /v1/message/threads/bulk:unread`\n\n```ts\nconst { data } = await client.threadBulkActionsUnread(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsFavorite`\n\nPerform a bulk action of marking an array of thread ids favorite\n\n`POST /v1/message/threads/bulk:favorite`\n\n```ts\nconst { data } = await client.threadBulkActionsFavorite(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsUnfavorite`\n\nPerform a bulk action of marking an array of thread ids unfavorited\n\n`POST /v1/message/threads/bulk:unfavorite`\n\n```ts\nconst { data } = await client.threadBulkActionsUnfavorite(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsTrash`\n\nPerform a bulk action of trashing an array of threads\n\n`POST /v1/message/threads/bulk:trash`\n\n```ts\nconst { data } = await client.threadBulkActionsTrash(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsUntrash`\n\nPerform a bulk action of untrashing an array of threads\n\n`POST /v1/message/threads/bulk:untrash`\n\n```ts\nconst { data } = await client.threadBulkActionsUntrash(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsDelete`\n\nPerforms a bulk permanent delete for all threads\n\n`POST /v1/message/threads/bulk:delete`\n\n```ts\nconst { data } = await client.threadBulkActionsDelete(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsDone`\n\nPerform a bulk action of marking an array of threads as done\n\n`POST /v1/message/threads/bulk:done`\n\n```ts\nconst { data } = await client.threadBulkActionsDone(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsOpen`\n\nPerform a bulk action of marking an array of threads as open\n\n`POST /v1/message/threads/bulk:open`\n\n```ts\nconst { data } = await client.threadBulkActionsOpen(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `markReadThread`\n\nMark thread as read\n\n`POST /v1/message/threads/{id}/read`\n\n```ts\nconst { data } = await client.markReadThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markReadThreadV2`\n\nMark thread as read within a scope\n\n`POST /v2/message/threads/{id}/read`\n\n```ts\nconst { data } = await client.markReadThreadV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `markUnreadThread`\n\nMark thread as unread\n\n`POST /v1/message/threads/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markUnreadThreadV2`\n\nMark thread as unread within a scope\n\n`POST /v2/message/threads/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadThreadV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `assignThread`\n\nAssign thread to entities\n\n`POST /v1/message/threads/{id}/assign`\n\n```ts\nconst { data } = await client.assignThread(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n [\n {\n slug: \'contact\',\n entity_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n org_id: \'206801\',\n is_main_entity: true\n }\n ],\n)\n```\n\n---\n\n### `dismissThreadLinkSuggestions`\n\nDismiss pending candidates of entity-link suggestions on a thread. A suggestion is recorded on a message when an identifier in it matched entities of different customers, so nothing was linked automat\n\n`POST /v1/message/threads/{id}/link-suggestions/dismiss`\n\n```ts\nconst { data } = await client.dismissThreadLinkSuggestions(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n suggestion_ids: [\'string\'],\n entity_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "dismissed": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `unassignThread`\n\nUnassign thread from entities\n\n`POST /v1/message/threads/{id}/unassign`\n\n```ts\nconst { data } = await client.unassignThread(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n unlink_mapped_entities: true,\n },\n [\n {\n slug: \'contact\',\n entity_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\'\n }\n ],\n)\n```\n\n---\n\n### `assignUsers`\n\nAssign users to thread for receiving notifications.\nThe operation replaces all existing assigned users in thread.\n\n`POST /v1/message/threads/{id}/assign:users`\n\n```ts\nconst { data } = await client.assignUsers(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n assigned_to: [\'206801\']\n },\n)\n```\n\n---\n\n### `assignUsersV2`\n\nAssign users to thread.\n\n`POST /v2/message/threads/{id}/assign:users`\n\n```ts\nconst { data } = await client.assignUsersV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n add: [\'206801\'],\n remove: [\'206801\']\n },\n)\n```\n\n---\n\n### `pinThread`\n\nPin a single thread\n\n`POST /v1/message/threads/{id}:pin`\n\n```ts\nconst { data } = await client.pinThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `unpinThread`\n\nUnpin a single thread\n\n`DELETE /v1/message/threads/{id}:pin`\n\n```ts\nconst { data } = await client.unpinThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `createDraft`\n\nCreate a new draft\n\n`POST /v1/message/drafts`\n\n```ts\nconst { data } = await client.createDraft(\n null,\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `sendDraft`\n\nSend the existing draft to the recipients.\n\n`POST /v1/message/drafts:send`\n\n```ts\nconst { data } = await client.sendDraft()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `getMessageV2`\n\n- Fetches message by ID\n- If the message html is omitted on the entity, then it keeps the content on the message as a signed url\n {\n ...\n _id: "4d74976d-fb64-47fd-85e2-65eea140f5eb",\n _schem\n\n`GET /v2/message/messages/{id}`\n\n```ts\nconst { data } = await client.getMessageV2({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "link_suggestions": [\n {\n "id": "string",\n "identifier": "string",\n "found_in": "string",\n "status": "pending",\n "candidates": [],\n "accepted_entity_ids": ["string"],\n "resolved_by": {},\n "resolved_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "html_omitted": false,\n "html_download_url": "https://s3.eu-central-1.amazonaws.com/epilot-attachments/3f34ce73-089c-4d45-a5ee-c161234e41c3/3f34ce73-089c-4d45-a5ee-c161234e41c3.html",\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {}\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n error?: string\n}\n```\n\n### `MoveThreadPayload`\n\n```ts\ntype MoveThreadPayload = {\n inbox_id: string\n}\n```\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `Thread`\n\nThread properties depend on API caller as it\'s not pre-defined. We do recommend having at least `topic` property for categorizing.\n\n```ts\ntype Thread = {\n topic: string\n assigned_to?: string[]\n org_read_message?: string[]\n done?: boolean\n latest_message?: {\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n reply_to?: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n to?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n cc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n bcc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n file?: {\n $relation?: { ... }\n }\n references?: string\n in_reply_to?: string\n user_read_message?: string[]\n org_read_message?: string[]\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"[]\n type?: "SENT" | "RECEIVED"\n template_id?: string\n }\n latest_trash_message?: {\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n reply_to?: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n to?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n cc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n bcc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n // ...\n}\n```\n\n### `Message`\n\n```ts\ntype Message = {\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n reply_to?: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n to?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n cc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n bcc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n file?: {\n $relation?: Array<{\n entity_id: { ... }\n filename?: { ... }\n is_message_attachment?: { ... }\n may_be_signature_attachment?: { ... }\n cid?: { ... }\n inline?: { ... }\n send_as_link?: { ... }\n save_to_entity?: { ... }\n }>\n }\n references?: string\n in_reply_to?: string\n user_read_message?: string[]\n org_read_message?: string[]\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"[]\n type?: "SENT" | "RECEIVED"\n template_id?: string\n}\n```\n\n### `MessageV2`\n\n```ts\ntype MessageV2 = {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n reply_to?: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n to?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n cc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n bcc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n file?: {\n $relation?: Array<{\n entity_id: { ... }\n filename?: { ... }\n is_message_attachment?: { ... }\n may_be_signature_attachment?: { ... }\n cid?: { ... }\n inline?: { ... }\n send_as_link?: { ... }\n save_to_entity?: { ... }\n }>\n }\n references?: string\n in_reply_to?: string\n user_read_message?: string[]\n org_read_message?: string[]\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"[]\n type?: "SENT" | "RECEIVED"\n template_id?: string\n}\n```\n\n### `Address`\n\n```ts\ntype Address = {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n}\n```\n\n### `AttachmentsRelation`\n\nMessage attachments\n\n```ts\ntype AttachmentsRelation = {\n $relation?: Array<{\n entity_id: string\n filename?: string\n is_message_attachment?: boolean\n may_be_signature_attachment?: boolean\n cid?: string\n inline?: boolean\n send_as_link?: boolean\n save_to_entity?: boolean\n }>\n}\n```\n\n### `File`\n\n```ts\ntype File = {\n entity_id: string\n filename?: string\n is_message_attachment?: boolean\n may_be_signature_attachment?: boolean\n cid?: string\n inline?: boolean\n send_as_link?: boolean\n save_to_entity?: boolean\n}\n```\n\n### `MessageRequestParams`\n\n```ts\ntype MessageRequestParams = {\n complete_thread?: boolean\n mark_thread_as_read?: boolean\n thread?: {\n topic: string\n assigned_to?: string[]\n }\n parent_id?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n reply_to?: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n to?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n cc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n bcc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n file?: {\n $relation?: Array<{\n entity_id: { ... }\n filename?: { ... }\n is_message_attachment?: { ... }\n may_be_signature_attachment?: { ... }\n cid?: { ... }\n inline?: { ... }\n send_as_link?: { ... }\n save_to_entity?: { ... }\n }>\n }\n template_id?: string\n source?: "manual" | "automation" | "workflow" | "partner" | "bulk" | "system"\n}\n```\n\n### `ThreadView`\n\nA central-inbox view, described structurally so the server compiles the query for it. Both the\nthread list and the unread count for a view are compiled from the same description, so the two\ncannot disagree about what the view means.\n\nEvery field is optional and an omitted field adds no condition, so\n\n```ts\ntype ThreadView = {\n folder?: "inbox" | "favorite" | "sent" | "trash" | "spam" | "unassignable" | "draft"\n mailbox?: "organization" | "agent"\n labels?: string[]\n purposes?: string[]\n filters?: "unread" | "resolved" | "trash"[]\n from?: string[]\n to?: string[]\n assigned_to?: string[]\n include_unassigned?: boolean\n date_from_days_ago?: number\n date_to_days_ago?: number\n email_filter?: string[]\n text?: string\n thread_ids?: string[]\n pinned_by?: string\n}\n```\n\n### `UnreadCountScope`\n\n```ts\ntype UnreadCountScope = {\n name: string\n type: "organization" | "shared_inbox" | "saved_view"\n q?: string\n view_id?: string\n inbox_id?: string | string[]\n}\n```\n\n### `UnreadCountsPayload`\n\n```ts\ntype UnreadCountsPayload = {\n actor: "organization" | "user"\n email_filter?: string[]\n user_groups?: string[]\n scopes: Array<{\n name: string\n type: "organization" | "shared_inbox" | "saved_view"\n q?: string\n view_id?: string\n inbox_id?: string | string[]\n }>\n}\n```\n\n### `UnreadCountsResult`\n\n```ts\ntype UnreadCountsResult = {\n enabled: boolean\n counts: Record<string, {\n unread: number\n drafts?: number\n unassigned?: number\n spam?: number\n }>\n omitted?: string[]\n}\n```\n\n### `UnreadCountBuckets`\n\n```ts\ntype UnreadCountBuckets = {\n unread: number\n drafts?: number\n unassigned?: number\n spam?: number\n}\n```\n\n### `SearchParamsV2`\n\n```ts\ntype SearchParamsV2 = {\n inbox_id?: string | string[]\n q?: string\n view?: {\n folder?: "inbox" | "favorite" | "sent" | "trash" | "spam" | "unassignable" | "draft"\n mailbox?: "organization" | "agent"\n labels?: string[]\n purposes?: string[]\n filters?: "unread" | "resolved" | "trash"[]\n from?: string[]\n to?: string[]\n assigned_to?: string[]\n include_unassigned?: boolean\n date_from_days_ago?: number\n date_to_days_ago?: number\n email_filter?: string[]\n text?: string\n thread_ids?: string[]\n pinned_by?: string\n }\n user_groups?: string[]\n fields?: string[]\n from?: number\n size?: number\n hydrate?: boolean\n include_scores?: boolean\n sort?: string\n highlight?: unknown\n}\n```\n\n### `SearchParams`\n\n```ts\ntype SearchParams = {\n q: string\n from?: number\n size?: number\n hydrate?: boolean\n}\n```\n\n### `SearchIDParams`\n\n```ts\ntype SearchIDParams = {\n view?: {\n folder?: "inbox" | "favorite" | "sent" | "trash" | "spam" | "unassignable" | "draft"\n mailbox?: "organization" | "agent"\n labels?: string[]\n purposes?: string[]\n filters?: "unread" | "resolved" | "trash"[]\n from?: string[]\n to?: string[]\n assigned_to?: string[]\n include_unassigned?: boolean\n date_from_days_ago?: number\n date_to_days_ago?: number\n email_filter?: string[]\n text?: string\n thread_ids?: string[]\n pinned_by?: string\n }\n user_groups?: string[]\n inbox_id?: string | string[]\n q?: string\n}\n```\n\n### `AssigneeWorkloadParams`\n\n```ts\ntype AssigneeWorkloadParams = {\n user_ids: string[]\n}\n```\n\n### `AssigneeWorkload`\n\n```ts\ntype AssigneeWorkload = {\n user_id: string\n open_threads: number\n}\n```\n\n### `AssigneeWorkloadResults`\n\n```ts\ntype AssigneeWorkloadResults = {\n workloads: Array<{\n user_id: string\n open_threads: number\n }>\n}\n```\n\n### `ReadMessagePayload`\n\n```ts\ntype ReadMessagePayload = {\n scopes: "organization" | "user"[]\n}\n```\n\n### `ReadingScope`\n\nWho is marking an item as read or unread.\n\n```ts\ntype ReadingScope = "organization" | "user"\n```\n\n### `ThreadReplyContext`\n\n```ts\ntype ThreadReplyContext = {\n thread_id: string\n topic?: string\n reply_to_message_id?: string\n messages: Array<{\n id: string\n created_at?: string // date-time\n type: "RECEIVED" | "SENT"\n role: "customer" | "agent" | "partner"\n subject?: string\n from?: {\n address?: { ... }\n name?: { ... }\n }\n text: string\n }>\n related_entities: Array<{\n _id: string\n _schema: string\n }>\n}\n```\n\n### `ReplyContextMessage`\n\n```ts\ntype ReplyContextMessage = {\n id: string\n created_at?: string // date-time\n type: "RECEIVED" | "SENT"\n role: "customer" | "agent" | "partner"\n subject?: string\n from?: {\n address?: string\n name?: string\n }\n text: string\n}\n```\n\n### `ReplyContextEntityRef`\n\n```ts\ntype ReplyContextEntityRef = {\n _id: string\n _schema: string\n}\n```\n\n### `ThreadSummary`\n\n```ts\ntype ThreadSummary = {\n orgId: string\n jobId: string\n executionId?: string\n jobStatus: {\n status: "INITIATED" | "IN_PROGRESS" | "COMPLETED" | "FAILED"\n error?: string\n }\n payload?: {\n summary?: string[]\n topics?: string[]\n next_steps?: string[]\n refs?: Array<{\n id: { ... }\n displayText: { ... }\n schema: { ... }\n }>\n }\n createdAt: string // date-time\n updatedAt: string // date-time\n}\n```\n\n### `ThreadSummaryPayload`\n\nPresent once the summary is generated\n\n```ts\ntype ThreadSummaryPayload = {\n summary?: string[]\n topics?: string[]\n next_steps?: string[]\n refs?: Array<{\n id: string\n displayText: string\n schema: string\n }>\n}\n```\n\n### `ThreadSummaryEntityRef`\n\n```ts\ntype ThreadSummaryEntityRef = {\n id: string\n displayText: string\n schema: string\n}\n```\n\n### `ThreadSummaryContext`\n\n```ts\ntype ThreadSummaryContext = {\n thread_id: string\n message_id: string\n subject: string\n conversation: string\n entity_context: string\n}\n```\n\n### `SimilarSentMessagesRequest`\n\n```ts\ntype SimilarSentMessagesRequest = {\n queries: string[]\n limit?: number\n min_score?: number\n}\n```\n\n### `SimilarSentMessagesResponse`\n\n```ts\ntype SimilarSentMessagesResponse = {\n results: Array<{\n message_id: string\n thread_id?: string\n subject?: string\n text: string\n created_at?: string\n score: number\n }>\n}\n```\n\n### `SimilarSentMessage`\n\n```ts\ntype SimilarSentMessage = {\n message_id: string\n thread_id?: string\n subject?: string\n text: string\n created_at?: string\n score: number\n}\n```\n\n### `ThreadTimeline`\n\n```ts\ntype ThreadTimeline = {\n events: Array<{\n id?: string\n data: {\n type: { ... }\n user_id: { ... }\n organization_id: { ... }\n } | {\n type: { ... }\n user_id: { ... }\n organization_id: { ... }\n } | {\n type: { ... }\n workflow_id?: { ... }\n workflow_name?: { ... }\n } | {\n type: { ... }\n added?: { ... }\n removed?: { ... }\n } | {\n type: { ... }\n label: { ... }\n label_name?: { ... }\n } | {\n type: { ... }\n label: { ... }\n label_name?: { ... }\n } | {\n type: { ... }\n entities?: { ... }\n link_kind?: { ... }\n from_suggestion?: { ... }\n } | {\n type: { ... }\n entities?: { ... }\n link_kind?: { ... }\n } | {\n type: { ... }\n suggestions?: { ... }\n } | {\n type: { ... }\n suggestions?: { ... }\n } | {\n type: { ... }\n reply_message_id?: { ... }\n parent_message_id?: { ... }\n } | {\n type: { ... }\n target_inbox_id?: { ... }\n target_inbox_name?: { ... }\n } | {\n type: { ... }\n } | {\n type: { ... }\n }\n timestamp: string\n message_id?: string\n source?: "user" | "automation" | "system"\n automated?: boolean\n actor?: {\n user_id?: { ... }\n email?: { ... }\n }\n automation?: {\n id?: { ... }\n name?: { ... }\n }\n }>\n}\n```\n\n### `ThreadDoneEvent`\n\n```ts\ntype ThreadDoneEvent = {\n type: "THREAD_DONE"\n user_id: string\n organization_id: string\n}\n```\n\n### `ThreadOpenEvent`\n\n```ts\ntype ThreadOpenEvent = {\n type: "THREAD_OPEN"\n user_id: string\n organization_id: string\n}\n```\n\n### `WorkflowStartedEvent`\n\n```ts\ntype WorkflowStartedEvent = {\n type: "WORKFLOW_STARTED"\n workflow_id?: string\n workflow_name?: string\n}\n```\n\n### `ThreadUserAssignedEvent`\n\n```ts\ntype ThreadUserAssignedEvent = {\n type: "THREAD_USER_ASSIGNED"\n added?: string[]\n removed?: string[]\n}\n```\n\n### `MessageLabelAddedEvent`\n\n```ts\ntype MessageLabelAddedEvent = {\n type: "MESSAGE_LABEL_ADDED"\n label: string\n label_name?: string\n}\n```\n\n### `MessageLabelRemovedEvent`\n\n```ts\ntype MessageLabelRemovedEvent = {\n type: "MESSAGE_LABEL_REMOVED"\n label: string\n label_name?: string\n}\n```\n\n### `MessageEntityLinkedEvent`\n\n```ts\ntype MessageEntityLinkedEvent = {\n type: "MESSAGE_ENTITY_LINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n from_suggestion?: boolean\n}\n```\n\n### `MessageEntityUnlinkedEvent`\n\n```ts\ntype MessageEntityUnlinkedEvent = {\n type: "MESSAGE_ENTITY_UNLINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n}\n```\n\n### `MessageAutoReplySentEvent`\n\n```ts\ntype MessageAutoReplySentEvent = {\n type: "MESSAGE_AUTO_REPLY_SENT"\n reply_message_id?: string\n parent_message_id?: string\n}\n```\n\n### `ThreadMovedToInboxEvent`\n\n```ts\ntype ThreadMovedToInboxEvent = {\n type: "THREAD_MOVED_TO_INBOX"\n target_inbox_id?: string\n target_inbox_name?: string\n}\n```\n\n### `ThreadTrashedEvent`\n\n```ts\ntype ThreadTrashedEvent = {\n type: "THREAD_TRASHED"\n}\n```\n\n### `ThreadRestoredEvent`\n\n```ts\ntype ThreadRestoredEvent = {\n type: "THREAD_RESTORED"\n}\n```\n\n### `LinkSuggestionCandidate`\n\n```ts\ntype LinkSuggestionCandidate = {\n entity_id: string\n schema: string\n attribute?: string\n attribute_value?: string\n title?: string\n status?: "pending" | "linked" | "dismissed"\n resolved_by?: {\n user_id?: string\n email?: string\n }\n resolved_at?: string // date-time\n}\n```\n\n### `LinkSuggestion`\n\n```ts\ntype LinkSuggestion = {\n id: string\n identifier: string\n found_in?: string\n status: "pending" | "accepted" | "dismissed"\n candidates: Array<{\n entity_id: string\n schema: string\n attribute?: string\n attribute_value?: string\n title?: string\n status?: "pending" | "linked" | "dismissed"\n resolved_by?: {\n user_id?: { ... }\n email?: { ... }\n }\n resolved_at?: string // date-time\n }>\n accepted_entity_ids?: string[]\n resolved_by?: {\n user_id?: string\n email?: string\n }\n resolved_at?: string // date-time\n created_at?: string // date-time\n}\n```\n\n### `TimelineLinkSuggestion`\n\n```ts\ntype TimelineLinkSuggestion = {\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: string\n schema?: string\n }>\n}\n```\n\n### `MessageEntityLinkSuggestedEvent`\n\n```ts\ntype MessageEntityLinkSuggestedEvent = {\n type: "MESSAGE_ENTITY_LINK_SUGGESTED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n}\n```\n\n### `MessageEntityLinkSuggestionDismissedEvent`\n\n```ts\ntype MessageEntityLinkSuggestionDismissedEvent = {\n type: "MESSAGE_ENTITY_LINK_SUGGESTION_DISMISSED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n}\n```\n\n### `TimelineLinkedEntity`\n\n```ts\ntype TimelineLinkedEntity = {\n entity_id: string\n schema?: string\n}\n```\n\n### `TimelineActor`\n\n```ts\ntype TimelineActor = {\n user_id?: string\n email?: string\n}\n```\n\n### `TimelineEventData`\n\n```ts\ntype TimelineEventData = {\n type: "THREAD_DONE"\n user_id: string\n organization_id: string\n} | {\n type: "THREAD_OPEN"\n user_id: string\n organization_id: string\n} | {\n type: "WORKFLOW_STARTED"\n workflow_id?: string\n workflow_name?: string\n} | {\n type: "THREAD_USER_ASSIGNED"\n added?: string[]\n removed?: string[]\n} | {\n type: "MESSAGE_LABEL_ADDED"\n label: string\n label_name?: string\n} | {\n type: "MESSAGE_LABEL_REMOVED"\n label: string\n label_name?: string\n} | {\n type: "MESSAGE_ENTITY_LINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n from_suggestion?: boolean\n} | {\n type: "MESSAGE_ENTITY_UNLINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n} | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n} | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTION_DISMISSED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n} | {\n type: "MESSAGE_AUTO_REPLY_SENT"\n reply_message_id?: string\n parent_message_id?: string\n} | {\n type: "THREAD_MOVED_TO_INBOX"\n target_inbox_id?: string\n target_inbox_name?: string\n} | {\n type: "THREAD_TRASHED"\n} | {\n type: "THREAD_RESTORED"\n}\n```\n\n### `TimelineEvent`\n\n```ts\ntype TimelineEvent = {\n id?: string\n data: {\n type: "THREAD_DONE"\n user_id: string\n organization_id: string\n } | {\n type: "THREAD_OPEN"\n user_id: string\n organization_id: string\n } | {\n type: "WORKFLOW_STARTED"\n workflow_id?: string\n workflow_name?: string\n } | {\n type: "THREAD_USER_ASSIGNED"\n added?: string[]\n removed?: string[]\n } | {\n type: "MESSAGE_LABEL_ADDED"\n label: string\n label_name?: string\n } | {\n type: "MESSAGE_LABEL_REMOVED"\n label: string\n label_name?: string\n } | {\n type: "MESSAGE_ENTITY_LINKED"\n entities?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n link_kind?: "manual" | "auto"\n from_suggestion?: boolean\n } | {\n type: "MESSAGE_ENTITY_UNLINKED"\n entities?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n link_kind?: "manual" | "auto"\n } | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTED"\n suggestions?: Array<{\n id?: { ... }\n identifier: { ... }\n candidates?: { ... }\n }>\n } | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTION_DISMISSED"\n suggestions?: Array<{\n id?: { ... }\n identifier: { ... }\n candidates?: { ... }\n }>\n } | {\n type: "MESSAGE_AUTO_REPLY_SENT"\n reply_message_id?: string\n parent_message_id?: string\n } | {\n type: "THREAD_MOVED_TO_INBOX"\n target_inbox_id?: string\n target_inbox_name?: string\n } | {\n type: "THREAD_TRASHED"\n } | {\n type: "THREAD_RESTORED"\n }\n timestamp: string\n message_id?: string\n source?: "user" | "automation" | "system"\n automated?: boolean\n actor?: {\n user_id?: string\n email?: string\n }\n automation?: {\n id?: string\n name?: string\n }\n}\n```\n\n### `BulkActionsPayloadWithScopes`\n\n```ts\ntype BulkActionsPayloadWithScopes = {\n ids: string[]\n assign_to?: string[]\n inbox_id?: string\n scopes?: "organization" | "user"[]\n}\n```\n\n### `BulkActionsPayload`\n\n```ts\ntype BulkActionsPayload = {\n ids: string[]\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n';
|
|
5
|
+
export {
|
|
6
|
+
message_default as default
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
+
|
|
3
|
+
// src/docs/message.json
|
|
4
|
+
var message_default = '# Message API\n\n- **Base URL:** `https://message.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/message](https://docs.epilot.io/api/message)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.message.sendMessage(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/message\'\n\nconst messageClient = getClient()\nauthorize(messageClient, () => \'<token>\')\nconst { data } = await messageClient.sendMessage(...)\n```\n\n## Operations\n\n**Messages**\n- [`sendMessage`](#sendmessage)\n- [`updateMessage`](#updatemessage)\n- [`getMessage`](#getmessage)\n- [`deleteMessage`](#deletemessage)\n- [`getMessageEml`](#getmessageeml)\n- [`searchMessages`](#searchmessages)\n- [`trashMessage`](#trashmessage)\n- [`untrashMessage`](#untrashmessage)\n- [`markReadMessage`](#markreadmessage)\n- [`markReadMessageV2`](#markreadmessagev2)\n- [`markUnreadMessage`](#markunreadmessage)\n- [`getUnread`](#getunread)\n- [`getUnreadCounts`](#getunreadcounts)\n- [`markUnreadMessageV2`](#markunreadmessagev2)\n- [`spamMessage`](#spammessage)\n- [`unspamMessage`](#unspammessage)\n- [`getMessageV2`](#getmessagev2)\n\n**Threads**\n- [`searchThreads`](#searchthreads)\n- [`searchThreadsV2`](#searchthreadsv2)\n- [`searchIds`](#searchids)\n- [`getAssigneeWorkload`](#getassigneeworkload)\n- [`updateThread`](#updatethread)\n- [`deleteThread`](#deletethread)\n- [`moveThread`](#movethread)\n- [`markThreadAsDone`](#markthreadasdone)\n- [`markThreadAsOpen`](#markthreadasopen)\n- [`getThreadTimeline`](#getthreadtimeline)\n- [`getThreadSummary`](#getthreadsummary)\n- [`trashThread`](#trashthread)\n- [`untrashThread`](#untrashthread)\n- [`spamThread`](#spamthread)\n- [`unspamThread`](#unspamthread)\n- [`bulkMoveThreads`](#bulkmovethreads)\n- [`bulkAssignThreads`](#bulkassignthreads)\n- [`threadBulkActionsRead`](#threadbulkactionsread)\n- [`threadBulkActionsUnread`](#threadbulkactionsunread)\n- [`threadBulkActionsFavorite`](#threadbulkactionsfavorite)\n- [`threadBulkActionsUnfavorite`](#threadbulkactionsunfavorite)\n- [`threadBulkActionsTrash`](#threadbulkactionstrash)\n- [`threadBulkActionsUntrash`](#threadbulkactionsuntrash)\n- [`threadBulkActionsDelete`](#threadbulkactionsdelete)\n- [`threadBulkActionsDone`](#threadbulkactionsdone)\n- [`threadBulkActionsOpen`](#threadbulkactionsopen)\n- [`markReadThread`](#markreadthread)\n- [`markReadThreadV2`](#markreadthreadv2)\n- [`markUnreadThread`](#markunreadthread)\n- [`markUnreadThreadV2`](#markunreadthreadv2)\n- [`assignThread`](#assignthread)\n- [`dismissThreadLinkSuggestions`](#dismissthreadlinksuggestions)\n- [`unassignThread`](#unassignthread)\n- [`assignUsers`](#assignusers)\n- [`assignUsersV2`](#assignusersv2)\n- [`pinThread`](#pinthread)\n- [`unpinThread`](#unpinthread)\n\n**Drafts**\n- [`createDraft`](#createdraft)\n- [`sendDraft`](#senddraft)\n\n**Schemas**\n- [`ErrorResponse`](#errorresponse)\n- [`MoveThreadPayload`](#movethreadpayload)\n- [`BaseEntity`](#baseentity)\n- [`Thread`](#thread)\n- [`Message`](#message)\n- [`MessageV2`](#messagev2)\n- [`Address`](#address)\n- [`AttachmentsRelation`](#attachmentsrelation)\n- [`File`](#file)\n- [`MessageRequestParams`](#messagerequestparams)\n- [`ThreadView`](#threadview)\n- [`UnreadCountScope`](#unreadcountscope)\n- [`UnreadCountsPayload`](#unreadcountspayload)\n- [`UnreadCountsResult`](#unreadcountsresult)\n- [`UnreadCountBuckets`](#unreadcountbuckets)\n- [`SearchParamsV2`](#searchparamsv2)\n- [`SearchParams`](#searchparams)\n- [`SearchIDParams`](#searchidparams)\n- [`AssigneeWorkloadParams`](#assigneeworkloadparams)\n- [`AssigneeWorkload`](#assigneeworkload)\n- [`AssigneeWorkloadResults`](#assigneeworkloadresults)\n- [`ReadMessagePayload`](#readmessagepayload)\n- [`ReadingScope`](#readingscope)\n- [`ThreadReplyContext`](#threadreplycontext)\n- [`ReplyContextMessage`](#replycontextmessage)\n- [`ReplyContextEntityRef`](#replycontextentityref)\n- [`ThreadSummary`](#threadsummary)\n- [`ThreadSummaryPayload`](#threadsummarypayload)\n- [`ThreadSummaryEntityRef`](#threadsummaryentityref)\n- [`ThreadSummaryContext`](#threadsummarycontext)\n- [`SimilarSentMessagesRequest`](#similarsentmessagesrequest)\n- [`SimilarSentMessagesResponse`](#similarsentmessagesresponse)\n- [`SimilarSentMessage`](#similarsentmessage)\n- [`ThreadTimeline`](#threadtimeline)\n- [`ThreadDoneEvent`](#threaddoneevent)\n- [`ThreadOpenEvent`](#threadopenevent)\n- [`WorkflowStartedEvent`](#workflowstartedevent)\n- [`ThreadUserAssignedEvent`](#threaduserassignedevent)\n- [`MessageLabelAddedEvent`](#messagelabeladdedevent)\n- [`MessageLabelRemovedEvent`](#messagelabelremovedevent)\n- [`MessageEntityLinkedEvent`](#messageentitylinkedevent)\n- [`MessageEntityUnlinkedEvent`](#messageentityunlinkedevent)\n- [`MessageAutoReplySentEvent`](#messageautoreplysentevent)\n- [`ThreadMovedToInboxEvent`](#threadmovedtoinboxevent)\n- [`ThreadTrashedEvent`](#threadtrashedevent)\n- [`ThreadRestoredEvent`](#threadrestoredevent)\n- [`LinkSuggestionCandidate`](#linksuggestioncandidate)\n- [`LinkSuggestion`](#linksuggestion)\n- [`TimelineLinkSuggestion`](#timelinelinksuggestion)\n- [`MessageEntityLinkSuggestedEvent`](#messageentitylinksuggestedevent)\n- [`MessageEntityLinkSuggestionDismissedEvent`](#messageentitylinksuggestiondismissedevent)\n- [`TimelineLinkedEntity`](#timelinelinkedentity)\n- [`TimelineActor`](#timelineactor)\n- [`TimelineEventData`](#timelineeventdata)\n- [`TimelineEvent`](#timelineevent)\n- [`BulkActionsPayloadWithScopes`](#bulkactionspayloadwithscopes)\n- [`BulkActionsPayload`](#bulkactionspayload)\n- [`FieldsParam`](#fieldsparam)\n\n### `sendMessage`\n\nSend an email message\n\n`POST /v1/message/messages`\n\n```ts\nconst { data } = await client.sendMessage(\n {\n do_not_create_entities: true,\n },\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `updateMessage`\n\nUpdate message metadata\n\n`PUT /v1/message/messages`\n\n```ts\nconst { data } = await client.updateMessage()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `getMessage`\n\nGet an email message by id\n\n`GET /v1/message/messages/{id}`\n\n```ts\nconst { data } = await client.getMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `deleteMessage`\n\nImmediately and permanently delete a message. This operation cannot be undone.\n\n`DELETE /v1/message/messages/{id}`\n\n```ts\nconst { data } = await client.deleteMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getMessageEml`\n\nDownload a message as an EML file.\nReturns a 302 redirect to a pre-signed S3 URL where the EML file can be downloaded.\n\n`GET /v1/message/messages/{id}/eml`\n\n```ts\nconst { data } = await client.getMessageEml({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `searchMessages`\n\nSearch Messages\n\n`POST /v1/message/messages:search`\n\n```ts\nconst { data } = await client.searchMessages(\n null,\n {\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\',\n view: {\n folder: \'inbox\',\n mailbox: \'organization\',\n labels: [\'string\'],\n purposes: [\'string\'],\n filters: [\'unread\'],\n from: [\'string\'],\n to: [\'string\'],\n assigned_to: [\'string\'],\n include_unassigned: true,\n date_from_days_ago: 0,\n date_to_days_ago: 0,\n email_filter: [\'string\'],\n text: \'string\',\n thread_ids: [\'string\'],\n pinned_by: \'string\'\n },\n user_groups: [\'string\'],\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\'],\n from: 0,\n size: 10,\n hydrate: false,\n include_scores: false,\n sort: \'string\',\n highlight: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `trashMessage`\n\nMove a message to the trash\n\n`POST /v1/message/messages/{id}/trash`\n\n```ts\nconst { data } = await client.trashMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `untrashMessage`\n\nRestore a trashed message\n\n`POST /v1/message/messages/{id}/untrash`\n\n```ts\nconst { data } = await client.untrashMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markReadMessage`\n\nMark message as read\n\n`POST /v1/message/messages/{id}/read`\n\n```ts\nconst { data } = await client.markReadMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markReadMessageV2`\n\nMark message as read within a scope\n\n`POST /v2/message/messages/{id}/read`\n\n```ts\nconst { data } = await client.markReadMessageV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `markUnreadMessage`\n\nMark message as unread\n\n`POST /v1/message/messages/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getUnread`\n\nGet all unread messages by actor\n\n`GET /v1/message/messages/unread/{actor}`\n\n```ts\nconst { data } = await client.getUnread({\n actor: \'example\',\n email_filter: [\'...\'],\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "count": 14,\n "unread": 0,\n "drafts": 12,\n "unassigned": 1,\n "spam": 3\n}\n```\n\n</details>\n\n---\n\n### `getUnreadCounts`\n\nUnread counts for several named scopes in one request.\n\n`POST /v1/message/unread:counts`\n\n```ts\nconst { data } = await client.getUnreadCounts(\n null,\n {\n actor: \'organization\',\n email_filter: [\'string\'],\n user_groups: [\'string\'],\n scopes: [\n {\n name: \'inbox-support\',\n type: \'organization\',\n q: \'_tags.keyword:inbox AND !_tags.keyword:trash\',\n view_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "enabled": true,\n "counts": {},\n "omitted": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `markUnreadMessageV2`\n\nMark message as unread within a scope\n\n`POST /v2/message/messages/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadMessageV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `searchThreads`\n\nSearch for threads of email messages.\n\n`POST /v1/message/threads:search`\n\n```ts\nconst { data } = await client.searchThreads(\n null,\n {\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\',\n from: 0,\n size: 10,\n hydrate: false\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "topic": "CUSTOMER_MESSAGE",\n "assigned_to": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "done": false,\n "latest_message": {},\n "latest_trash_message": {},\n "latest_message_at": "2024-02-10T09:14:31.990Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchThreadsV2`\n\nSearch for threads of email messages.\n\n`POST /v2/message/threads:search`\n\n```ts\nconst { data } = await client.searchThreadsV2(\n null,\n {\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\',\n view: {\n folder: \'inbox\',\n mailbox: \'organization\',\n labels: [\'string\'],\n purposes: [\'string\'],\n filters: [\'unread\'],\n from: [\'string\'],\n to: [\'string\'],\n assigned_to: [\'string\'],\n include_unassigned: true,\n date_from_days_ago: 0,\n date_to_days_ago: 0,\n email_filter: [\'string\'],\n text: \'string\',\n thread_ids: [\'string\'],\n pinned_by: \'string\'\n },\n user_groups: [\'string\'],\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\'],\n from: 0,\n size: 10,\n hydrate: false,\n include_scores: false,\n sort: \'string\',\n highlight: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "topic": "CUSTOMER_MESSAGE",\n "assigned_to": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "done": false,\n "latest_message": {},\n "latest_trash_message": {},\n "latest_message_at": "2024-02-10T09:14:31.990Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchIds`\n\nSearch threads and return all id\'s\n\n`POST /v1/message/threads:searchIds`\n\n```ts\nconst { data } = await client.searchIds(\n null,\n {\n view: {\n folder: \'inbox\',\n mailbox: \'organization\',\n labels: [\'string\'],\n purposes: [\'string\'],\n filters: [\'unread\'],\n from: [\'string\'],\n to: [\'string\'],\n assigned_to: [\'string\'],\n include_unassigned: true,\n date_from_days_ago: 0,\n date_to_days_ago: 0,\n email_filter: [\'string\'],\n text: \'string\',\n thread_ids: [\'string\'],\n pinned_by: \'string\'\n },\n user_groups: [\'string\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n q: \'subject:"Request for solar panel price" AND _tags:INBOX\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 14,\n "results": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `getAssigneeWorkload`\n\nReturn the open-thread workload for a set of user ids.\n\n`POST /v2/message/threads:workload`\n\n```ts\nconst { data } = await client.getAssigneeWorkload(\n null,\n {\n user_ids: [\'11000902\', \'11001053\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "workloads": [\n {\n "user_id": "11000902",\n "open_threads": 2\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateThread`\n\nModify thread metadata\n\n`PUT /v1/message/threads`\n\n```ts\nconst { data } = await client.updateThread()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "topic": "CUSTOMER_MESSAGE",\n "assigned_to": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "done": false,\n "latest_message": {\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {}\n ],\n "cc": [\n {}\n ],\n "bcc": [\n {}\n ],\n "file": {\n "$relation": []\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n },\n "latest_trash_message": {\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {}\n ],\n "cc": [\n {}\n ],\n "bcc": [\n {}\n ],\n "file": {\n "$relation": []\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n },\n "latest_message_at": "2024-02-10T09:14:31.990Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteThread`\n\nImmediately and permanently delete a thread. This operation cannot be undone.\n\n`DELETE /v1/message/threads/{id}`\n\n```ts\nconst { data } = await client.deleteThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `moveThread`\n\nMove thread to a different Inbox\n\n`POST /v1/message/threads/{id}:move`\n\n```ts\nconst { data } = await client.moveThread(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\'\n },\n)\n```\n\n---\n\n### `markThreadAsDone`\n\nMark thread as done\n\n`POST /v1/message/threads/{id}:markAsDone`\n\n```ts\nconst { data } = await client.markThreadAsDone({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markThreadAsOpen`\n\nMark thread as open\n\n`POST /v1/message/threads/{id}:markAsOpen`\n\n```ts\nconst { data } = await client.markThreadAsOpen({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getThreadTimeline`\n\nGet thread timeline\n\n`GET /v1/message/threads/{id}/timeline`\n\n```ts\nconst { data } = await client.getThreadTimeline({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "events": [\n {\n "id": "string",\n "data": {\n "type": "THREAD_DONE",\n "user_id": "123",\n "organization_id": "456"\n },\n "timestamp": "2024-01-01T00:00:00Z",\n "message_id": "string",\n "source": "user",\n "automated": true,\n "actor": {\n "user_id": "string",\n "email": "string"\n },\n "automation": {\n "id": "string",\n "name": "string"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getThreadSummary`\n\nAI summary of a thread. Returns `202` while it is generated; poll until `jobStatus.status` is `COMPLETED` or `FAILED`.\n\n`GET /v1/message/threads/{id}/summary`\n\n```ts\nconst { data } = await client.getThreadSummary({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n message_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "orgId": "string",\n "jobId": "string",\n "executionId": "string",\n "jobStatus": {\n "status": "INITIATED",\n "error": "string"\n },\n "payload": {\n "summary": ["string"],\n "topics": ["string"],\n "next_steps": ["string"],\n "refs": [\n {\n "id": "string",\n "displayText": "Raven GmbH",\n "schema": "contact"\n }\n ]\n },\n "createdAt": "1970-01-01T00:00:00.000Z",\n "updatedAt": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `trashThread`\n\nMove a thread to trash\n\n`POST /v1/message/threads/{id}/trash`\n\n```ts\nconst { data } = await client.trashThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `untrashThread`\n\nRestore a trashed thread\n\n`POST /v1/message/threads/{id}/untrash`\n\n```ts\nconst { data } = await client.untrashThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `spamThread`\n\nMark a thread as spam\n\n`POST /v1/message/threads/{id}/spam`\n\n```ts\nconst { data } = await client.spamThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `unspamThread`\n\nRemove spam marking from a thread\n\n`POST /v1/message/threads/{id}/unspam`\n\n```ts\nconst { data } = await client.unspamThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `spamMessage`\n\nMark a single message as spam. Also marks the parent thread as spam if all messages in the thread are spam.\n\n`POST /v1/message/messages/{id}/spam`\n\n```ts\nconst { data } = await client.spamMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `unspamMessage`\n\nRemove spam marking from a single message. Also removes spam from the parent thread if no other messages are spam.\n\n`POST /v1/message/messages/{id}/unspam`\n\n```ts\nconst { data } = await client.unspamMessage({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `bulkMoveThreads`\n\nMove many threads to a different inbox\n\n`POST /v1/message/threads/bulk:move`\n\n```ts\nconst { data } = await client.bulkMoveThreads(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `bulkAssignThreads`\n\nAssign many threads\n\n`POST /v1/message/threads/bulk:assign`\n\n```ts\nconst { data } = await client.bulkAssignThreads(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsRead`\n\nPerform a bulk action of marking an array of thread ids as read\n\n`POST /v1/message/threads/bulk:read`\n\n```ts\nconst { data } = await client.threadBulkActionsRead(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsUnread`\n\nPerform a bulk action of marking an array of thread ids as unread\n\n`POST /v1/message/threads/bulk:unread`\n\n```ts\nconst { data } = await client.threadBulkActionsUnread(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\'],\n assign_to: [\'206801\'],\n inbox_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsFavorite`\n\nPerform a bulk action of marking an array of thread ids favorite\n\n`POST /v1/message/threads/bulk:favorite`\n\n```ts\nconst { data } = await client.threadBulkActionsFavorite(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsUnfavorite`\n\nPerform a bulk action of marking an array of thread ids unfavorited\n\n`POST /v1/message/threads/bulk:unfavorite`\n\n```ts\nconst { data } = await client.threadBulkActionsUnfavorite(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsTrash`\n\nPerform a bulk action of trashing an array of threads\n\n`POST /v1/message/threads/bulk:trash`\n\n```ts\nconst { data } = await client.threadBulkActionsTrash(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsUntrash`\n\nPerform a bulk action of untrashing an array of threads\n\n`POST /v1/message/threads/bulk:untrash`\n\n```ts\nconst { data } = await client.threadBulkActionsUntrash(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsDelete`\n\nPerforms a bulk permanent delete for all threads\n\n`POST /v1/message/threads/bulk:delete`\n\n```ts\nconst { data } = await client.threadBulkActionsDelete(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsDone`\n\nPerform a bulk action of marking an array of threads as done\n\n`POST /v1/message/threads/bulk:done`\n\n```ts\nconst { data } = await client.threadBulkActionsDone(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `threadBulkActionsOpen`\n\nPerform a bulk action of marking an array of threads as open\n\n`POST /v1/message/threads/bulk:open`\n\n```ts\nconst { data } = await client.threadBulkActionsOpen(\n null,\n {\n ids: [\'6b299eda-4018-4554-8965-c4b5598e6531\']\n },\n)\n```\n\n---\n\n### `markReadThread`\n\nMark thread as read\n\n`POST /v1/message/threads/{id}/read`\n\n```ts\nconst { data } = await client.markReadThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markReadThreadV2`\n\nMark thread as read within a scope\n\n`POST /v2/message/threads/{id}/read`\n\n```ts\nconst { data } = await client.markReadThreadV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `markUnreadThread`\n\nMark thread as unread\n\n`POST /v1/message/threads/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `markUnreadThreadV2`\n\nMark thread as unread within a scope\n\n`POST /v2/message/threads/{id}/unread`\n\n```ts\nconst { data } = await client.markUnreadThreadV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n scopes: [\'organization\', \'user\']\n },\n)\n```\n\n---\n\n### `assignThread`\n\nAssign thread to entities\n\n`POST /v1/message/threads/{id}/assign`\n\n```ts\nconst { data } = await client.assignThread(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n [\n {\n slug: \'contact\',\n entity_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\',\n org_id: \'206801\',\n is_main_entity: true\n }\n ],\n)\n```\n\n---\n\n### `dismissThreadLinkSuggestions`\n\nDismiss pending candidates of entity-link suggestions on a thread. A suggestion is recorded on a message when an identifier in it matched entities of different customers, so nothing was linked automat\n\n`POST /v1/message/threads/{id}/link-suggestions/dismiss`\n\n```ts\nconst { data } = await client.dismissThreadLinkSuggestions(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n suggestion_ids: [\'string\'],\n entity_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "dismissed": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `unassignThread`\n\nUnassign thread from entities\n\n`POST /v1/message/threads/{id}/unassign`\n\n```ts\nconst { data } = await client.unassignThread(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n unlink_mapped_entities: true,\n },\n [\n {\n slug: \'contact\',\n entity_id: \'3f34ce73-089c-4d45-a5ee-c161234e41c3\'\n }\n ],\n)\n```\n\n---\n\n### `assignUsers`\n\nAssign users to thread for receiving notifications.\nThe operation replaces all existing assigned users in thread.\n\n`POST /v1/message/threads/{id}/assign:users`\n\n```ts\nconst { data } = await client.assignUsers(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n assigned_to: [\'206801\']\n },\n)\n```\n\n---\n\n### `assignUsersV2`\n\nAssign users to thread.\n\n`POST /v2/message/threads/{id}/assign:users`\n\n```ts\nconst { data } = await client.assignUsersV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n add: [\'206801\'],\n remove: [\'206801\']\n },\n)\n```\n\n---\n\n### `pinThread`\n\nPin a single thread\n\n`POST /v1/message/threads/{id}:pin`\n\n```ts\nconst { data } = await client.pinThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `unpinThread`\n\nUnpin a single thread\n\n`DELETE /v1/message/threads/{id}:pin`\n\n```ts\nconst { data } = await client.unpinThread({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `createDraft`\n\nCreate a new draft\n\n`POST /v1/message/drafts`\n\n```ts\nconst { data } = await client.createDraft(\n null,\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `sendDraft`\n\nSend the existing draft to the recipients.\n\n`POST /v1/message/drafts:send`\n\n```ts\nconst { data } = await client.sendDraft()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {\n "entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",\n "filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",\n "is_message_attachment": true,\n "may_be_signature_attachment": true,\n "cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",\n "inline": false,\n "send_as_link": false,\n "save_to_entity": true\n }\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n### `getMessageV2`\n\n- Fetches message by ID\n- If the message html is omitted on the entity, then it keeps the content on the message as a signed url\n {\n ...\n _id: "4d74976d-fb64-47fd-85e2-65eea140f5eb",\n _schem\n\n`GET /v2/message/messages/{id}`\n\n```ts\nconst { data } = await client.getMessageV2({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "link_suggestions": [\n {\n "id": "string",\n "identifier": "string",\n "found_in": "string",\n "status": "pending",\n "candidates": [],\n "accepted_entity_ids": ["string"],\n "resolved_by": {},\n "resolved_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "html_omitted": false,\n "html_download_url": "https://s3.eu-central-1.amazonaws.com/epilot-attachments/3f34ce73-089c-4d45-a5ee-c161234e41c3/3f34ce73-089c-4d45-a5ee-c161234e41c3.html",\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "string",\n "_org": "206801",\n "_schema": "message",\n "_tags": ["pricing", "INBOX"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-10T09:14:31.990Z",\n "message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",\n "sender": "206801",\n "updated_by": "206801",\n "subject": "Request for solar panel price",\n "html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",\n "text": "We at ABC GmbH would like to request a price quote for the solar panel.",\n "from": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "reply_to": {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n },\n "to": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "cc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "bcc": [\n {\n "name": "epilot",\n "address": "messaging@epilot.cloud",\n "email_type": "INTERNAL",\n "send_status": "SEND",\n "send_error": {}\n }\n ],\n "file": {\n "$relation": [\n {}\n ]\n },\n "references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",\n "user_read_message": ["206801", "200109"],\n "org_read_message": ["789372", "210291"],\n "send_status": ["SEND"],\n "type": "SENT",\n "template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n error?: string\n}\n```\n\n### `MoveThreadPayload`\n\n```ts\ntype MoveThreadPayload = {\n inbox_id: string\n}\n```\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `Thread`\n\nThread properties depend on API caller as it\'s not pre-defined. We do recommend having at least `topic` property for categorizing.\n\n```ts\ntype Thread = {\n topic: string\n assigned_to?: string[]\n org_read_message?: string[]\n done?: boolean\n latest_message?: {\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n reply_to?: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n to?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n cc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n bcc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n file?: {\n $relation?: { ... }\n }\n references?: string\n in_reply_to?: string\n user_read_message?: string[]\n org_read_message?: string[]\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"[]\n type?: "SENT" | "RECEIVED"\n template_id?: string\n }\n latest_trash_message?: {\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n reply_to?: {\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }\n to?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n cc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n bcc?: Array<{\n name?: { ... }\n address: { ... }\n email_type?: { ... }\n send_status?: { ... }\n send_error?: { ... }\n }>\n // ...\n}\n```\n\n### `Message`\n\n```ts\ntype Message = {\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n reply_to?: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n to?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n cc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n bcc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n file?: {\n $relation?: Array<{\n entity_id: { ... }\n filename?: { ... }\n is_message_attachment?: { ... }\n may_be_signature_attachment?: { ... }\n cid?: { ... }\n inline?: { ... }\n send_as_link?: { ... }\n save_to_entity?: { ... }\n }>\n }\n references?: string\n in_reply_to?: string\n user_read_message?: string[]\n org_read_message?: string[]\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"[]\n type?: "SENT" | "RECEIVED"\n template_id?: string\n}\n```\n\n### `MessageV2`\n\n```ts\ntype MessageV2 = {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n message_id?: string\n sender?: string\n updated_by?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n reply_to?: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n to?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n cc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n bcc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n file?: {\n $relation?: Array<{\n entity_id: { ... }\n filename?: { ... }\n is_message_attachment?: { ... }\n may_be_signature_attachment?: { ... }\n cid?: { ... }\n inline?: { ... }\n send_as_link?: { ... }\n save_to_entity?: { ... }\n }>\n }\n references?: string\n in_reply_to?: string\n user_read_message?: string[]\n org_read_message?: string[]\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"[]\n type?: "SENT" | "RECEIVED"\n template_id?: string\n}\n```\n\n### `Address`\n\n```ts\ntype Address = {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n}\n```\n\n### `AttachmentsRelation`\n\nMessage attachments\n\n```ts\ntype AttachmentsRelation = {\n $relation?: Array<{\n entity_id: string\n filename?: string\n is_message_attachment?: boolean\n may_be_signature_attachment?: boolean\n cid?: string\n inline?: boolean\n send_as_link?: boolean\n save_to_entity?: boolean\n }>\n}\n```\n\n### `File`\n\n```ts\ntype File = {\n entity_id: string\n filename?: string\n is_message_attachment?: boolean\n may_be_signature_attachment?: boolean\n cid?: string\n inline?: boolean\n send_as_link?: boolean\n save_to_entity?: boolean\n}\n```\n\n### `MessageRequestParams`\n\n```ts\ntype MessageRequestParams = {\n complete_thread?: boolean\n mark_thread_as_read?: boolean\n thread?: {\n topic: string\n assigned_to?: string[]\n }\n parent_id?: string\n subject: string\n html?: string\n text?: string\n from: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n reply_to?: {\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }\n to?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n cc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n bcc?: Array<{\n name?: string\n address: string\n email_type?: "INTERNAL" | "EXTERNAL" | "PARTNER"\n send_status?: "SEND" | "DELIVERY" | "REJECT" | "COMPLAINT" | "BOUNCE" | "ERROR"\n send_error?: object\n }>\n file?: {\n $relation?: Array<{\n entity_id: { ... }\n filename?: { ... }\n is_message_attachment?: { ... }\n may_be_signature_attachment?: { ... }\n cid?: { ... }\n inline?: { ... }\n send_as_link?: { ... }\n save_to_entity?: { ... }\n }>\n }\n template_id?: string\n source?: "manual" | "automation" | "workflow" | "partner" | "bulk" | "system"\n}\n```\n\n### `ThreadView`\n\nA central-inbox view, described structurally so the server compiles the query for it. Both the\nthread list and the unread count for a view are compiled from the same description, so the two\ncannot disagree about what the view means.\n\nEvery field is optional and an omitted field adds no condition, so\n\n```ts\ntype ThreadView = {\n folder?: "inbox" | "favorite" | "sent" | "trash" | "spam" | "unassignable" | "draft"\n mailbox?: "organization" | "agent"\n labels?: string[]\n purposes?: string[]\n filters?: "unread" | "resolved" | "trash"[]\n from?: string[]\n to?: string[]\n assigned_to?: string[]\n include_unassigned?: boolean\n date_from_days_ago?: number\n date_to_days_ago?: number\n email_filter?: string[]\n text?: string\n thread_ids?: string[]\n pinned_by?: string\n}\n```\n\n### `UnreadCountScope`\n\n```ts\ntype UnreadCountScope = {\n name: string\n type: "organization" | "shared_inbox" | "saved_view"\n q?: string\n view_id?: string\n inbox_id?: string | string[]\n}\n```\n\n### `UnreadCountsPayload`\n\n```ts\ntype UnreadCountsPayload = {\n actor: "organization" | "user"\n email_filter?: string[]\n user_groups?: string[]\n scopes: Array<{\n name: string\n type: "organization" | "shared_inbox" | "saved_view"\n q?: string\n view_id?: string\n inbox_id?: string | string[]\n }>\n}\n```\n\n### `UnreadCountsResult`\n\n```ts\ntype UnreadCountsResult = {\n enabled: boolean\n counts: Record<string, {\n unread: number\n drafts?: number\n unassigned?: number\n spam?: number\n }>\n omitted?: string[]\n}\n```\n\n### `UnreadCountBuckets`\n\n```ts\ntype UnreadCountBuckets = {\n unread: number\n drafts?: number\n unassigned?: number\n spam?: number\n}\n```\n\n### `SearchParamsV2`\n\n```ts\ntype SearchParamsV2 = {\n inbox_id?: string | string[]\n q?: string\n view?: {\n folder?: "inbox" | "favorite" | "sent" | "trash" | "spam" | "unassignable" | "draft"\n mailbox?: "organization" | "agent"\n labels?: string[]\n purposes?: string[]\n filters?: "unread" | "resolved" | "trash"[]\n from?: string[]\n to?: string[]\n assigned_to?: string[]\n include_unassigned?: boolean\n date_from_days_ago?: number\n date_to_days_ago?: number\n email_filter?: string[]\n text?: string\n thread_ids?: string[]\n pinned_by?: string\n }\n user_groups?: string[]\n fields?: string[]\n from?: number\n size?: number\n hydrate?: boolean\n include_scores?: boolean\n sort?: string\n highlight?: unknown\n}\n```\n\n### `SearchParams`\n\n```ts\ntype SearchParams = {\n q: string\n from?: number\n size?: number\n hydrate?: boolean\n}\n```\n\n### `SearchIDParams`\n\n```ts\ntype SearchIDParams = {\n view?: {\n folder?: "inbox" | "favorite" | "sent" | "trash" | "spam" | "unassignable" | "draft"\n mailbox?: "organization" | "agent"\n labels?: string[]\n purposes?: string[]\n filters?: "unread" | "resolved" | "trash"[]\n from?: string[]\n to?: string[]\n assigned_to?: string[]\n include_unassigned?: boolean\n date_from_days_ago?: number\n date_to_days_ago?: number\n email_filter?: string[]\n text?: string\n thread_ids?: string[]\n pinned_by?: string\n }\n user_groups?: string[]\n inbox_id?: string | string[]\n q?: string\n}\n```\n\n### `AssigneeWorkloadParams`\n\n```ts\ntype AssigneeWorkloadParams = {\n user_ids: string[]\n}\n```\n\n### `AssigneeWorkload`\n\n```ts\ntype AssigneeWorkload = {\n user_id: string\n open_threads: number\n}\n```\n\n### `AssigneeWorkloadResults`\n\n```ts\ntype AssigneeWorkloadResults = {\n workloads: Array<{\n user_id: string\n open_threads: number\n }>\n}\n```\n\n### `ReadMessagePayload`\n\n```ts\ntype ReadMessagePayload = {\n scopes: "organization" | "user"[]\n}\n```\n\n### `ReadingScope`\n\nWho is marking an item as read or unread.\n\n```ts\ntype ReadingScope = "organization" | "user"\n```\n\n### `ThreadReplyContext`\n\n```ts\ntype ThreadReplyContext = {\n thread_id: string\n topic?: string\n reply_to_message_id?: string\n messages: Array<{\n id: string\n created_at?: string // date-time\n type: "RECEIVED" | "SENT"\n role: "customer" | "agent" | "partner"\n subject?: string\n from?: {\n address?: { ... }\n name?: { ... }\n }\n text: string\n }>\n related_entities: Array<{\n _id: string\n _schema: string\n }>\n}\n```\n\n### `ReplyContextMessage`\n\n```ts\ntype ReplyContextMessage = {\n id: string\n created_at?: string // date-time\n type: "RECEIVED" | "SENT"\n role: "customer" | "agent" | "partner"\n subject?: string\n from?: {\n address?: string\n name?: string\n }\n text: string\n}\n```\n\n### `ReplyContextEntityRef`\n\n```ts\ntype ReplyContextEntityRef = {\n _id: string\n _schema: string\n}\n```\n\n### `ThreadSummary`\n\n```ts\ntype ThreadSummary = {\n orgId: string\n jobId: string\n executionId?: string\n jobStatus: {\n status: "INITIATED" | "IN_PROGRESS" | "COMPLETED" | "FAILED"\n error?: string\n }\n payload?: {\n summary?: string[]\n topics?: string[]\n next_steps?: string[]\n refs?: Array<{\n id: { ... }\n displayText: { ... }\n schema: { ... }\n }>\n }\n createdAt: string // date-time\n updatedAt: string // date-time\n}\n```\n\n### `ThreadSummaryPayload`\n\nPresent once the summary is generated\n\n```ts\ntype ThreadSummaryPayload = {\n summary?: string[]\n topics?: string[]\n next_steps?: string[]\n refs?: Array<{\n id: string\n displayText: string\n schema: string\n }>\n}\n```\n\n### `ThreadSummaryEntityRef`\n\n```ts\ntype ThreadSummaryEntityRef = {\n id: string\n displayText: string\n schema: string\n}\n```\n\n### `ThreadSummaryContext`\n\n```ts\ntype ThreadSummaryContext = {\n thread_id: string\n message_id: string\n subject: string\n conversation: string\n entity_context: string\n}\n```\n\n### `SimilarSentMessagesRequest`\n\n```ts\ntype SimilarSentMessagesRequest = {\n queries: string[]\n limit?: number\n min_score?: number\n}\n```\n\n### `SimilarSentMessagesResponse`\n\n```ts\ntype SimilarSentMessagesResponse = {\n results: Array<{\n message_id: string\n thread_id?: string\n subject?: string\n text: string\n created_at?: string\n score: number\n }>\n}\n```\n\n### `SimilarSentMessage`\n\n```ts\ntype SimilarSentMessage = {\n message_id: string\n thread_id?: string\n subject?: string\n text: string\n created_at?: string\n score: number\n}\n```\n\n### `ThreadTimeline`\n\n```ts\ntype ThreadTimeline = {\n events: Array<{\n id?: string\n data: {\n type: { ... }\n user_id: { ... }\n organization_id: { ... }\n } | {\n type: { ... }\n user_id: { ... }\n organization_id: { ... }\n } | {\n type: { ... }\n workflow_id?: { ... }\n workflow_name?: { ... }\n } | {\n type: { ... }\n added?: { ... }\n removed?: { ... }\n } | {\n type: { ... }\n label: { ... }\n label_name?: { ... }\n } | {\n type: { ... }\n label: { ... }\n label_name?: { ... }\n } | {\n type: { ... }\n entities?: { ... }\n link_kind?: { ... }\n from_suggestion?: { ... }\n } | {\n type: { ... }\n entities?: { ... }\n link_kind?: { ... }\n } | {\n type: { ... }\n suggestions?: { ... }\n } | {\n type: { ... }\n suggestions?: { ... }\n } | {\n type: { ... }\n reply_message_id?: { ... }\n parent_message_id?: { ... }\n } | {\n type: { ... }\n target_inbox_id?: { ... }\n target_inbox_name?: { ... }\n } | {\n type: { ... }\n } | {\n type: { ... }\n }\n timestamp: string\n message_id?: string\n source?: "user" | "automation" | "system"\n automated?: boolean\n actor?: {\n user_id?: { ... }\n email?: { ... }\n }\n automation?: {\n id?: { ... }\n name?: { ... }\n }\n }>\n}\n```\n\n### `ThreadDoneEvent`\n\n```ts\ntype ThreadDoneEvent = {\n type: "THREAD_DONE"\n user_id: string\n organization_id: string\n}\n```\n\n### `ThreadOpenEvent`\n\n```ts\ntype ThreadOpenEvent = {\n type: "THREAD_OPEN"\n user_id: string\n organization_id: string\n}\n```\n\n### `WorkflowStartedEvent`\n\n```ts\ntype WorkflowStartedEvent = {\n type: "WORKFLOW_STARTED"\n workflow_id?: string\n workflow_name?: string\n}\n```\n\n### `ThreadUserAssignedEvent`\n\n```ts\ntype ThreadUserAssignedEvent = {\n type: "THREAD_USER_ASSIGNED"\n added?: string[]\n removed?: string[]\n}\n```\n\n### `MessageLabelAddedEvent`\n\n```ts\ntype MessageLabelAddedEvent = {\n type: "MESSAGE_LABEL_ADDED"\n label: string\n label_name?: string\n}\n```\n\n### `MessageLabelRemovedEvent`\n\n```ts\ntype MessageLabelRemovedEvent = {\n type: "MESSAGE_LABEL_REMOVED"\n label: string\n label_name?: string\n}\n```\n\n### `MessageEntityLinkedEvent`\n\n```ts\ntype MessageEntityLinkedEvent = {\n type: "MESSAGE_ENTITY_LINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n from_suggestion?: boolean\n}\n```\n\n### `MessageEntityUnlinkedEvent`\n\n```ts\ntype MessageEntityUnlinkedEvent = {\n type: "MESSAGE_ENTITY_UNLINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n}\n```\n\n### `MessageAutoReplySentEvent`\n\n```ts\ntype MessageAutoReplySentEvent = {\n type: "MESSAGE_AUTO_REPLY_SENT"\n reply_message_id?: string\n parent_message_id?: string\n}\n```\n\n### `ThreadMovedToInboxEvent`\n\n```ts\ntype ThreadMovedToInboxEvent = {\n type: "THREAD_MOVED_TO_INBOX"\n target_inbox_id?: string\n target_inbox_name?: string\n}\n```\n\n### `ThreadTrashedEvent`\n\n```ts\ntype ThreadTrashedEvent = {\n type: "THREAD_TRASHED"\n}\n```\n\n### `ThreadRestoredEvent`\n\n```ts\ntype ThreadRestoredEvent = {\n type: "THREAD_RESTORED"\n}\n```\n\n### `LinkSuggestionCandidate`\n\n```ts\ntype LinkSuggestionCandidate = {\n entity_id: string\n schema: string\n attribute?: string\n attribute_value?: string\n title?: string\n status?: "pending" | "linked" | "dismissed"\n resolved_by?: {\n user_id?: string\n email?: string\n }\n resolved_at?: string // date-time\n}\n```\n\n### `LinkSuggestion`\n\n```ts\ntype LinkSuggestion = {\n id: string\n identifier: string\n found_in?: string\n status: "pending" | "accepted" | "dismissed"\n candidates: Array<{\n entity_id: string\n schema: string\n attribute?: string\n attribute_value?: string\n title?: string\n status?: "pending" | "linked" | "dismissed"\n resolved_by?: {\n user_id?: { ... }\n email?: { ... }\n }\n resolved_at?: string // date-time\n }>\n accepted_entity_ids?: string[]\n resolved_by?: {\n user_id?: string\n email?: string\n }\n resolved_at?: string // date-time\n created_at?: string // date-time\n}\n```\n\n### `TimelineLinkSuggestion`\n\n```ts\ntype TimelineLinkSuggestion = {\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: string\n schema?: string\n }>\n}\n```\n\n### `MessageEntityLinkSuggestedEvent`\n\n```ts\ntype MessageEntityLinkSuggestedEvent = {\n type: "MESSAGE_ENTITY_LINK_SUGGESTED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n}\n```\n\n### `MessageEntityLinkSuggestionDismissedEvent`\n\n```ts\ntype MessageEntityLinkSuggestionDismissedEvent = {\n type: "MESSAGE_ENTITY_LINK_SUGGESTION_DISMISSED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n}\n```\n\n### `TimelineLinkedEntity`\n\n```ts\ntype TimelineLinkedEntity = {\n entity_id: string\n schema?: string\n}\n```\n\n### `TimelineActor`\n\n```ts\ntype TimelineActor = {\n user_id?: string\n email?: string\n}\n```\n\n### `TimelineEventData`\n\n```ts\ntype TimelineEventData = {\n type: "THREAD_DONE"\n user_id: string\n organization_id: string\n} | {\n type: "THREAD_OPEN"\n user_id: string\n organization_id: string\n} | {\n type: "WORKFLOW_STARTED"\n workflow_id?: string\n workflow_name?: string\n} | {\n type: "THREAD_USER_ASSIGNED"\n added?: string[]\n removed?: string[]\n} | {\n type: "MESSAGE_LABEL_ADDED"\n label: string\n label_name?: string\n} | {\n type: "MESSAGE_LABEL_REMOVED"\n label: string\n label_name?: string\n} | {\n type: "MESSAGE_ENTITY_LINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n from_suggestion?: boolean\n} | {\n type: "MESSAGE_ENTITY_UNLINKED"\n entities?: Array<{\n entity_id: string\n schema?: string\n }>\n link_kind?: "manual" | "auto"\n} | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n} | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTION_DISMISSED"\n suggestions?: Array<{\n id?: string\n identifier: string\n candidates?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n }>\n} | {\n type: "MESSAGE_AUTO_REPLY_SENT"\n reply_message_id?: string\n parent_message_id?: string\n} | {\n type: "THREAD_MOVED_TO_INBOX"\n target_inbox_id?: string\n target_inbox_name?: string\n} | {\n type: "THREAD_TRASHED"\n} | {\n type: "THREAD_RESTORED"\n}\n```\n\n### `TimelineEvent`\n\n```ts\ntype TimelineEvent = {\n id?: string\n data: {\n type: "THREAD_DONE"\n user_id: string\n organization_id: string\n } | {\n type: "THREAD_OPEN"\n user_id: string\n organization_id: string\n } | {\n type: "WORKFLOW_STARTED"\n workflow_id?: string\n workflow_name?: string\n } | {\n type: "THREAD_USER_ASSIGNED"\n added?: string[]\n removed?: string[]\n } | {\n type: "MESSAGE_LABEL_ADDED"\n label: string\n label_name?: string\n } | {\n type: "MESSAGE_LABEL_REMOVED"\n label: string\n label_name?: string\n } | {\n type: "MESSAGE_ENTITY_LINKED"\n entities?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n link_kind?: "manual" | "auto"\n from_suggestion?: boolean\n } | {\n type: "MESSAGE_ENTITY_UNLINKED"\n entities?: Array<{\n entity_id: { ... }\n schema?: { ... }\n }>\n link_kind?: "manual" | "auto"\n } | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTED"\n suggestions?: Array<{\n id?: { ... }\n identifier: { ... }\n candidates?: { ... }\n }>\n } | {\n type: "MESSAGE_ENTITY_LINK_SUGGESTION_DISMISSED"\n suggestions?: Array<{\n id?: { ... }\n identifier: { ... }\n candidates?: { ... }\n }>\n } | {\n type: "MESSAGE_AUTO_REPLY_SENT"\n reply_message_id?: string\n parent_message_id?: string\n } | {\n type: "THREAD_MOVED_TO_INBOX"\n target_inbox_id?: string\n target_inbox_name?: string\n } | {\n type: "THREAD_TRASHED"\n } | {\n type: "THREAD_RESTORED"\n }\n timestamp: string\n message_id?: string\n source?: "user" | "automation" | "system"\n automated?: boolean\n actor?: {\n user_id?: string\n email?: string\n }\n automation?: {\n id?: string\n name?: string\n }\n}\n```\n\n### `BulkActionsPayloadWithScopes`\n\n```ts\ntype BulkActionsPayloadWithScopes = {\n ids: string[]\n assign_to?: string[]\n inbox_id?: string\n scopes?: "organization" | "user"[]\n}\n```\n\n### `BulkActionsPayload`\n\n```ts\ntype BulkActionsPayload = {\n ids: string[]\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.default = message_default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkAWYQVLERcjs = require('./chunk-AWYQVLER.cjs');
|
|
4
4
|
require('./chunk-NJK5F5TF.cjs');
|
|
5
|
-
exports. default =
|
|
5
|
+
exports. default = _chunkAWYQVLERcjs.require_message_runtime.call(void 0, );
|