@lessly/sdk-app 30.2.0 → 30.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/index.d.cts +1 -1
- package/dist/analytics/index.d.ts +1 -1
- package/dist/brain/index.cjs +0 -5
- package/dist/brain/index.cjs.map +1 -1
- package/dist/brain/index.d.cts +2 -6
- package/dist/brain/index.d.ts +2 -6
- package/dist/brain/index.js +1 -5
- package/dist/brain/index.js.map +1 -1
- package/dist/{client.gen-C6_mJktu.d.cts → client.gen-BsUBUFNz.d.cts} +1834 -231
- package/dist/{client.gen-C6_mJktu.d.ts → client.gen-BsUBUFNz.d.ts} +1834 -231
- package/dist/consent/index.d.cts +1 -1
- package/dist/consent/index.d.ts +1 -1
- package/dist/deployment/index.d.cts +1 -1
- package/dist/deployment/index.d.ts +1 -1
- package/dist/index.cjs +534 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +534 -36
- package/dist/index.js.map +1 -1
- package/dist/mail/index.d.cts +2 -2
- package/dist/mail/index.d.ts +2 -2
- package/dist/organization/index.cjs +0 -5
- package/dist/organization/index.cjs.map +1 -1
- package/dist/organization/index.d.cts +2 -6
- package/dist/organization/index.d.ts +2 -6
- package/dist/organization/index.js +1 -5
- package/dist/organization/index.js.map +1 -1
- package/dist/playground/index.cjs +66 -0
- package/dist/playground/index.cjs.map +1 -0
- package/dist/playground/index.d.cts +52 -0
- package/dist/playground/index.d.ts +52 -0
- package/dist/playground/index.js +53 -0
- package/dist/playground/index.js.map +1 -0
- package/dist/realtime/index.d.cts +1 -1
- package/dist/realtime/index.d.ts +1 -1
- package/dist/support/index.cjs +106 -0
- package/dist/support/index.cjs.map +1 -0
- package/dist/support/index.d.cts +84 -0
- package/dist/support/index.d.ts +84 -0
- package/dist/support/index.js +85 -0
- package/dist/support/index.js.map +1 -0
- package/dist/tracking/index.d.cts +1 -1
- package/dist/tracking/index.d.ts +1 -1
- package/dist/users/index.d.cts +1 -1
- package/dist/users/index.d.ts +1 -1
- package/dist/waitlist/index.d.cts +1 -1
- package/dist/waitlist/index.d.ts +1 -1
- package/package.json +12 -2
- package/src/gen/bindings.gen.ts +534 -36
- package/src/gen/brain/index.ts +1 -1
- package/src/gen/brain/queryOptions.gen.ts +0 -7
- package/src/gen/client.gen.ts +128 -8
- package/src/gen/manifest.gen.ts +1 -1
- package/src/gen/organization/index.ts +1 -1
- package/src/gen/organization/queryOptions.gen.ts +0 -6
- package/src/gen/playground/index.ts +3 -0
- package/src/gen/playground/queryOptions.gen.ts +86 -0
- package/src/gen/support/index.ts +3 -0
- package/src/gen/support/queryOptions.gen.ts +131 -0
- package/src/gen/types.gen.ts +1730 -118
package/src/gen/types.gen.ts
CHANGED
|
@@ -1028,98 +1028,6 @@ snapshotId: string
|
|
|
1028
1028
|
preRestoreSnapshotId: (string | null)
|
|
1029
1029
|
} | null)
|
|
1030
1030
|
|
|
1031
|
-
export interface BrainUsageReportInput {
|
|
1032
|
-
/**
|
|
1033
|
-
* How many UTC days of this product's ledger to return, ending today (default 30, max 90)
|
|
1034
|
-
*/
|
|
1035
|
-
days?: number
|
|
1036
|
-
}
|
|
1037
|
-
|
|
1038
|
-
export interface BrainUsageReportOutput {
|
|
1039
|
-
note: string
|
|
1040
|
-
/**
|
|
1041
|
-
* Brain's own ledger, for THIS product only
|
|
1042
|
-
*/
|
|
1043
|
-
product: {
|
|
1044
|
-
/**
|
|
1045
|
-
* Inclusive UTC end of the window (today), YYYY-MM-DD
|
|
1046
|
-
*/
|
|
1047
|
-
to: string
|
|
1048
|
-
/**
|
|
1049
|
-
* The window actually used, after clamping
|
|
1050
|
-
*/
|
|
1051
|
-
days: number
|
|
1052
|
-
/**
|
|
1053
|
-
* Inclusive UTC start of the window, YYYY-MM-DD
|
|
1054
|
-
*/
|
|
1055
|
-
from: string
|
|
1056
|
-
rows: {
|
|
1057
|
-
/**
|
|
1058
|
-
* 'sync' | 'batch'; '' when the push carried none
|
|
1059
|
-
*/
|
|
1060
|
-
mode: string
|
|
1061
|
-
/**
|
|
1062
|
-
* Manifest meter slug, e.g. llm-tokens
|
|
1063
|
-
*/
|
|
1064
|
-
meter: string
|
|
1065
|
-
/**
|
|
1066
|
-
* Model dimension; '' when the push carried none
|
|
1067
|
-
*/
|
|
1068
|
-
model: string
|
|
1069
|
-
/**
|
|
1070
|
-
* How many record() calls landed in this slice
|
|
1071
|
-
*/
|
|
1072
|
-
events: number
|
|
1073
|
-
/**
|
|
1074
|
-
* Tokens we metered for this slice, delivered or not
|
|
1075
|
-
*/
|
|
1076
|
-
tokens: number
|
|
1077
|
-
/**
|
|
1078
|
-
* Purpose dimension; '' when the push carried none
|
|
1079
|
-
*/
|
|
1080
|
-
purpose: string
|
|
1081
|
-
/**
|
|
1082
|
-
* UTC calendar day, YYYY-MM-DD
|
|
1083
|
-
*/
|
|
1084
|
-
usage_date: string
|
|
1085
|
-
/**
|
|
1086
|
-
* Of those events, how many billing did not accept
|
|
1087
|
-
*/
|
|
1088
|
-
delivery_failed: number
|
|
1089
|
-
}[]
|
|
1090
|
-
/**
|
|
1091
|
-
* The rows rolled up per meter across the whole window
|
|
1092
|
-
*/
|
|
1093
|
-
totals: {
|
|
1094
|
-
meter: string
|
|
1095
|
-
events: number
|
|
1096
|
-
tokens: number
|
|
1097
|
-
delivery_failed: number
|
|
1098
|
-
}[]
|
|
1099
|
-
product_id: string
|
|
1100
|
-
}
|
|
1101
|
-
/**
|
|
1102
|
-
* The platform billing aggregate for the whole ORG; null if it could not be read
|
|
1103
|
-
*/
|
|
1104
|
-
platform: ({
|
|
1105
|
-
plan: string
|
|
1106
|
-
scope: "org"
|
|
1107
|
-
meters: {
|
|
1108
|
-
unit?: string
|
|
1109
|
-
used?: number
|
|
1110
|
-
limit?: (number | null)
|
|
1111
|
-
remaining?: (number | null)
|
|
1112
|
-
unlimited?: boolean
|
|
1113
|
-
meter_slug: string
|
|
1114
|
-
}[]
|
|
1115
|
-
org_id: string
|
|
1116
|
-
} | null)
|
|
1117
|
-
/**
|
|
1118
|
-
* Why the platform aggregate is null; null when it was read successfully
|
|
1119
|
-
*/
|
|
1120
|
-
platform_error: (string | null)
|
|
1121
|
-
}
|
|
1122
|
-
|
|
1123
1031
|
export interface ConsentConfigCookieDomainUpsertInput {
|
|
1124
1032
|
cookieDomain: ("" | null | string)
|
|
1125
1033
|
}
|
|
@@ -12793,7 +12701,6 @@ provider: string
|
|
|
12793
12701
|
externalId: string
|
|
12794
12702
|
displayName: string
|
|
12795
12703
|
requestStatus: (("pending" | "denied") | null)
|
|
12796
|
-
organizationId: string
|
|
12797
12704
|
}[]
|
|
12798
12705
|
|
|
12799
12706
|
export interface OrganizationConnectorsListOrgInput {
|
|
@@ -12889,12 +12796,6 @@ domain: string
|
|
|
12889
12796
|
createdAt: string
|
|
12890
12797
|
createdBy: string
|
|
12891
12798
|
productId: string
|
|
12892
|
-
managedDns: ({
|
|
12893
|
-
tool: "organization_domains_set-mode"
|
|
12894
|
-
provider: "cloudflare"
|
|
12895
|
-
available: true
|
|
12896
|
-
providerConnectorId: string
|
|
12897
|
-
} | null)
|
|
12898
12799
|
providerConnectorId: (string | null)
|
|
12899
12800
|
}
|
|
12900
12801
|
|
|
@@ -12939,23 +12840,6 @@ export interface OrganizationDomainsRemoveOutput {
|
|
|
12939
12840
|
[k: string]: unknown
|
|
12940
12841
|
}
|
|
12941
12842
|
|
|
12942
|
-
export interface OrganizationDomainsSetModeInput {
|
|
12943
|
-
mode: ("managed" | "external")
|
|
12944
|
-
domainId: string
|
|
12945
|
-
productId: string
|
|
12946
|
-
providerConnectorId?: string
|
|
12947
|
-
}
|
|
12948
|
-
|
|
12949
|
-
export interface OrganizationDomainsSetModeOutput {
|
|
12950
|
-
id: string
|
|
12951
|
-
mode: ("external" | "managed")
|
|
12952
|
-
domain: string
|
|
12953
|
-
createdAt: string
|
|
12954
|
-
createdBy: string
|
|
12955
|
-
productId: string
|
|
12956
|
-
providerConnectorId: (string | null)
|
|
12957
|
-
}
|
|
12958
|
-
|
|
12959
12843
|
export interface OrganizationExtensionsListInstalledInput {
|
|
12960
12844
|
productId: string
|
|
12961
12845
|
}
|
|
@@ -13005,7 +12889,6 @@ connectors: {
|
|
|
13005
12889
|
id: string
|
|
13006
12890
|
externalId: string
|
|
13007
12891
|
displayName: string
|
|
13008
|
-
organizationId: string
|
|
13009
12892
|
attachedToThisProduct: boolean
|
|
13010
12893
|
}[]
|
|
13011
12894
|
}
|
|
@@ -13040,7 +12923,6 @@ name: string
|
|
|
13040
12923
|
role: ("owner" | "admin" | "member")
|
|
13041
12924
|
active: boolean
|
|
13042
12925
|
blockedAt: (string | null)
|
|
13043
|
-
blockReason: (("no_subscription" | "under_review") | null)
|
|
13044
12926
|
}[]
|
|
13045
12927
|
}
|
|
13046
12928
|
|
|
@@ -13634,6 +13516,226 @@ name: string
|
|
|
13634
13516
|
activeProductId: (string | null)
|
|
13635
13517
|
}
|
|
13636
13518
|
|
|
13519
|
+
export interface PlaygroundAnalyticsOverviewInput {
|
|
13520
|
+
/**
|
|
13521
|
+
* Max records per entity in recent[]; omit for the endpoint default
|
|
13522
|
+
*/
|
|
13523
|
+
limit?: number
|
|
13524
|
+
}
|
|
13525
|
+
|
|
13526
|
+
export interface PlaygroundAnalyticsOverviewOutput {
|
|
13527
|
+
ok: boolean
|
|
13528
|
+
minted: boolean
|
|
13529
|
+
overview?: unknown
|
|
13530
|
+
http_status: number
|
|
13531
|
+
}
|
|
13532
|
+
|
|
13533
|
+
export interface PlaygroundBillingEntitlementsInput {
|
|
13534
|
+
|
|
13535
|
+
}
|
|
13536
|
+
|
|
13537
|
+
export interface PlaygroundBillingEntitlementsOutput {
|
|
13538
|
+
ok: boolean
|
|
13539
|
+
minted: boolean
|
|
13540
|
+
http_status: number
|
|
13541
|
+
entitlements?: unknown
|
|
13542
|
+
}
|
|
13543
|
+
|
|
13544
|
+
export interface PlaygroundBillingRecordUsageInput {
|
|
13545
|
+
/**
|
|
13546
|
+
* Quantity of events to record against playground-events (SUM); defaults to 1
|
|
13547
|
+
*/
|
|
13548
|
+
value?: number
|
|
13549
|
+
}
|
|
13550
|
+
|
|
13551
|
+
export interface PlaygroundBillingRecordUsageOutput {
|
|
13552
|
+
minted: boolean
|
|
13553
|
+
accepted: (number | null)
|
|
13554
|
+
recorded: boolean
|
|
13555
|
+
duplicates: (number | null)
|
|
13556
|
+
http_status: number
|
|
13557
|
+
}
|
|
13558
|
+
|
|
13559
|
+
export interface PlaygroundClickupCreateTaskInput {
|
|
13560
|
+
/**
|
|
13561
|
+
* Task title; defaults to a fixture label
|
|
13562
|
+
*/
|
|
13563
|
+
name?: string
|
|
13564
|
+
/**
|
|
13565
|
+
* ClickUp list id; falls back to CLICKUP_TEST_LIST_ID
|
|
13566
|
+
*/
|
|
13567
|
+
listId?: string
|
|
13568
|
+
}
|
|
13569
|
+
|
|
13570
|
+
export interface PlaygroundClickupCreateTaskOutput {
|
|
13571
|
+
minted: boolean
|
|
13572
|
+
task_id: (string | null)
|
|
13573
|
+
list_status: number
|
|
13574
|
+
vend_status: number
|
|
13575
|
+
clickup_status: number
|
|
13576
|
+
installation_count: number
|
|
13577
|
+
}
|
|
13578
|
+
|
|
13579
|
+
export interface PlaygroundClickupGetLastWebhookInput {
|
|
13580
|
+
|
|
13581
|
+
}
|
|
13582
|
+
|
|
13583
|
+
export type PlaygroundClickupGetLastWebhookOutput = ({
|
|
13584
|
+
payload: string
|
|
13585
|
+
event_id: string
|
|
13586
|
+
provider: string
|
|
13587
|
+
verified: boolean
|
|
13588
|
+
product_id: string
|
|
13589
|
+
occurred_at: string
|
|
13590
|
+
connector_id: string
|
|
13591
|
+
clickup_event: (string | null)
|
|
13592
|
+
receipt_count: number
|
|
13593
|
+
} | {
|
|
13594
|
+
found: false
|
|
13595
|
+
})
|
|
13596
|
+
|
|
13597
|
+
export interface PlaygroundClickupGetOverviewInput {
|
|
13598
|
+
|
|
13599
|
+
}
|
|
13600
|
+
|
|
13601
|
+
export interface PlaygroundClickupGetOverviewOutput {
|
|
13602
|
+
team: ({
|
|
13603
|
+
teamId: string
|
|
13604
|
+
teamName: string
|
|
13605
|
+
} | null)
|
|
13606
|
+
lists: PlaygroundClickupGetOverviewOutputItems[]
|
|
13607
|
+
tasks: {
|
|
13608
|
+
id: string
|
|
13609
|
+
name: string
|
|
13610
|
+
status: (string | null)
|
|
13611
|
+
}[]
|
|
13612
|
+
minted: boolean
|
|
13613
|
+
spaces: PlaygroundClickupGetOverviewOutputItems[]
|
|
13614
|
+
list_status: number
|
|
13615
|
+
vend_status: number
|
|
13616
|
+
lists_status: number
|
|
13617
|
+
tasks_status: number
|
|
13618
|
+
spaces_status: number
|
|
13619
|
+
folders_status: number
|
|
13620
|
+
installation_count: number
|
|
13621
|
+
}
|
|
13622
|
+
export interface PlaygroundClickupGetOverviewOutputItems {
|
|
13623
|
+
id: string
|
|
13624
|
+
name: string
|
|
13625
|
+
}
|
|
13626
|
+
|
|
13627
|
+
export interface PlaygroundGdriveGetLastChangeInput {
|
|
13628
|
+
|
|
13629
|
+
}
|
|
13630
|
+
|
|
13631
|
+
export type PlaygroundGdriveGetLastChangeOutput = ({
|
|
13632
|
+
file_id: string
|
|
13633
|
+
removed: boolean
|
|
13634
|
+
file_name: (string | null)
|
|
13635
|
+
mime_type: (string | null)
|
|
13636
|
+
product_id: string
|
|
13637
|
+
occurred_at: string
|
|
13638
|
+
connector_id: string
|
|
13639
|
+
resource_state: string
|
|
13640
|
+
} | {
|
|
13641
|
+
found: false
|
|
13642
|
+
})
|
|
13643
|
+
|
|
13644
|
+
export interface PlaygroundGdriveReadFileInput {
|
|
13645
|
+
/**
|
|
13646
|
+
* Drive file id; falls back to GDRIVE_TEST_FILE_ID, then the first picked file
|
|
13647
|
+
*/
|
|
13648
|
+
fileId?: string
|
|
13649
|
+
}
|
|
13650
|
+
|
|
13651
|
+
export interface PlaygroundGdriveReadFileOutput {
|
|
13652
|
+
minted: boolean
|
|
13653
|
+
file_id: (string | null)
|
|
13654
|
+
file_name: (string | null)
|
|
13655
|
+
mime_type: (string | null)
|
|
13656
|
+
file_count: number
|
|
13657
|
+
get_status: number
|
|
13658
|
+
list_status: number
|
|
13659
|
+
vend_status: number
|
|
13660
|
+
content_bytes: (number | null)
|
|
13661
|
+
}
|
|
13662
|
+
|
|
13663
|
+
export interface PlaygroundGoogleadsReadCustomerInput {
|
|
13664
|
+
|
|
13665
|
+
}
|
|
13666
|
+
|
|
13667
|
+
export interface PlaygroundGoogleadsReadCustomerOutput {
|
|
13668
|
+
minted: boolean
|
|
13669
|
+
vended: boolean
|
|
13670
|
+
customer_id: (string | null)
|
|
13671
|
+
vend_status: number
|
|
13672
|
+
result_count: number
|
|
13673
|
+
search_status: number
|
|
13674
|
+
login_customer_id: (string | null)
|
|
13675
|
+
}
|
|
13676
|
+
|
|
13677
|
+
export interface PlaygroundLifecycleGetStateInput {
|
|
13678
|
+
|
|
13679
|
+
}
|
|
13680
|
+
|
|
13681
|
+
export interface PlaygroundLifecycleGetStateOutput {
|
|
13682
|
+
blocked: boolean
|
|
13683
|
+
archived: boolean
|
|
13684
|
+
productId: string
|
|
13685
|
+
lastBlockTransition: ({
|
|
13686
|
+
eventId: string
|
|
13687
|
+
eventName: string
|
|
13688
|
+
productId: string
|
|
13689
|
+
occurredAt: string
|
|
13690
|
+
recordedAt: string
|
|
13691
|
+
receiptCount: number
|
|
13692
|
+
organizationId: string
|
|
13693
|
+
cascadedFromOrg: boolean
|
|
13694
|
+
} | null)
|
|
13695
|
+
lastArchiveTransition: ({
|
|
13696
|
+
eventId: string
|
|
13697
|
+
eventName: string
|
|
13698
|
+
productId: string
|
|
13699
|
+
occurredAt: string
|
|
13700
|
+
recordedAt: string
|
|
13701
|
+
receiptCount: number
|
|
13702
|
+
organizationId: string
|
|
13703
|
+
cascadedFromOrg: boolean
|
|
13704
|
+
} | null)
|
|
13705
|
+
}
|
|
13706
|
+
|
|
13707
|
+
export interface PlaygroundLifecycleListEventsInput {
|
|
13708
|
+
|
|
13709
|
+
}
|
|
13710
|
+
|
|
13711
|
+
export type PlaygroundLifecycleListEventsOutput = {
|
|
13712
|
+
eventId: string
|
|
13713
|
+
eventName: string
|
|
13714
|
+
productId: string
|
|
13715
|
+
occurredAt: string
|
|
13716
|
+
recordedAt: string
|
|
13717
|
+
receiptCount: number
|
|
13718
|
+
organizationId: string
|
|
13719
|
+
cascadedFromOrg: boolean
|
|
13720
|
+
}[]
|
|
13721
|
+
|
|
13722
|
+
export interface PlaygroundWebhookGetLastInput {
|
|
13723
|
+
|
|
13724
|
+
}
|
|
13725
|
+
|
|
13726
|
+
export type PlaygroundWebhookGetLastOutput = ({
|
|
13727
|
+
payload?: unknown
|
|
13728
|
+
event_id: string
|
|
13729
|
+
provider: string
|
|
13730
|
+
verified: boolean
|
|
13731
|
+
product_id: string
|
|
13732
|
+
occurred_at: string
|
|
13733
|
+
connector_id: string
|
|
13734
|
+
delivery_count: number
|
|
13735
|
+
} | {
|
|
13736
|
+
found: false
|
|
13737
|
+
})
|
|
13738
|
+
|
|
13637
13739
|
export interface RealtimeArchiveExportInput {
|
|
13638
13740
|
/**
|
|
13639
13741
|
* Only entries with ts <= to_ts (epoch ms)
|
|
@@ -14555,6 +14657,1516 @@ updatedAt: string
|
|
|
14555
14657
|
description: (string | null)
|
|
14556
14658
|
}
|
|
14557
14659
|
|
|
14660
|
+
export interface SupportAgentCreateInput {
|
|
14661
|
+
/**
|
|
14662
|
+
* Job title shown under the name, e.g. "Support engineer"
|
|
14663
|
+
*/
|
|
14664
|
+
title?: string
|
|
14665
|
+
/**
|
|
14666
|
+
* Absolute URL of the agent avatar image
|
|
14667
|
+
*/
|
|
14668
|
+
avatarUrl?: string
|
|
14669
|
+
/**
|
|
14670
|
+
* Name the end user sees next to this agent replies
|
|
14671
|
+
*/
|
|
14672
|
+
displayName: string
|
|
14673
|
+
/**
|
|
14674
|
+
* Lessly identity to bind this profile to, stored verbatim as an opaque string. It is never resolved, validated against the platform or enriched. Omit it for a bot or a backend profile. At most one agent per product may claim a given Lessly user
|
|
14675
|
+
*/
|
|
14676
|
+
lesslyUserId?: string
|
|
14677
|
+
}
|
|
14678
|
+
|
|
14679
|
+
export interface SupportAgentCreateOutput {
|
|
14680
|
+
/**
|
|
14681
|
+
* Agent id
|
|
14682
|
+
*/
|
|
14683
|
+
id: string
|
|
14684
|
+
/**
|
|
14685
|
+
* Job title shown under the name, or null if unset
|
|
14686
|
+
*/
|
|
14687
|
+
title: (string | null)
|
|
14688
|
+
/**
|
|
14689
|
+
* A deactivated agent keeps its history but can no longer be put on a thread
|
|
14690
|
+
*/
|
|
14691
|
+
isActive: boolean
|
|
14692
|
+
/**
|
|
14693
|
+
* Avatar image URL, or null if unset
|
|
14694
|
+
*/
|
|
14695
|
+
avatarUrl: (string | null)
|
|
14696
|
+
/**
|
|
14697
|
+
* ISO-8601 creation timestamp
|
|
14698
|
+
*/
|
|
14699
|
+
createdAt: string
|
|
14700
|
+
/**
|
|
14701
|
+
* ISO-8601 last-modification timestamp
|
|
14702
|
+
*/
|
|
14703
|
+
updatedAt: string
|
|
14704
|
+
/**
|
|
14705
|
+
* Name shown next to the agent replies
|
|
14706
|
+
*/
|
|
14707
|
+
displayName: string
|
|
14708
|
+
/**
|
|
14709
|
+
* Bound Lessly identity, stored verbatim and resolved by nobody. Null for an unbound profile — a bot or the client's own backend, which replies just like anyone else
|
|
14710
|
+
*/
|
|
14711
|
+
lesslyUserId: (string | null)
|
|
14712
|
+
}
|
|
14713
|
+
|
|
14714
|
+
export interface SupportAgentGetInput {
|
|
14715
|
+
/**
|
|
14716
|
+
* Agent id
|
|
14717
|
+
*/
|
|
14718
|
+
id: string
|
|
14719
|
+
}
|
|
14720
|
+
|
|
14721
|
+
export interface SupportAgentGetOutput {
|
|
14722
|
+
/**
|
|
14723
|
+
* Agent id
|
|
14724
|
+
*/
|
|
14725
|
+
id: string
|
|
14726
|
+
/**
|
|
14727
|
+
* Job title shown under the name, or null if unset
|
|
14728
|
+
*/
|
|
14729
|
+
title: (string | null)
|
|
14730
|
+
/**
|
|
14731
|
+
* A deactivated agent keeps its history but can no longer be put on a thread
|
|
14732
|
+
*/
|
|
14733
|
+
isActive: boolean
|
|
14734
|
+
/**
|
|
14735
|
+
* Avatar image URL, or null if unset
|
|
14736
|
+
*/
|
|
14737
|
+
avatarUrl: (string | null)
|
|
14738
|
+
/**
|
|
14739
|
+
* ISO-8601 creation timestamp
|
|
14740
|
+
*/
|
|
14741
|
+
createdAt: string
|
|
14742
|
+
/**
|
|
14743
|
+
* ISO-8601 last-modification timestamp
|
|
14744
|
+
*/
|
|
14745
|
+
updatedAt: string
|
|
14746
|
+
/**
|
|
14747
|
+
* Name shown next to the agent replies
|
|
14748
|
+
*/
|
|
14749
|
+
displayName: string
|
|
14750
|
+
/**
|
|
14751
|
+
* Bound Lessly identity, stored verbatim and resolved by nobody. Null for an unbound profile — a bot or the client's own backend, which replies just like anyone else
|
|
14752
|
+
*/
|
|
14753
|
+
lesslyUserId: (string | null)
|
|
14754
|
+
}
|
|
14755
|
+
|
|
14756
|
+
export interface SupportAgentListInput {
|
|
14757
|
+
/**
|
|
14758
|
+
* Also return deactivated agents (default false)
|
|
14759
|
+
*/
|
|
14760
|
+
includeInactive?: boolean
|
|
14761
|
+
}
|
|
14762
|
+
|
|
14763
|
+
export interface SupportAgentListOutput {
|
|
14764
|
+
/**
|
|
14765
|
+
* The product support agents, by display name
|
|
14766
|
+
*/
|
|
14767
|
+
agents: {
|
|
14768
|
+
/**
|
|
14769
|
+
* Agent id
|
|
14770
|
+
*/
|
|
14771
|
+
id: string
|
|
14772
|
+
/**
|
|
14773
|
+
* Job title shown under the name, or null if unset
|
|
14774
|
+
*/
|
|
14775
|
+
title: (string | null)
|
|
14776
|
+
/**
|
|
14777
|
+
* A deactivated agent keeps its history but can no longer be put on a thread
|
|
14778
|
+
*/
|
|
14779
|
+
isActive: boolean
|
|
14780
|
+
/**
|
|
14781
|
+
* Avatar image URL, or null if unset
|
|
14782
|
+
*/
|
|
14783
|
+
avatarUrl: (string | null)
|
|
14784
|
+
/**
|
|
14785
|
+
* ISO-8601 creation timestamp
|
|
14786
|
+
*/
|
|
14787
|
+
createdAt: string
|
|
14788
|
+
/**
|
|
14789
|
+
* ISO-8601 last-modification timestamp
|
|
14790
|
+
*/
|
|
14791
|
+
updatedAt: string
|
|
14792
|
+
/**
|
|
14793
|
+
* Name shown next to the agent replies
|
|
14794
|
+
*/
|
|
14795
|
+
displayName: string
|
|
14796
|
+
/**
|
|
14797
|
+
* Bound Lessly identity, stored verbatim and resolved by nobody. Null for an unbound profile — a bot or the client's own backend, which replies just like anyone else
|
|
14798
|
+
*/
|
|
14799
|
+
lesslyUserId: (string | null)
|
|
14800
|
+
}[]
|
|
14801
|
+
}
|
|
14802
|
+
|
|
14803
|
+
export interface SupportAgentUpdateInput {
|
|
14804
|
+
/**
|
|
14805
|
+
* Agent id
|
|
14806
|
+
*/
|
|
14807
|
+
id: string
|
|
14808
|
+
/**
|
|
14809
|
+
* New job title, or null to clear it
|
|
14810
|
+
*/
|
|
14811
|
+
title?: (string | null)
|
|
14812
|
+
/**
|
|
14813
|
+
* Deactivate or reactivate. A deactivated agent keeps every message it wrote and every thread it already sits on, but cannot be assigned to another one
|
|
14814
|
+
*/
|
|
14815
|
+
isActive?: boolean
|
|
14816
|
+
/**
|
|
14817
|
+
* New avatar URL, or null to clear it
|
|
14818
|
+
*/
|
|
14819
|
+
avatarUrl?: (string | null)
|
|
14820
|
+
/**
|
|
14821
|
+
* Name the end user sees next to this agent replies
|
|
14822
|
+
*/
|
|
14823
|
+
displayName?: string
|
|
14824
|
+
/**
|
|
14825
|
+
* Lessly identity to bind, or null to unbind. Stored verbatim, resolved by nobody
|
|
14826
|
+
*/
|
|
14827
|
+
lesslyUserId?: (string | null)
|
|
14828
|
+
}
|
|
14829
|
+
|
|
14830
|
+
export interface SupportAgentUpdateOutput {
|
|
14831
|
+
/**
|
|
14832
|
+
* Agent id
|
|
14833
|
+
*/
|
|
14834
|
+
id: string
|
|
14835
|
+
/**
|
|
14836
|
+
* Job title shown under the name, or null if unset
|
|
14837
|
+
*/
|
|
14838
|
+
title: (string | null)
|
|
14839
|
+
/**
|
|
14840
|
+
* A deactivated agent keeps its history but can no longer be put on a thread
|
|
14841
|
+
*/
|
|
14842
|
+
isActive: boolean
|
|
14843
|
+
/**
|
|
14844
|
+
* Avatar image URL, or null if unset
|
|
14845
|
+
*/
|
|
14846
|
+
avatarUrl: (string | null)
|
|
14847
|
+
/**
|
|
14848
|
+
* ISO-8601 creation timestamp
|
|
14849
|
+
*/
|
|
14850
|
+
createdAt: string
|
|
14851
|
+
/**
|
|
14852
|
+
* ISO-8601 last-modification timestamp
|
|
14853
|
+
*/
|
|
14854
|
+
updatedAt: string
|
|
14855
|
+
/**
|
|
14856
|
+
* Name shown next to the agent replies
|
|
14857
|
+
*/
|
|
14858
|
+
displayName: string
|
|
14859
|
+
/**
|
|
14860
|
+
* Bound Lessly identity, stored verbatim and resolved by nobody. Null for an unbound profile — a bot or the client's own backend, which replies just like anyone else
|
|
14861
|
+
*/
|
|
14862
|
+
lesslyUserId: (string | null)
|
|
14863
|
+
}
|
|
14864
|
+
|
|
14865
|
+
export interface SupportAttachmentCreateInput {
|
|
14866
|
+
/**
|
|
14867
|
+
* Display name of the file, e.g. "invoice.pdf". Only the base name is used for the storage key; any directory part is discarded
|
|
14868
|
+
*/
|
|
14869
|
+
fileName: string
|
|
14870
|
+
/**
|
|
14871
|
+
* Thread the file belongs to. An attachment is created against a thread first and claimed by one of its messages later, when that message is posted
|
|
14872
|
+
*/
|
|
14873
|
+
threadId: string
|
|
14874
|
+
/**
|
|
14875
|
+
* Size of the file in bytes, at most 26214400. Declared up front so an oversized upload is refused before a URL is issued; finalize checks the real size again
|
|
14876
|
+
*/
|
|
14877
|
+
sizeBytes: number
|
|
14878
|
+
/**
|
|
14879
|
+
* MIME type of the file. The upload URL is signed for exactly this type, so the PUT must send the same Content-Type header or storage rejects it
|
|
14880
|
+
*/
|
|
14881
|
+
contentType: string
|
|
14882
|
+
}
|
|
14883
|
+
|
|
14884
|
+
export interface SupportAttachmentCreateOutput {
|
|
14885
|
+
/**
|
|
14886
|
+
* Attachment id
|
|
14887
|
+
*/
|
|
14888
|
+
id: string
|
|
14889
|
+
/**
|
|
14890
|
+
* pending: the row exists and an upload URL was issued, but no bytes have been confirmed. uploaded: finalize saw the object in storage. Only uploaded attachments can be attached to a message or downloaded
|
|
14891
|
+
*/
|
|
14892
|
+
status: ("pending" | "uploaded")
|
|
14893
|
+
/**
|
|
14894
|
+
* Display name of the file
|
|
14895
|
+
*/
|
|
14896
|
+
fileName: string
|
|
14897
|
+
/**
|
|
14898
|
+
* Thread this attachment belongs to
|
|
14899
|
+
*/
|
|
14900
|
+
threadId: string
|
|
14901
|
+
/**
|
|
14902
|
+
* ISO-8601 creation timestamp
|
|
14903
|
+
*/
|
|
14904
|
+
createdAt: string
|
|
14905
|
+
/**
|
|
14906
|
+
* The message that carries this attachment, or null while nothing claims it yet
|
|
14907
|
+
*/
|
|
14908
|
+
messageId: (string | null)
|
|
14909
|
+
/**
|
|
14910
|
+
* Size in bytes: what the caller declared while the attachment is pending, what storage reported once it is uploaded
|
|
14911
|
+
*/
|
|
14912
|
+
sizeBytes: number
|
|
14913
|
+
/**
|
|
14914
|
+
* Short-lived signed URL. PUT the file bytes here with the same Content-Type, then call support_attachment_finalize. The URL is a bearer credential for this one object
|
|
14915
|
+
*/
|
|
14916
|
+
uploadUrl: string
|
|
14917
|
+
/**
|
|
14918
|
+
* ISO-8601 timestamp of the confirmed upload, or null while pending
|
|
14919
|
+
*/
|
|
14920
|
+
uploadedAt: (string | null)
|
|
14921
|
+
/**
|
|
14922
|
+
* MIME type declared when the attachment was created
|
|
14923
|
+
*/
|
|
14924
|
+
contentType: string
|
|
14925
|
+
/**
|
|
14926
|
+
* ISO-8601 moment the upload URL stops working
|
|
14927
|
+
*/
|
|
14928
|
+
uploadExpiresAt: string
|
|
14929
|
+
}
|
|
14930
|
+
|
|
14931
|
+
export interface SupportAttachmentFinalizeInput {
|
|
14932
|
+
/**
|
|
14933
|
+
* The attachment whose upload should be confirmed, as returned by the create call
|
|
14934
|
+
*/
|
|
14935
|
+
attachmentId: string
|
|
14936
|
+
}
|
|
14937
|
+
|
|
14938
|
+
export interface SupportAttachmentFinalizeOutput {
|
|
14939
|
+
/**
|
|
14940
|
+
* Attachment id
|
|
14941
|
+
*/
|
|
14942
|
+
id: string
|
|
14943
|
+
/**
|
|
14944
|
+
* pending: the row exists and an upload URL was issued, but no bytes have been confirmed. uploaded: finalize saw the object in storage. Only uploaded attachments can be attached to a message or downloaded
|
|
14945
|
+
*/
|
|
14946
|
+
status: ("pending" | "uploaded")
|
|
14947
|
+
/**
|
|
14948
|
+
* Display name of the file
|
|
14949
|
+
*/
|
|
14950
|
+
fileName: string
|
|
14951
|
+
/**
|
|
14952
|
+
* Thread this attachment belongs to
|
|
14953
|
+
*/
|
|
14954
|
+
threadId: string
|
|
14955
|
+
/**
|
|
14956
|
+
* ISO-8601 creation timestamp
|
|
14957
|
+
*/
|
|
14958
|
+
createdAt: string
|
|
14959
|
+
/**
|
|
14960
|
+
* The message that carries this attachment, or null while nothing claims it yet
|
|
14961
|
+
*/
|
|
14962
|
+
messageId: (string | null)
|
|
14963
|
+
/**
|
|
14964
|
+
* Size in bytes: what the caller declared while the attachment is pending, what storage reported once it is uploaded
|
|
14965
|
+
*/
|
|
14966
|
+
sizeBytes: number
|
|
14967
|
+
/**
|
|
14968
|
+
* ISO-8601 timestamp of the confirmed upload, or null while pending
|
|
14969
|
+
*/
|
|
14970
|
+
uploadedAt: (string | null)
|
|
14971
|
+
/**
|
|
14972
|
+
* MIME type declared when the attachment was created
|
|
14973
|
+
*/
|
|
14974
|
+
contentType: string
|
|
14975
|
+
/**
|
|
14976
|
+
* Short-lived signed URL to read the uploaded file
|
|
14977
|
+
*/
|
|
14978
|
+
downloadUrl: string
|
|
14979
|
+
}
|
|
14980
|
+
|
|
14981
|
+
export interface SupportLabelCreateInput {
|
|
14982
|
+
/**
|
|
14983
|
+
* Label name as the customer wants to see it. Unique within the product
|
|
14984
|
+
*/
|
|
14985
|
+
name: string
|
|
14986
|
+
/**
|
|
14987
|
+
* Optional display colour as a six-digit hex string, e.g. #2563eb
|
|
14988
|
+
*/
|
|
14989
|
+
color?: string
|
|
14990
|
+
}
|
|
14991
|
+
|
|
14992
|
+
export interface SupportLabelCreateOutput {
|
|
14993
|
+
/**
|
|
14994
|
+
* Label id
|
|
14995
|
+
*/
|
|
14996
|
+
id: string
|
|
14997
|
+
/**
|
|
14998
|
+
* Label name, unique within the product
|
|
14999
|
+
*/
|
|
15000
|
+
name: string
|
|
15001
|
+
/**
|
|
15002
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15003
|
+
*/
|
|
15004
|
+
color: (string | null)
|
|
15005
|
+
/**
|
|
15006
|
+
* ISO-8601 creation timestamp
|
|
15007
|
+
*/
|
|
15008
|
+
createdAt: string
|
|
15009
|
+
}
|
|
15010
|
+
|
|
15011
|
+
export interface SupportLabelListInput {
|
|
15012
|
+
|
|
15013
|
+
}
|
|
15014
|
+
|
|
15015
|
+
export interface SupportLabelListOutput {
|
|
15016
|
+
/**
|
|
15017
|
+
* The product label dictionary, by name
|
|
15018
|
+
*/
|
|
15019
|
+
labels: {
|
|
15020
|
+
/**
|
|
15021
|
+
* Label id
|
|
15022
|
+
*/
|
|
15023
|
+
id: string
|
|
15024
|
+
/**
|
|
15025
|
+
* Label name, unique within the product
|
|
15026
|
+
*/
|
|
15027
|
+
name: string
|
|
15028
|
+
/**
|
|
15029
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15030
|
+
*/
|
|
15031
|
+
color: (string | null)
|
|
15032
|
+
/**
|
|
15033
|
+
* ISO-8601 creation timestamp
|
|
15034
|
+
*/
|
|
15035
|
+
createdAt: string
|
|
15036
|
+
}[]
|
|
15037
|
+
}
|
|
15038
|
+
|
|
15039
|
+
export interface SupportMessageCreateInput {
|
|
15040
|
+
/**
|
|
15041
|
+
* The message text, stored verbatim
|
|
15042
|
+
*/
|
|
15043
|
+
body: string
|
|
15044
|
+
/**
|
|
15045
|
+
* Id of the thread this message belongs to
|
|
15046
|
+
*/
|
|
15047
|
+
threadId: string
|
|
15048
|
+
/**
|
|
15049
|
+
* inbound: written by the external end user. outbound: written by support, going out to them
|
|
15050
|
+
*/
|
|
15051
|
+
direction: ("inbound" | "outbound")
|
|
15052
|
+
/**
|
|
15053
|
+
* Defaults to public when omitted. Internal notes are never shown to the end user
|
|
15054
|
+
*/
|
|
15055
|
+
visibility?: ("public" | "internal")
|
|
15056
|
+
/**
|
|
15057
|
+
* Files this message carries, created with support_attachment_create and confirmed with support_attachment_finalize beforehand. Each must be an uploaded attachment of the same thread that no other message already carries; otherwise the whole message is refused. At most 10 per message
|
|
15058
|
+
*
|
|
15059
|
+
* @maxItems 10
|
|
15060
|
+
*/
|
|
15061
|
+
attachmentIds?: []|[string]|[string, string]|[string, string, string]|[string, string, string, string]|[string, string, string, string, string]|[string, string, string, string, string, string]|[string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string]
|
|
15062
|
+
/**
|
|
15063
|
+
* The support agent of this product who wrote the message. Set this exactly when the message comes from inside the support contour; leave authorExternalId empty. An agent of another product is reported as not found
|
|
15064
|
+
*/
|
|
15065
|
+
authorAgentId?: string
|
|
15066
|
+
/**
|
|
15067
|
+
* Opaque identifier of the external end user in the client's own user base, stored verbatim. Set this exactly when the message comes from outside; leave authorAgentId empty
|
|
15068
|
+
*/
|
|
15069
|
+
authorExternalId?: string
|
|
15070
|
+
}
|
|
15071
|
+
|
|
15072
|
+
export interface SupportMessageCreateOutput {
|
|
15073
|
+
/**
|
|
15074
|
+
* Message id
|
|
15075
|
+
*/
|
|
15076
|
+
id: string
|
|
15077
|
+
/**
|
|
15078
|
+
* The message text, byte-identical to what was stored
|
|
15079
|
+
*/
|
|
15080
|
+
body: string
|
|
15081
|
+
/**
|
|
15082
|
+
* Thread this message belongs to
|
|
15083
|
+
*/
|
|
15084
|
+
threadId: string
|
|
15085
|
+
/**
|
|
15086
|
+
* ISO-8601 creation timestamp
|
|
15087
|
+
*/
|
|
15088
|
+
createdAt: string
|
|
15089
|
+
/**
|
|
15090
|
+
* inbound: written by the external end user. outbound: written by support, going out to them
|
|
15091
|
+
*/
|
|
15092
|
+
direction: ("inbound" | "outbound")
|
|
15093
|
+
/**
|
|
15094
|
+
* public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
|
|
15095
|
+
*/
|
|
15096
|
+
visibility: ("public" | "internal")
|
|
15097
|
+
/**
|
|
15098
|
+
* Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
|
|
15099
|
+
*/
|
|
15100
|
+
attachments: {
|
|
15101
|
+
/**
|
|
15102
|
+
* Attachment id
|
|
15103
|
+
*/
|
|
15104
|
+
id: string
|
|
15105
|
+
/**
|
|
15106
|
+
* Display name of the file
|
|
15107
|
+
*/
|
|
15108
|
+
fileName: string
|
|
15109
|
+
/**
|
|
15110
|
+
* ISO-8601 timestamp of when the attachment was created
|
|
15111
|
+
*/
|
|
15112
|
+
createdAt: string
|
|
15113
|
+
/**
|
|
15114
|
+
* Size in bytes as reported by storage
|
|
15115
|
+
*/
|
|
15116
|
+
sizeBytes: number
|
|
15117
|
+
/**
|
|
15118
|
+
* MIME type of the file
|
|
15119
|
+
*/
|
|
15120
|
+
contentType: string
|
|
15121
|
+
/**
|
|
15122
|
+
* Short-lived signed URL to read the file. Re-read the message to get a fresh one
|
|
15123
|
+
*/
|
|
15124
|
+
downloadUrl: string
|
|
15125
|
+
}[]
|
|
15126
|
+
/**
|
|
15127
|
+
* The agent author, or null when the external end user wrote the message
|
|
15128
|
+
*/
|
|
15129
|
+
authorAgentId: (string | null)
|
|
15130
|
+
/**
|
|
15131
|
+
* The external author, or null when an agent wrote the message
|
|
15132
|
+
*/
|
|
15133
|
+
authorExternalId: (string | null)
|
|
15134
|
+
}
|
|
15135
|
+
|
|
15136
|
+
export interface SupportMessageListInput {
|
|
15137
|
+
/**
|
|
15138
|
+
* Page size, 1..100 (default 50)
|
|
15139
|
+
*/
|
|
15140
|
+
limit?: number
|
|
15141
|
+
/**
|
|
15142
|
+
* Number of messages to skip
|
|
15143
|
+
*/
|
|
15144
|
+
offset?: number
|
|
15145
|
+
/**
|
|
15146
|
+
* Thread whose messages to list. Messages exist only inside a thread
|
|
15147
|
+
*/
|
|
15148
|
+
threadId: string
|
|
15149
|
+
/**
|
|
15150
|
+
* Only messages in this direction
|
|
15151
|
+
*/
|
|
15152
|
+
direction?: ("inbound" | "outbound")
|
|
15153
|
+
/**
|
|
15154
|
+
* Only messages with this visibility. Omit to get both public and internal
|
|
15155
|
+
*/
|
|
15156
|
+
visibility?: ("public" | "internal")
|
|
15157
|
+
}
|
|
15158
|
+
|
|
15159
|
+
export interface SupportMessageListOutput {
|
|
15160
|
+
/**
|
|
15161
|
+
* Page size that was applied
|
|
15162
|
+
*/
|
|
15163
|
+
limit: number
|
|
15164
|
+
/**
|
|
15165
|
+
* Offset that was applied
|
|
15166
|
+
*/
|
|
15167
|
+
offset: number
|
|
15168
|
+
/**
|
|
15169
|
+
* The requested page of messages, oldest first — the conversation reads forward
|
|
15170
|
+
*/
|
|
15171
|
+
messages: {
|
|
15172
|
+
/**
|
|
15173
|
+
* Message id
|
|
15174
|
+
*/
|
|
15175
|
+
id: string
|
|
15176
|
+
/**
|
|
15177
|
+
* The message text, byte-identical to what was stored
|
|
15178
|
+
*/
|
|
15179
|
+
body: string
|
|
15180
|
+
/**
|
|
15181
|
+
* Thread this message belongs to
|
|
15182
|
+
*/
|
|
15183
|
+
threadId: string
|
|
15184
|
+
/**
|
|
15185
|
+
* ISO-8601 creation timestamp
|
|
15186
|
+
*/
|
|
15187
|
+
createdAt: string
|
|
15188
|
+
/**
|
|
15189
|
+
* inbound: written by the external end user. outbound: written by support, going out to them
|
|
15190
|
+
*/
|
|
15191
|
+
direction: ("inbound" | "outbound")
|
|
15192
|
+
/**
|
|
15193
|
+
* public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
|
|
15194
|
+
*/
|
|
15195
|
+
visibility: ("public" | "internal")
|
|
15196
|
+
/**
|
|
15197
|
+
* Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
|
|
15198
|
+
*/
|
|
15199
|
+
attachments: {
|
|
15200
|
+
/**
|
|
15201
|
+
* Attachment id
|
|
15202
|
+
*/
|
|
15203
|
+
id: string
|
|
15204
|
+
/**
|
|
15205
|
+
* Display name of the file
|
|
15206
|
+
*/
|
|
15207
|
+
fileName: string
|
|
15208
|
+
/**
|
|
15209
|
+
* ISO-8601 timestamp of when the attachment was created
|
|
15210
|
+
*/
|
|
15211
|
+
createdAt: string
|
|
15212
|
+
/**
|
|
15213
|
+
* Size in bytes as reported by storage
|
|
15214
|
+
*/
|
|
15215
|
+
sizeBytes: number
|
|
15216
|
+
/**
|
|
15217
|
+
* MIME type of the file
|
|
15218
|
+
*/
|
|
15219
|
+
contentType: string
|
|
15220
|
+
/**
|
|
15221
|
+
* Short-lived signed URL to read the file. Re-read the message to get a fresh one
|
|
15222
|
+
*/
|
|
15223
|
+
downloadUrl: string
|
|
15224
|
+
}[]
|
|
15225
|
+
/**
|
|
15226
|
+
* The agent author, or null when the external end user wrote the message
|
|
15227
|
+
*/
|
|
15228
|
+
authorAgentId: (string | null)
|
|
15229
|
+
/**
|
|
15230
|
+
* The external author, or null when an agent wrote the message
|
|
15231
|
+
*/
|
|
15232
|
+
authorExternalId: (string | null)
|
|
15233
|
+
}[]
|
|
15234
|
+
}
|
|
15235
|
+
|
|
15236
|
+
export interface SupportStatusArchiveInput {
|
|
15237
|
+
/**
|
|
15238
|
+
* Status id
|
|
15239
|
+
*/
|
|
15240
|
+
id: string
|
|
15241
|
+
/**
|
|
15242
|
+
* Live status every thread on the archived status moves to, in the same transaction
|
|
15243
|
+
*/
|
|
15244
|
+
targetStatusId: string
|
|
15245
|
+
}
|
|
15246
|
+
|
|
15247
|
+
export interface SupportStatusArchiveOutput {
|
|
15248
|
+
/**
|
|
15249
|
+
* Status id
|
|
15250
|
+
*/
|
|
15251
|
+
id: string
|
|
15252
|
+
/**
|
|
15253
|
+
* Status name, unique within the product
|
|
15254
|
+
*/
|
|
15255
|
+
name: string
|
|
15256
|
+
/**
|
|
15257
|
+
* Display colour as a hex string
|
|
15258
|
+
*/
|
|
15259
|
+
color: string
|
|
15260
|
+
/**
|
|
15261
|
+
* Sort order within the status dictionary
|
|
15262
|
+
*/
|
|
15263
|
+
order: number
|
|
15264
|
+
/**
|
|
15265
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15266
|
+
*/
|
|
15267
|
+
archived: boolean
|
|
15268
|
+
/**
|
|
15269
|
+
* Lifecycle bucket the status belongs to
|
|
15270
|
+
*/
|
|
15271
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15272
|
+
}
|
|
15273
|
+
|
|
15274
|
+
export interface SupportStatusCreateInput {
|
|
15275
|
+
/**
|
|
15276
|
+
* Status name as the customer wants to see it. Unique within the product
|
|
15277
|
+
*/
|
|
15278
|
+
name: string
|
|
15279
|
+
/**
|
|
15280
|
+
* Display colour as a six-digit hex string, e.g. #2563eb
|
|
15281
|
+
*/
|
|
15282
|
+
color: string
|
|
15283
|
+
/**
|
|
15284
|
+
* Sort order within the status dictionary, lowest first
|
|
15285
|
+
*/
|
|
15286
|
+
order: number
|
|
15287
|
+
/**
|
|
15288
|
+
* Lifecycle bucket the status belongs to. Automation and reporting read the category, never the name — so it cannot be changed once threads sit on the status
|
|
15289
|
+
*/
|
|
15290
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15291
|
+
}
|
|
15292
|
+
|
|
15293
|
+
export interface SupportStatusCreateOutput {
|
|
15294
|
+
/**
|
|
15295
|
+
* Status id
|
|
15296
|
+
*/
|
|
15297
|
+
id: string
|
|
15298
|
+
/**
|
|
15299
|
+
* Status name, unique within the product
|
|
15300
|
+
*/
|
|
15301
|
+
name: string
|
|
15302
|
+
/**
|
|
15303
|
+
* Display colour as a hex string
|
|
15304
|
+
*/
|
|
15305
|
+
color: string
|
|
15306
|
+
/**
|
|
15307
|
+
* Sort order within the status dictionary
|
|
15308
|
+
*/
|
|
15309
|
+
order: number
|
|
15310
|
+
/**
|
|
15311
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15312
|
+
*/
|
|
15313
|
+
archived: boolean
|
|
15314
|
+
/**
|
|
15315
|
+
* Lifecycle bucket the status belongs to
|
|
15316
|
+
*/
|
|
15317
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15318
|
+
}
|
|
15319
|
+
|
|
15320
|
+
export interface SupportStatusListInput {
|
|
15321
|
+
/**
|
|
15322
|
+
* Also return archived statuses (default false)
|
|
15323
|
+
*/
|
|
15324
|
+
includeArchived?: boolean
|
|
15325
|
+
}
|
|
15326
|
+
|
|
15327
|
+
export interface SupportStatusListOutput {
|
|
15328
|
+
/**
|
|
15329
|
+
* The product status dictionary, in display order
|
|
15330
|
+
*/
|
|
15331
|
+
statuses: {
|
|
15332
|
+
/**
|
|
15333
|
+
* Status id
|
|
15334
|
+
*/
|
|
15335
|
+
id: string
|
|
15336
|
+
/**
|
|
15337
|
+
* Status name, unique within the product
|
|
15338
|
+
*/
|
|
15339
|
+
name: string
|
|
15340
|
+
/**
|
|
15341
|
+
* Display colour as a hex string
|
|
15342
|
+
*/
|
|
15343
|
+
color: string
|
|
15344
|
+
/**
|
|
15345
|
+
* Sort order within the status dictionary
|
|
15346
|
+
*/
|
|
15347
|
+
order: number
|
|
15348
|
+
/**
|
|
15349
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15350
|
+
*/
|
|
15351
|
+
archived: boolean
|
|
15352
|
+
/**
|
|
15353
|
+
* Lifecycle bucket the status belongs to
|
|
15354
|
+
*/
|
|
15355
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15356
|
+
}[]
|
|
15357
|
+
}
|
|
15358
|
+
|
|
15359
|
+
export interface SupportStatusUpdateInput {
|
|
15360
|
+
/**
|
|
15361
|
+
* Status id
|
|
15362
|
+
*/
|
|
15363
|
+
id: string
|
|
15364
|
+
/**
|
|
15365
|
+
* Status name as the customer wants to see it. Unique within the product
|
|
15366
|
+
*/
|
|
15367
|
+
name?: string
|
|
15368
|
+
/**
|
|
15369
|
+
* Display colour as a six-digit hex string, e.g. #2563eb
|
|
15370
|
+
*/
|
|
15371
|
+
color?: string
|
|
15372
|
+
/**
|
|
15373
|
+
* Sort order within the status dictionary, lowest first
|
|
15374
|
+
*/
|
|
15375
|
+
order?: number
|
|
15376
|
+
/**
|
|
15377
|
+
* New lifecycle bucket. Refused while any thread references the status
|
|
15378
|
+
*/
|
|
15379
|
+
category?: ("open" | "pending" | "resolved" | "closed")
|
|
15380
|
+
}
|
|
15381
|
+
|
|
15382
|
+
export interface SupportStatusUpdateOutput {
|
|
15383
|
+
/**
|
|
15384
|
+
* Status id
|
|
15385
|
+
*/
|
|
15386
|
+
id: string
|
|
15387
|
+
/**
|
|
15388
|
+
* Status name, unique within the product
|
|
15389
|
+
*/
|
|
15390
|
+
name: string
|
|
15391
|
+
/**
|
|
15392
|
+
* Display colour as a hex string
|
|
15393
|
+
*/
|
|
15394
|
+
color: string
|
|
15395
|
+
/**
|
|
15396
|
+
* Sort order within the status dictionary
|
|
15397
|
+
*/
|
|
15398
|
+
order: number
|
|
15399
|
+
/**
|
|
15400
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15401
|
+
*/
|
|
15402
|
+
archived: boolean
|
|
15403
|
+
/**
|
|
15404
|
+
* Lifecycle bucket the status belongs to
|
|
15405
|
+
*/
|
|
15406
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15407
|
+
}
|
|
15408
|
+
|
|
15409
|
+
export interface SupportThreadAssignInput {
|
|
15410
|
+
/**
|
|
15411
|
+
* Thread id
|
|
15412
|
+
*/
|
|
15413
|
+
id: string
|
|
15414
|
+
/**
|
|
15415
|
+
* Support agent of this product to put on the thread, or null to return it to the unassigned queue. An agent of another product is reported as not found
|
|
15416
|
+
*/
|
|
15417
|
+
agentId: (string | null)
|
|
15418
|
+
}
|
|
15419
|
+
|
|
15420
|
+
export interface SupportThreadAssignOutput {
|
|
15421
|
+
/**
|
|
15422
|
+
* Thread id
|
|
15423
|
+
*/
|
|
15424
|
+
id: string
|
|
15425
|
+
/**
|
|
15426
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
15427
|
+
*/
|
|
15428
|
+
type: ("ticket" | "feedback")
|
|
15429
|
+
/**
|
|
15430
|
+
* Thread subject
|
|
15431
|
+
*/
|
|
15432
|
+
title: string
|
|
15433
|
+
/**
|
|
15434
|
+
* Every label on the thread, by name
|
|
15435
|
+
*/
|
|
15436
|
+
labels: {
|
|
15437
|
+
/**
|
|
15438
|
+
* Label id
|
|
15439
|
+
*/
|
|
15440
|
+
id: string
|
|
15441
|
+
/**
|
|
15442
|
+
* Label name, unique within the product
|
|
15443
|
+
*/
|
|
15444
|
+
name: string
|
|
15445
|
+
/**
|
|
15446
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15447
|
+
*/
|
|
15448
|
+
color: (string | null)
|
|
15449
|
+
/**
|
|
15450
|
+
* ISO-8601 creation timestamp
|
|
15451
|
+
*/
|
|
15452
|
+
createdAt: string
|
|
15453
|
+
}[]
|
|
15454
|
+
/**
|
|
15455
|
+
* The status itself, joined in at read time
|
|
15456
|
+
*/
|
|
15457
|
+
status: {
|
|
15458
|
+
/**
|
|
15459
|
+
* Status id
|
|
15460
|
+
*/
|
|
15461
|
+
id: string
|
|
15462
|
+
/**
|
|
15463
|
+
* Status name, unique within the product
|
|
15464
|
+
*/
|
|
15465
|
+
name: string
|
|
15466
|
+
/**
|
|
15467
|
+
* Display colour as a hex string
|
|
15468
|
+
*/
|
|
15469
|
+
color: string
|
|
15470
|
+
/**
|
|
15471
|
+
* Sort order within the status dictionary
|
|
15472
|
+
*/
|
|
15473
|
+
order: number
|
|
15474
|
+
/**
|
|
15475
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15476
|
+
*/
|
|
15477
|
+
archived: boolean
|
|
15478
|
+
/**
|
|
15479
|
+
* Lifecycle bucket the status belongs to
|
|
15480
|
+
*/
|
|
15481
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15482
|
+
}
|
|
15483
|
+
/**
|
|
15484
|
+
* Free-form client-owned JSON
|
|
15485
|
+
*/
|
|
15486
|
+
metadata: {
|
|
15487
|
+
[k: string]: unknown
|
|
15488
|
+
}
|
|
15489
|
+
/**
|
|
15490
|
+
* Thread priority
|
|
15491
|
+
*/
|
|
15492
|
+
priority: ("low" | "normal" | "high" | "urgent")
|
|
15493
|
+
/**
|
|
15494
|
+
* Id of the status the thread sits on
|
|
15495
|
+
*/
|
|
15496
|
+
statusId: string
|
|
15497
|
+
/**
|
|
15498
|
+
* ISO-8601 creation timestamp
|
|
15499
|
+
*/
|
|
15500
|
+
createdAt: string
|
|
15501
|
+
/**
|
|
15502
|
+
* ISO-8601 last-modification timestamp
|
|
15503
|
+
*/
|
|
15504
|
+
updatedAt: string
|
|
15505
|
+
/**
|
|
15506
|
+
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
15507
|
+
*/
|
|
15508
|
+
lastReplyAt: (string | null)
|
|
15509
|
+
/**
|
|
15510
|
+
* Display name for the external author, if given
|
|
15511
|
+
*/
|
|
15512
|
+
authorDisplay: (string | null)
|
|
15513
|
+
/**
|
|
15514
|
+
* Assigned agent, or null while unassigned
|
|
15515
|
+
*/
|
|
15516
|
+
assignedAgentId: (string | null)
|
|
15517
|
+
/**
|
|
15518
|
+
* The external author, byte-identical to what was stored
|
|
15519
|
+
*/
|
|
15520
|
+
authorExternalId: string
|
|
15521
|
+
}
|
|
15522
|
+
|
|
15523
|
+
export interface SupportThreadCreateInput {
|
|
15524
|
+
/**
|
|
15525
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
15526
|
+
*/
|
|
15527
|
+
type: ("ticket" | "feedback")
|
|
15528
|
+
/**
|
|
15529
|
+
* Short human-readable subject of the thread
|
|
15530
|
+
*/
|
|
15531
|
+
title: string
|
|
15532
|
+
/**
|
|
15533
|
+
* Labels to put on the new thread
|
|
15534
|
+
*
|
|
15535
|
+
* @maxItems 50
|
|
15536
|
+
*/
|
|
15537
|
+
labelIds?: string[]
|
|
15538
|
+
/**
|
|
15539
|
+
* Free-form client-owned JSON attached to the thread
|
|
15540
|
+
*/
|
|
15541
|
+
metadata?: {
|
|
15542
|
+
[k: string]: unknown
|
|
15543
|
+
}
|
|
15544
|
+
/**
|
|
15545
|
+
* Optional display name for the external author, as the client already knows it
|
|
15546
|
+
*/
|
|
15547
|
+
authorDisplay?: string
|
|
15548
|
+
/**
|
|
15549
|
+
* Opaque identifier of the external end user in the client's own user base. Stored verbatim: never resolved, normalised or enriched, and it is not a Lessly identity
|
|
15550
|
+
*/
|
|
15551
|
+
authorExternalId: string
|
|
15552
|
+
}
|
|
15553
|
+
|
|
15554
|
+
export interface SupportThreadCreateOutput {
|
|
15555
|
+
/**
|
|
15556
|
+
* Thread id
|
|
15557
|
+
*/
|
|
15558
|
+
id: string
|
|
15559
|
+
/**
|
|
15560
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
15561
|
+
*/
|
|
15562
|
+
type: ("ticket" | "feedback")
|
|
15563
|
+
/**
|
|
15564
|
+
* Thread subject
|
|
15565
|
+
*/
|
|
15566
|
+
title: string
|
|
15567
|
+
/**
|
|
15568
|
+
* Every label on the thread, by name
|
|
15569
|
+
*/
|
|
15570
|
+
labels: {
|
|
15571
|
+
/**
|
|
15572
|
+
* Label id
|
|
15573
|
+
*/
|
|
15574
|
+
id: string
|
|
15575
|
+
/**
|
|
15576
|
+
* Label name, unique within the product
|
|
15577
|
+
*/
|
|
15578
|
+
name: string
|
|
15579
|
+
/**
|
|
15580
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15581
|
+
*/
|
|
15582
|
+
color: (string | null)
|
|
15583
|
+
/**
|
|
15584
|
+
* ISO-8601 creation timestamp
|
|
15585
|
+
*/
|
|
15586
|
+
createdAt: string
|
|
15587
|
+
}[]
|
|
15588
|
+
/**
|
|
15589
|
+
* The status itself, joined in at read time
|
|
15590
|
+
*/
|
|
15591
|
+
status: {
|
|
15592
|
+
/**
|
|
15593
|
+
* Status id
|
|
15594
|
+
*/
|
|
15595
|
+
id: string
|
|
15596
|
+
/**
|
|
15597
|
+
* Status name, unique within the product
|
|
15598
|
+
*/
|
|
15599
|
+
name: string
|
|
15600
|
+
/**
|
|
15601
|
+
* Display colour as a hex string
|
|
15602
|
+
*/
|
|
15603
|
+
color: string
|
|
15604
|
+
/**
|
|
15605
|
+
* Sort order within the status dictionary
|
|
15606
|
+
*/
|
|
15607
|
+
order: number
|
|
15608
|
+
/**
|
|
15609
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15610
|
+
*/
|
|
15611
|
+
archived: boolean
|
|
15612
|
+
/**
|
|
15613
|
+
* Lifecycle bucket the status belongs to
|
|
15614
|
+
*/
|
|
15615
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15616
|
+
}
|
|
15617
|
+
/**
|
|
15618
|
+
* Free-form client-owned JSON
|
|
15619
|
+
*/
|
|
15620
|
+
metadata: {
|
|
15621
|
+
[k: string]: unknown
|
|
15622
|
+
}
|
|
15623
|
+
/**
|
|
15624
|
+
* Thread priority
|
|
15625
|
+
*/
|
|
15626
|
+
priority: ("low" | "normal" | "high" | "urgent")
|
|
15627
|
+
/**
|
|
15628
|
+
* Id of the status the thread sits on
|
|
15629
|
+
*/
|
|
15630
|
+
statusId: string
|
|
15631
|
+
/**
|
|
15632
|
+
* ISO-8601 creation timestamp
|
|
15633
|
+
*/
|
|
15634
|
+
createdAt: string
|
|
15635
|
+
/**
|
|
15636
|
+
* ISO-8601 last-modification timestamp
|
|
15637
|
+
*/
|
|
15638
|
+
updatedAt: string
|
|
15639
|
+
/**
|
|
15640
|
+
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
15641
|
+
*/
|
|
15642
|
+
lastReplyAt: (string | null)
|
|
15643
|
+
/**
|
|
15644
|
+
* Display name for the external author, if given
|
|
15645
|
+
*/
|
|
15646
|
+
authorDisplay: (string | null)
|
|
15647
|
+
/**
|
|
15648
|
+
* Assigned agent, or null while unassigned
|
|
15649
|
+
*/
|
|
15650
|
+
assignedAgentId: (string | null)
|
|
15651
|
+
/**
|
|
15652
|
+
* The external author, byte-identical to what was stored
|
|
15653
|
+
*/
|
|
15654
|
+
authorExternalId: string
|
|
15655
|
+
}
|
|
15656
|
+
|
|
15657
|
+
export interface SupportThreadGetInput {
|
|
15658
|
+
/**
|
|
15659
|
+
* Thread id
|
|
15660
|
+
*/
|
|
15661
|
+
id: string
|
|
15662
|
+
}
|
|
15663
|
+
|
|
15664
|
+
export interface SupportThreadGetOutput {
|
|
15665
|
+
/**
|
|
15666
|
+
* Thread id
|
|
15667
|
+
*/
|
|
15668
|
+
id: string
|
|
15669
|
+
/**
|
|
15670
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
15671
|
+
*/
|
|
15672
|
+
type: ("ticket" | "feedback")
|
|
15673
|
+
/**
|
|
15674
|
+
* Thread subject
|
|
15675
|
+
*/
|
|
15676
|
+
title: string
|
|
15677
|
+
/**
|
|
15678
|
+
* Every label on the thread, by name
|
|
15679
|
+
*/
|
|
15680
|
+
labels: {
|
|
15681
|
+
/**
|
|
15682
|
+
* Label id
|
|
15683
|
+
*/
|
|
15684
|
+
id: string
|
|
15685
|
+
/**
|
|
15686
|
+
* Label name, unique within the product
|
|
15687
|
+
*/
|
|
15688
|
+
name: string
|
|
15689
|
+
/**
|
|
15690
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15691
|
+
*/
|
|
15692
|
+
color: (string | null)
|
|
15693
|
+
/**
|
|
15694
|
+
* ISO-8601 creation timestamp
|
|
15695
|
+
*/
|
|
15696
|
+
createdAt: string
|
|
15697
|
+
}[]
|
|
15698
|
+
/**
|
|
15699
|
+
* The status itself, joined in at read time
|
|
15700
|
+
*/
|
|
15701
|
+
status: {
|
|
15702
|
+
/**
|
|
15703
|
+
* Status id
|
|
15704
|
+
*/
|
|
15705
|
+
id: string
|
|
15706
|
+
/**
|
|
15707
|
+
* Status name, unique within the product
|
|
15708
|
+
*/
|
|
15709
|
+
name: string
|
|
15710
|
+
/**
|
|
15711
|
+
* Display colour as a hex string
|
|
15712
|
+
*/
|
|
15713
|
+
color: string
|
|
15714
|
+
/**
|
|
15715
|
+
* Sort order within the status dictionary
|
|
15716
|
+
*/
|
|
15717
|
+
order: number
|
|
15718
|
+
/**
|
|
15719
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15720
|
+
*/
|
|
15721
|
+
archived: boolean
|
|
15722
|
+
/**
|
|
15723
|
+
* Lifecycle bucket the status belongs to
|
|
15724
|
+
*/
|
|
15725
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15726
|
+
}
|
|
15727
|
+
/**
|
|
15728
|
+
* Free-form client-owned JSON
|
|
15729
|
+
*/
|
|
15730
|
+
metadata: {
|
|
15731
|
+
[k: string]: unknown
|
|
15732
|
+
}
|
|
15733
|
+
/**
|
|
15734
|
+
* Thread priority
|
|
15735
|
+
*/
|
|
15736
|
+
priority: ("low" | "normal" | "high" | "urgent")
|
|
15737
|
+
/**
|
|
15738
|
+
* Id of the status the thread sits on
|
|
15739
|
+
*/
|
|
15740
|
+
statusId: string
|
|
15741
|
+
/**
|
|
15742
|
+
* ISO-8601 creation timestamp
|
|
15743
|
+
*/
|
|
15744
|
+
createdAt: string
|
|
15745
|
+
/**
|
|
15746
|
+
* ISO-8601 last-modification timestamp
|
|
15747
|
+
*/
|
|
15748
|
+
updatedAt: string
|
|
15749
|
+
/**
|
|
15750
|
+
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
15751
|
+
*/
|
|
15752
|
+
lastReplyAt: (string | null)
|
|
15753
|
+
/**
|
|
15754
|
+
* Display name for the external author, if given
|
|
15755
|
+
*/
|
|
15756
|
+
authorDisplay: (string | null)
|
|
15757
|
+
/**
|
|
15758
|
+
* Assigned agent, or null while unassigned
|
|
15759
|
+
*/
|
|
15760
|
+
assignedAgentId: (string | null)
|
|
15761
|
+
/**
|
|
15762
|
+
* The external author, byte-identical to what was stored
|
|
15763
|
+
*/
|
|
15764
|
+
authorExternalId: string
|
|
15765
|
+
}
|
|
15766
|
+
|
|
15767
|
+
export interface SupportThreadListInput {
|
|
15768
|
+
/**
|
|
15769
|
+
* Only threads of this type
|
|
15770
|
+
*/
|
|
15771
|
+
type?: ("ticket" | "feedback")
|
|
15772
|
+
/**
|
|
15773
|
+
* Page size, 1..100 (default 25)
|
|
15774
|
+
*/
|
|
15775
|
+
limit?: number
|
|
15776
|
+
/**
|
|
15777
|
+
* Number of threads to skip
|
|
15778
|
+
*/
|
|
15779
|
+
offset?: number
|
|
15780
|
+
/**
|
|
15781
|
+
* Only threads whose status belongs to this category. Resolved through a join on the status dictionary — the category is never stored on the thread
|
|
15782
|
+
*/
|
|
15783
|
+
category?: ("open" | "pending" | "resolved" | "closed")
|
|
15784
|
+
/**
|
|
15785
|
+
* Only threads carrying ALL of these labels. Every other filter here narrows the result and so does this one: each additional label id makes the answer smaller, never bigger
|
|
15786
|
+
*/
|
|
15787
|
+
labelIds?: (string | string[])
|
|
15788
|
+
/**
|
|
15789
|
+
* Only threads sitting on this exact status
|
|
15790
|
+
*/
|
|
15791
|
+
statusId?: string
|
|
15792
|
+
/**
|
|
15793
|
+
* Only threads created at or before this ISO-8601 timestamp
|
|
15794
|
+
*/
|
|
15795
|
+
createdTo?: string
|
|
15796
|
+
/**
|
|
15797
|
+
* Only threads created at or after this ISO-8601 timestamp
|
|
15798
|
+
*/
|
|
15799
|
+
createdFrom?: string
|
|
15800
|
+
/**
|
|
15801
|
+
* Only threads assigned to this agent
|
|
15802
|
+
*/
|
|
15803
|
+
assignedAgentId?: string
|
|
15804
|
+
/**
|
|
15805
|
+
* Only threads opened by this external author, matched verbatim
|
|
15806
|
+
*/
|
|
15807
|
+
authorExternalId?: string
|
|
15808
|
+
}
|
|
15809
|
+
|
|
15810
|
+
export interface SupportThreadListOutput {
|
|
15811
|
+
/**
|
|
15812
|
+
* Page size that was applied
|
|
15813
|
+
*/
|
|
15814
|
+
limit: number
|
|
15815
|
+
/**
|
|
15816
|
+
* Offset that was applied
|
|
15817
|
+
*/
|
|
15818
|
+
offset: number
|
|
15819
|
+
/**
|
|
15820
|
+
* The requested page of threads, newest first
|
|
15821
|
+
*/
|
|
15822
|
+
threads: {
|
|
15823
|
+
/**
|
|
15824
|
+
* Thread id
|
|
15825
|
+
*/
|
|
15826
|
+
id: string
|
|
15827
|
+
/**
|
|
15828
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
15829
|
+
*/
|
|
15830
|
+
type: ("ticket" | "feedback")
|
|
15831
|
+
/**
|
|
15832
|
+
* Thread subject
|
|
15833
|
+
*/
|
|
15834
|
+
title: string
|
|
15835
|
+
/**
|
|
15836
|
+
* Every label on the thread, by name
|
|
15837
|
+
*/
|
|
15838
|
+
labels: {
|
|
15839
|
+
/**
|
|
15840
|
+
* Label id
|
|
15841
|
+
*/
|
|
15842
|
+
id: string
|
|
15843
|
+
/**
|
|
15844
|
+
* Label name, unique within the product
|
|
15845
|
+
*/
|
|
15846
|
+
name: string
|
|
15847
|
+
/**
|
|
15848
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15849
|
+
*/
|
|
15850
|
+
color: (string | null)
|
|
15851
|
+
/**
|
|
15852
|
+
* ISO-8601 creation timestamp
|
|
15853
|
+
*/
|
|
15854
|
+
createdAt: string
|
|
15855
|
+
}[]
|
|
15856
|
+
/**
|
|
15857
|
+
* The status itself, joined in at read time
|
|
15858
|
+
*/
|
|
15859
|
+
status: {
|
|
15860
|
+
/**
|
|
15861
|
+
* Status id
|
|
15862
|
+
*/
|
|
15863
|
+
id: string
|
|
15864
|
+
/**
|
|
15865
|
+
* Status name, unique within the product
|
|
15866
|
+
*/
|
|
15867
|
+
name: string
|
|
15868
|
+
/**
|
|
15869
|
+
* Display colour as a hex string
|
|
15870
|
+
*/
|
|
15871
|
+
color: string
|
|
15872
|
+
/**
|
|
15873
|
+
* Sort order within the status dictionary
|
|
15874
|
+
*/
|
|
15875
|
+
order: number
|
|
15876
|
+
/**
|
|
15877
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15878
|
+
*/
|
|
15879
|
+
archived: boolean
|
|
15880
|
+
/**
|
|
15881
|
+
* Lifecycle bucket the status belongs to
|
|
15882
|
+
*/
|
|
15883
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15884
|
+
}
|
|
15885
|
+
/**
|
|
15886
|
+
* Free-form client-owned JSON
|
|
15887
|
+
*/
|
|
15888
|
+
metadata: {
|
|
15889
|
+
[k: string]: unknown
|
|
15890
|
+
}
|
|
15891
|
+
/**
|
|
15892
|
+
* Thread priority
|
|
15893
|
+
*/
|
|
15894
|
+
priority: ("low" | "normal" | "high" | "urgent")
|
|
15895
|
+
/**
|
|
15896
|
+
* Id of the status the thread sits on
|
|
15897
|
+
*/
|
|
15898
|
+
statusId: string
|
|
15899
|
+
/**
|
|
15900
|
+
* ISO-8601 creation timestamp
|
|
15901
|
+
*/
|
|
15902
|
+
createdAt: string
|
|
15903
|
+
/**
|
|
15904
|
+
* ISO-8601 last-modification timestamp
|
|
15905
|
+
*/
|
|
15906
|
+
updatedAt: string
|
|
15907
|
+
/**
|
|
15908
|
+
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
15909
|
+
*/
|
|
15910
|
+
lastReplyAt: (string | null)
|
|
15911
|
+
/**
|
|
15912
|
+
* Display name for the external author, if given
|
|
15913
|
+
*/
|
|
15914
|
+
authorDisplay: (string | null)
|
|
15915
|
+
/**
|
|
15916
|
+
* Assigned agent, or null while unassigned
|
|
15917
|
+
*/
|
|
15918
|
+
assignedAgentId: (string | null)
|
|
15919
|
+
/**
|
|
15920
|
+
* The external author, byte-identical to what was stored
|
|
15921
|
+
*/
|
|
15922
|
+
authorExternalId: string
|
|
15923
|
+
}[]
|
|
15924
|
+
}
|
|
15925
|
+
|
|
15926
|
+
export interface SupportThreadStatusSetInput {
|
|
15927
|
+
/**
|
|
15928
|
+
* Thread id
|
|
15929
|
+
*/
|
|
15930
|
+
id: string
|
|
15931
|
+
/**
|
|
15932
|
+
* Destination status of this product. Any status may follow any other — v1 has no transition rules. An archived status is refused
|
|
15933
|
+
*/
|
|
15934
|
+
statusId: string
|
|
15935
|
+
}
|
|
15936
|
+
|
|
15937
|
+
export interface SupportThreadStatusSetOutput {
|
|
15938
|
+
/**
|
|
15939
|
+
* Thread id
|
|
15940
|
+
*/
|
|
15941
|
+
id: string
|
|
15942
|
+
/**
|
|
15943
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
15944
|
+
*/
|
|
15945
|
+
type: ("ticket" | "feedback")
|
|
15946
|
+
/**
|
|
15947
|
+
* Thread subject
|
|
15948
|
+
*/
|
|
15949
|
+
title: string
|
|
15950
|
+
/**
|
|
15951
|
+
* Every label on the thread, by name
|
|
15952
|
+
*/
|
|
15953
|
+
labels: {
|
|
15954
|
+
/**
|
|
15955
|
+
* Label id
|
|
15956
|
+
*/
|
|
15957
|
+
id: string
|
|
15958
|
+
/**
|
|
15959
|
+
* Label name, unique within the product
|
|
15960
|
+
*/
|
|
15961
|
+
name: string
|
|
15962
|
+
/**
|
|
15963
|
+
* Display colour as a hex string, or null if uncoloured
|
|
15964
|
+
*/
|
|
15965
|
+
color: (string | null)
|
|
15966
|
+
/**
|
|
15967
|
+
* ISO-8601 creation timestamp
|
|
15968
|
+
*/
|
|
15969
|
+
createdAt: string
|
|
15970
|
+
}[]
|
|
15971
|
+
/**
|
|
15972
|
+
* The status itself, joined in at read time
|
|
15973
|
+
*/
|
|
15974
|
+
status: {
|
|
15975
|
+
/**
|
|
15976
|
+
* Status id
|
|
15977
|
+
*/
|
|
15978
|
+
id: string
|
|
15979
|
+
/**
|
|
15980
|
+
* Status name, unique within the product
|
|
15981
|
+
*/
|
|
15982
|
+
name: string
|
|
15983
|
+
/**
|
|
15984
|
+
* Display colour as a hex string
|
|
15985
|
+
*/
|
|
15986
|
+
color: string
|
|
15987
|
+
/**
|
|
15988
|
+
* Sort order within the status dictionary
|
|
15989
|
+
*/
|
|
15990
|
+
order: number
|
|
15991
|
+
/**
|
|
15992
|
+
* Archived statuses stay readable but are not offered as targets
|
|
15993
|
+
*/
|
|
15994
|
+
archived: boolean
|
|
15995
|
+
/**
|
|
15996
|
+
* Lifecycle bucket the status belongs to
|
|
15997
|
+
*/
|
|
15998
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
15999
|
+
}
|
|
16000
|
+
/**
|
|
16001
|
+
* Free-form client-owned JSON
|
|
16002
|
+
*/
|
|
16003
|
+
metadata: {
|
|
16004
|
+
[k: string]: unknown
|
|
16005
|
+
}
|
|
16006
|
+
/**
|
|
16007
|
+
* Thread priority
|
|
16008
|
+
*/
|
|
16009
|
+
priority: ("low" | "normal" | "high" | "urgent")
|
|
16010
|
+
/**
|
|
16011
|
+
* Id of the status the thread sits on
|
|
16012
|
+
*/
|
|
16013
|
+
statusId: string
|
|
16014
|
+
/**
|
|
16015
|
+
* ISO-8601 creation timestamp
|
|
16016
|
+
*/
|
|
16017
|
+
createdAt: string
|
|
16018
|
+
/**
|
|
16019
|
+
* ISO-8601 last-modification timestamp
|
|
16020
|
+
*/
|
|
16021
|
+
updatedAt: string
|
|
16022
|
+
/**
|
|
16023
|
+
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
16024
|
+
*/
|
|
16025
|
+
lastReplyAt: (string | null)
|
|
16026
|
+
/**
|
|
16027
|
+
* Display name for the external author, if given
|
|
16028
|
+
*/
|
|
16029
|
+
authorDisplay: (string | null)
|
|
16030
|
+
/**
|
|
16031
|
+
* Assigned agent, or null while unassigned
|
|
16032
|
+
*/
|
|
16033
|
+
assignedAgentId: (string | null)
|
|
16034
|
+
/**
|
|
16035
|
+
* The external author, byte-identical to what was stored
|
|
16036
|
+
*/
|
|
16037
|
+
authorExternalId: string
|
|
16038
|
+
}
|
|
16039
|
+
|
|
16040
|
+
export interface SupportThreadUpdateInput {
|
|
16041
|
+
/**
|
|
16042
|
+
* Thread id
|
|
16043
|
+
*/
|
|
16044
|
+
id: string
|
|
16045
|
+
/**
|
|
16046
|
+
* New subject of the thread
|
|
16047
|
+
*/
|
|
16048
|
+
title?: string
|
|
16049
|
+
/**
|
|
16050
|
+
* The complete new label set. Pass an empty array to remove every label
|
|
16051
|
+
*
|
|
16052
|
+
* @maxItems 50
|
|
16053
|
+
*/
|
|
16054
|
+
labelIds?: string[]
|
|
16055
|
+
/**
|
|
16056
|
+
* Replaces the whole client-owned metadata object
|
|
16057
|
+
*/
|
|
16058
|
+
metadata?: {
|
|
16059
|
+
[k: string]: unknown
|
|
16060
|
+
}
|
|
16061
|
+
/**
|
|
16062
|
+
* New priority
|
|
16063
|
+
*/
|
|
16064
|
+
priority?: ("low" | "normal" | "high" | "urgent")
|
|
16065
|
+
}
|
|
16066
|
+
|
|
16067
|
+
export interface SupportThreadUpdateOutput {
|
|
16068
|
+
/**
|
|
16069
|
+
* Thread id
|
|
16070
|
+
*/
|
|
16071
|
+
id: string
|
|
16072
|
+
/**
|
|
16073
|
+
* ticket: the end user wants something fixed. feedback: unsolicited input
|
|
16074
|
+
*/
|
|
16075
|
+
type: ("ticket" | "feedback")
|
|
16076
|
+
/**
|
|
16077
|
+
* Thread subject
|
|
16078
|
+
*/
|
|
16079
|
+
title: string
|
|
16080
|
+
/**
|
|
16081
|
+
* Every label on the thread, by name
|
|
16082
|
+
*/
|
|
16083
|
+
labels: {
|
|
16084
|
+
/**
|
|
16085
|
+
* Label id
|
|
16086
|
+
*/
|
|
16087
|
+
id: string
|
|
16088
|
+
/**
|
|
16089
|
+
* Label name, unique within the product
|
|
16090
|
+
*/
|
|
16091
|
+
name: string
|
|
16092
|
+
/**
|
|
16093
|
+
* Display colour as a hex string, or null if uncoloured
|
|
16094
|
+
*/
|
|
16095
|
+
color: (string | null)
|
|
16096
|
+
/**
|
|
16097
|
+
* ISO-8601 creation timestamp
|
|
16098
|
+
*/
|
|
16099
|
+
createdAt: string
|
|
16100
|
+
}[]
|
|
16101
|
+
/**
|
|
16102
|
+
* The status itself, joined in at read time
|
|
16103
|
+
*/
|
|
16104
|
+
status: {
|
|
16105
|
+
/**
|
|
16106
|
+
* Status id
|
|
16107
|
+
*/
|
|
16108
|
+
id: string
|
|
16109
|
+
/**
|
|
16110
|
+
* Status name, unique within the product
|
|
16111
|
+
*/
|
|
16112
|
+
name: string
|
|
16113
|
+
/**
|
|
16114
|
+
* Display colour as a hex string
|
|
16115
|
+
*/
|
|
16116
|
+
color: string
|
|
16117
|
+
/**
|
|
16118
|
+
* Sort order within the status dictionary
|
|
16119
|
+
*/
|
|
16120
|
+
order: number
|
|
16121
|
+
/**
|
|
16122
|
+
* Archived statuses stay readable but are not offered as targets
|
|
16123
|
+
*/
|
|
16124
|
+
archived: boolean
|
|
16125
|
+
/**
|
|
16126
|
+
* Lifecycle bucket the status belongs to
|
|
16127
|
+
*/
|
|
16128
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
16129
|
+
}
|
|
16130
|
+
/**
|
|
16131
|
+
* Free-form client-owned JSON
|
|
16132
|
+
*/
|
|
16133
|
+
metadata: {
|
|
16134
|
+
[k: string]: unknown
|
|
16135
|
+
}
|
|
16136
|
+
/**
|
|
16137
|
+
* Thread priority
|
|
16138
|
+
*/
|
|
16139
|
+
priority: ("low" | "normal" | "high" | "urgent")
|
|
16140
|
+
/**
|
|
16141
|
+
* Id of the status the thread sits on
|
|
16142
|
+
*/
|
|
16143
|
+
statusId: string
|
|
16144
|
+
/**
|
|
16145
|
+
* ISO-8601 creation timestamp
|
|
16146
|
+
*/
|
|
16147
|
+
createdAt: string
|
|
16148
|
+
/**
|
|
16149
|
+
* ISO-8601 last-modification timestamp
|
|
16150
|
+
*/
|
|
16151
|
+
updatedAt: string
|
|
16152
|
+
/**
|
|
16153
|
+
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
16154
|
+
*/
|
|
16155
|
+
lastReplyAt: (string | null)
|
|
16156
|
+
/**
|
|
16157
|
+
* Display name for the external author, if given
|
|
16158
|
+
*/
|
|
16159
|
+
authorDisplay: (string | null)
|
|
16160
|
+
/**
|
|
16161
|
+
* Assigned agent, or null while unassigned
|
|
16162
|
+
*/
|
|
16163
|
+
assignedAgentId: (string | null)
|
|
16164
|
+
/**
|
|
16165
|
+
* The external author, byte-identical to what was stored
|
|
16166
|
+
*/
|
|
16167
|
+
authorExternalId: string
|
|
16168
|
+
}
|
|
16169
|
+
|
|
14558
16170
|
export interface TrackingDomainsCreateInput {
|
|
14559
16171
|
host?: string
|
|
14560
16172
|
records?: {
|