@pam-ai/pam-ordo-contracts 3.4.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/README.md +72 -0
- package/dist/generated.d.ts +1848 -0
- package/dist/generated.d.ts.map +1 -0
- package/dist/generated.js +6 -0
- package/dist/generated.js.map +1 -0
- package/dist/inbox-policy.d.ts +9 -0
- package/dist/inbox-policy.d.ts.map +1 -0
- package/dist/inbox-policy.js +27 -0
- package/dist/inbox-policy.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/ordo-capability.d.ts +27 -0
- package/dist/ordo-capability.d.ts.map +1 -0
- package/dist/ordo-capability.js +37 -0
- package/dist/ordo-capability.js.map +1 -0
- package/dist/producer-command.d.ts +18 -0
- package/dist/producer-command.d.ts.map +1 -0
- package/dist/producer-command.js +38 -0
- package/dist/producer-command.js.map +1 -0
- package/fixtures/acknowledge-attention-command.json +8 -0
- package/fixtures/add-customer-note-command.json +6 -0
- package/fixtures/add-internal-comment-command.json +9 -0
- package/fixtures/advance-read-cursor-command.json +6 -0
- package/fixtures/assign-command.json +11 -0
- package/fixtures/assign-team-routing-command.json +11 -0
- package/fixtures/command-result.json +10 -0
- package/fixtures/contact-search.json +111 -0
- package/fixtures/conversation-detail-missing-body.json +133 -0
- package/fixtures/customer-note-command-result.json +10 -0
- package/fixtures/customer-notes-page.json +17 -0
- package/fixtures/delete-customer-note-command.json +7 -0
- package/fixtures/inbox-list-customer-no-work.json +93 -0
- package/fixtures/inbox-list-partial-hydration.json +175 -0
- package/fixtures/inbox-policy-v1.json +33 -0
- package/fixtures/inbox-target-resolution-request-v1.json +8 -0
- package/fixtures/inbox-target-resolution-response-v1.json +23 -0
- package/fixtures/internal-comment-result.json +13 -0
- package/fixtures/manifest.json +32 -0
- package/fixtures/notification-command-result.json +10 -0
- package/fixtures/notification-command.json +5 -0
- package/fixtures/notification-list.json +25 -0
- package/fixtures/permissions-unavailable.json +7 -0
- package/fixtures/producer-attention-command-v1.json +28 -0
- package/fixtures/producer-invalid-actor-command-v1.json +17 -0
- package/fixtures/producer-invalid-customer-identity-v1.json +15 -0
- package/fixtures/producer-invalid-missing-source-version-v1.json +16 -0
- package/fixtures/producer-invalid-oversized-v1.json +15 -0
- package/fixtures/producer-invalid-unknown-field-v1.json +17 -0
- package/fixtures/producer-overdue-fire-command-v1.json +21 -0
- package/fixtures/producer-reminder-fire-command-v1.json +20 -0
- package/fixtures/producer-snooze-return-command-v1.json +20 -0
- package/fixtures/producer-source-activity-command-v1.json +34 -0
- package/fixtures/read-cursor-result.json +10 -0
- package/fixtures/resolve-attention-command.json +9 -0
- package/fixtures/version-conflict.json +11 -0
- package/openapi/openapi.json +4577 -0
- package/package.json +67 -0
|
@@ -0,0 +1,1848 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
export interface paths {
|
|
6
|
+
"/v1/inbox/conversations": {
|
|
7
|
+
parameters: {
|
|
8
|
+
query?: never;
|
|
9
|
+
header?: never;
|
|
10
|
+
path?: never;
|
|
11
|
+
cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
/** List canonical Inbox Conversations */
|
|
14
|
+
get: operations["listInboxConversations"];
|
|
15
|
+
put?: never;
|
|
16
|
+
post?: never;
|
|
17
|
+
delete?: never;
|
|
18
|
+
options?: never;
|
|
19
|
+
head?: never;
|
|
20
|
+
patch?: never;
|
|
21
|
+
trace?: never;
|
|
22
|
+
};
|
|
23
|
+
"/v1/inbox/conversations/{conversationId}": {
|
|
24
|
+
parameters: {
|
|
25
|
+
query?: never;
|
|
26
|
+
header?: never;
|
|
27
|
+
path?: never;
|
|
28
|
+
cookie?: never;
|
|
29
|
+
};
|
|
30
|
+
/** Get an authorized Conversation detail */
|
|
31
|
+
get: operations["getInboxConversation"];
|
|
32
|
+
put?: never;
|
|
33
|
+
post?: never;
|
|
34
|
+
delete?: never;
|
|
35
|
+
options?: never;
|
|
36
|
+
head?: never;
|
|
37
|
+
patch?: never;
|
|
38
|
+
trace?: never;
|
|
39
|
+
};
|
|
40
|
+
"/v1/inbox/conversations/{conversationId}/customer-notes": {
|
|
41
|
+
parameters: {
|
|
42
|
+
query?: never;
|
|
43
|
+
header?: never;
|
|
44
|
+
path?: never;
|
|
45
|
+
cookie?: never;
|
|
46
|
+
};
|
|
47
|
+
/** List active Customer notes through an authorized Conversation */
|
|
48
|
+
get: operations["listInboxCustomerNotes"];
|
|
49
|
+
put?: never;
|
|
50
|
+
post?: never;
|
|
51
|
+
delete?: never;
|
|
52
|
+
options?: never;
|
|
53
|
+
head?: never;
|
|
54
|
+
patch?: never;
|
|
55
|
+
trace?: never;
|
|
56
|
+
};
|
|
57
|
+
"/v1/inbox/contacts": {
|
|
58
|
+
parameters: {
|
|
59
|
+
query?: never;
|
|
60
|
+
header?: never;
|
|
61
|
+
path?: never;
|
|
62
|
+
cookie?: never;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Search the rooftop's Customers to start an outbound Conversation
|
|
66
|
+
* @description The outbound half of the Inbox. The Inbox itself is incoming-only, so a Conversation an advisor needs to START cannot be found in it: the Customer may have no thread at all, only an open repair order, or a thread another advisor owns. This searches the whole rooftop's Customers rather than the reader's own Conversations, and reports how each one already relates to them so the picker can say what opening it will do. Requires VIEW_CUSTOMER_DIRECTORY, which is a stronger grant than VIEW_OWN_INBOX: it exposes Customers the reader has never messaged. Contact detail is hydrated from the system that masters it, so a hydration gap degrades a field and never removes a Customer.
|
|
67
|
+
*/
|
|
68
|
+
get: operations["searchInboxContacts"];
|
|
69
|
+
put?: never;
|
|
70
|
+
post?: never;
|
|
71
|
+
delete?: never;
|
|
72
|
+
options?: never;
|
|
73
|
+
head?: never;
|
|
74
|
+
patch?: never;
|
|
75
|
+
trace?: never;
|
|
76
|
+
};
|
|
77
|
+
"/v1/inbox/notifications": {
|
|
78
|
+
parameters: {
|
|
79
|
+
query?: never;
|
|
80
|
+
header?: never;
|
|
81
|
+
path?: never;
|
|
82
|
+
cookie?: never;
|
|
83
|
+
};
|
|
84
|
+
/** List the authenticated User's visible active notifications */
|
|
85
|
+
get: operations["listInboxNotifications"];
|
|
86
|
+
put?: never;
|
|
87
|
+
post?: never;
|
|
88
|
+
delete?: never;
|
|
89
|
+
options?: never;
|
|
90
|
+
head?: never;
|
|
91
|
+
patch?: never;
|
|
92
|
+
trace?: never;
|
|
93
|
+
};
|
|
94
|
+
"/v1/inbox/commands/assign": {
|
|
95
|
+
parameters: {
|
|
96
|
+
query?: never;
|
|
97
|
+
header?: never;
|
|
98
|
+
path?: never;
|
|
99
|
+
cookie?: never;
|
|
100
|
+
};
|
|
101
|
+
get?: never;
|
|
102
|
+
put?: never;
|
|
103
|
+
/** Assign the active WorkCycle */
|
|
104
|
+
post: operations["assignConversation"];
|
|
105
|
+
delete?: never;
|
|
106
|
+
options?: never;
|
|
107
|
+
head?: never;
|
|
108
|
+
patch?: never;
|
|
109
|
+
trace?: never;
|
|
110
|
+
};
|
|
111
|
+
"/v1/inbox/commands/snooze": {
|
|
112
|
+
parameters: {
|
|
113
|
+
query?: never;
|
|
114
|
+
header?: never;
|
|
115
|
+
path?: never;
|
|
116
|
+
cookie?: never;
|
|
117
|
+
};
|
|
118
|
+
get?: never;
|
|
119
|
+
put?: never;
|
|
120
|
+
/** Snooze the active WorkCycle */
|
|
121
|
+
post: operations["snoozeConversation"];
|
|
122
|
+
delete?: never;
|
|
123
|
+
options?: never;
|
|
124
|
+
head?: never;
|
|
125
|
+
patch?: never;
|
|
126
|
+
trace?: never;
|
|
127
|
+
};
|
|
128
|
+
"/v1/inbox/commands/unsnooze": {
|
|
129
|
+
parameters: {
|
|
130
|
+
query?: never;
|
|
131
|
+
header?: never;
|
|
132
|
+
path?: never;
|
|
133
|
+
cookie?: never;
|
|
134
|
+
};
|
|
135
|
+
get?: never;
|
|
136
|
+
put?: never;
|
|
137
|
+
/** Unsnooze the active WorkCycle */
|
|
138
|
+
post: operations["unsnoozeConversation"];
|
|
139
|
+
delete?: never;
|
|
140
|
+
options?: never;
|
|
141
|
+
head?: never;
|
|
142
|
+
patch?: never;
|
|
143
|
+
trace?: never;
|
|
144
|
+
};
|
|
145
|
+
"/v1/inbox/commands/set-reminder": {
|
|
146
|
+
parameters: {
|
|
147
|
+
query?: never;
|
|
148
|
+
header?: never;
|
|
149
|
+
path?: never;
|
|
150
|
+
cookie?: never;
|
|
151
|
+
};
|
|
152
|
+
get?: never;
|
|
153
|
+
put?: never;
|
|
154
|
+
/** Set the owner Reminder */
|
|
155
|
+
post: operations["setConversationReminder"];
|
|
156
|
+
delete?: never;
|
|
157
|
+
options?: never;
|
|
158
|
+
head?: never;
|
|
159
|
+
patch?: never;
|
|
160
|
+
trace?: never;
|
|
161
|
+
};
|
|
162
|
+
"/v1/inbox/commands/clear-reminder": {
|
|
163
|
+
parameters: {
|
|
164
|
+
query?: never;
|
|
165
|
+
header?: never;
|
|
166
|
+
path?: never;
|
|
167
|
+
cookie?: never;
|
|
168
|
+
};
|
|
169
|
+
get?: never;
|
|
170
|
+
put?: never;
|
|
171
|
+
/** Clear the owner Reminder */
|
|
172
|
+
post: operations["clearConversationReminder"];
|
|
173
|
+
delete?: never;
|
|
174
|
+
options?: never;
|
|
175
|
+
head?: never;
|
|
176
|
+
patch?: never;
|
|
177
|
+
trace?: never;
|
|
178
|
+
};
|
|
179
|
+
"/v1/inbox/commands/close": {
|
|
180
|
+
parameters: {
|
|
181
|
+
query?: never;
|
|
182
|
+
header?: never;
|
|
183
|
+
path?: never;
|
|
184
|
+
cookie?: never;
|
|
185
|
+
};
|
|
186
|
+
get?: never;
|
|
187
|
+
put?: never;
|
|
188
|
+
/** Close the active WorkCycle */
|
|
189
|
+
post: operations["closeConversation"];
|
|
190
|
+
delete?: never;
|
|
191
|
+
options?: never;
|
|
192
|
+
head?: never;
|
|
193
|
+
patch?: never;
|
|
194
|
+
trace?: never;
|
|
195
|
+
};
|
|
196
|
+
"/v1/inbox/commands/acknowledge-attention": {
|
|
197
|
+
parameters: {
|
|
198
|
+
query?: never;
|
|
199
|
+
header?: never;
|
|
200
|
+
path?: never;
|
|
201
|
+
cookie?: never;
|
|
202
|
+
};
|
|
203
|
+
get?: never;
|
|
204
|
+
put?: never;
|
|
205
|
+
/** Record an authorized viewer acknowledgement of active Needs Attention */
|
|
206
|
+
post: operations["acknowledgeInboxAttention"];
|
|
207
|
+
delete?: never;
|
|
208
|
+
options?: never;
|
|
209
|
+
head?: never;
|
|
210
|
+
patch?: never;
|
|
211
|
+
trace?: never;
|
|
212
|
+
};
|
|
213
|
+
"/v1/inbox/commands/resolve-attention": {
|
|
214
|
+
parameters: {
|
|
215
|
+
query?: never;
|
|
216
|
+
header?: never;
|
|
217
|
+
path?: never;
|
|
218
|
+
cookie?: never;
|
|
219
|
+
};
|
|
220
|
+
get?: never;
|
|
221
|
+
put?: never;
|
|
222
|
+
/** Resolve active Needs Attention without closing the WorkCycle */
|
|
223
|
+
post: operations["resolveInboxAttention"];
|
|
224
|
+
delete?: never;
|
|
225
|
+
options?: never;
|
|
226
|
+
head?: never;
|
|
227
|
+
patch?: never;
|
|
228
|
+
trace?: never;
|
|
229
|
+
};
|
|
230
|
+
"/v1/inbox/commands/add-internal-comment": {
|
|
231
|
+
parameters: {
|
|
232
|
+
query?: never;
|
|
233
|
+
header?: never;
|
|
234
|
+
path?: never;
|
|
235
|
+
cookie?: never;
|
|
236
|
+
};
|
|
237
|
+
get?: never;
|
|
238
|
+
put?: never;
|
|
239
|
+
/** Add an internal comment and fan out Mentions on the active WorkCycle */
|
|
240
|
+
post: operations["addInboxInternalComment"];
|
|
241
|
+
delete?: never;
|
|
242
|
+
options?: never;
|
|
243
|
+
head?: never;
|
|
244
|
+
patch?: never;
|
|
245
|
+
trace?: never;
|
|
246
|
+
};
|
|
247
|
+
"/v1/inbox/commands/advance-read-cursor": {
|
|
248
|
+
parameters: {
|
|
249
|
+
query?: never;
|
|
250
|
+
header?: never;
|
|
251
|
+
path?: never;
|
|
252
|
+
cookie?: never;
|
|
253
|
+
};
|
|
254
|
+
get?: never;
|
|
255
|
+
put?: never;
|
|
256
|
+
/** Monotonically advance the authenticated viewer's Conversation read cursor */
|
|
257
|
+
post: operations["advanceInboxReadCursor"];
|
|
258
|
+
delete?: never;
|
|
259
|
+
options?: never;
|
|
260
|
+
head?: never;
|
|
261
|
+
patch?: never;
|
|
262
|
+
trace?: never;
|
|
263
|
+
};
|
|
264
|
+
"/v1/inbox/commands/add-customer-note": {
|
|
265
|
+
parameters: {
|
|
266
|
+
query?: never;
|
|
267
|
+
header?: never;
|
|
268
|
+
path?: never;
|
|
269
|
+
cookie?: never;
|
|
270
|
+
};
|
|
271
|
+
get?: never;
|
|
272
|
+
put?: never;
|
|
273
|
+
/**
|
|
274
|
+
* Add a durable note to the authorized Conversation Customer
|
|
275
|
+
* @description Requires the ADD_CUSTOMER_NOTE capability. Adding a note has no ownership dimension -- a note belongs to the Customer rather than to a WorkCycle or an owner -- so there is no OWNED/ANY pair for it.
|
|
276
|
+
*/
|
|
277
|
+
post: operations["addInboxCustomerNote"];
|
|
278
|
+
delete?: never;
|
|
279
|
+
options?: never;
|
|
280
|
+
head?: never;
|
|
281
|
+
patch?: never;
|
|
282
|
+
trace?: never;
|
|
283
|
+
};
|
|
284
|
+
"/v1/inbox/commands/delete-customer-note": {
|
|
285
|
+
parameters: {
|
|
286
|
+
query?: never;
|
|
287
|
+
header?: never;
|
|
288
|
+
path?: never;
|
|
289
|
+
cookie?: never;
|
|
290
|
+
};
|
|
291
|
+
get?: never;
|
|
292
|
+
put?: never;
|
|
293
|
+
/**
|
|
294
|
+
* Soft-delete a durable Customer note
|
|
295
|
+
* @description Requires the DELETE_ANY_CUSTOMER_NOTE capability. Kept separate from ADD_CUSTOMER_NOTE and deliberately ANY-scoped. A delete removes a durable Customer fact from every future WorkCycle and from the context Pam reads before replying. That is a stronger act than adding one and is not implied by it. A narrower DELETE_OWN_CUSTOMER_NOTE can be added later without changing this operation because CustomerNote carries authorUserId.
|
|
296
|
+
*/
|
|
297
|
+
post: operations["deleteInboxCustomerNote"];
|
|
298
|
+
delete?: never;
|
|
299
|
+
options?: never;
|
|
300
|
+
head?: never;
|
|
301
|
+
patch?: never;
|
|
302
|
+
trace?: never;
|
|
303
|
+
};
|
|
304
|
+
"/v1/inbox/commands/mark-notification-read": {
|
|
305
|
+
parameters: {
|
|
306
|
+
query?: never;
|
|
307
|
+
header?: never;
|
|
308
|
+
path?: never;
|
|
309
|
+
cookie?: never;
|
|
310
|
+
};
|
|
311
|
+
get?: never;
|
|
312
|
+
put?: never;
|
|
313
|
+
/** Mark one recipient-owned notification read */
|
|
314
|
+
post: operations["markInboxNotificationRead"];
|
|
315
|
+
delete?: never;
|
|
316
|
+
options?: never;
|
|
317
|
+
head?: never;
|
|
318
|
+
patch?: never;
|
|
319
|
+
trace?: never;
|
|
320
|
+
};
|
|
321
|
+
"/v1/inbox/commands/dismiss-notification": {
|
|
322
|
+
parameters: {
|
|
323
|
+
query?: never;
|
|
324
|
+
header?: never;
|
|
325
|
+
path?: never;
|
|
326
|
+
cookie?: never;
|
|
327
|
+
};
|
|
328
|
+
get?: never;
|
|
329
|
+
put?: never;
|
|
330
|
+
/** Dismiss one recipient-owned notification and mark it read */
|
|
331
|
+
post: operations["dismissInboxNotification"];
|
|
332
|
+
delete?: never;
|
|
333
|
+
options?: never;
|
|
334
|
+
head?: never;
|
|
335
|
+
patch?: never;
|
|
336
|
+
trace?: never;
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
export type webhooks = Record<string, never>;
|
|
340
|
+
export interface components {
|
|
341
|
+
schemas: {
|
|
342
|
+
/** @enum {string} */
|
|
343
|
+
InboxScope: "MY_INBOX" | "TEAM_INBOX" | "MENTIONS" | "CUSTOMERS" | "RO";
|
|
344
|
+
/** @enum {string} */
|
|
345
|
+
WorkCycleStatus: "OPEN" | "SNOOZED" | "RESOLVED";
|
|
346
|
+
/** @enum {string} */
|
|
347
|
+
AvailabilityState: "available" | "missing" | "stale" | "timeout" | "unauthorized" | "unsupported";
|
|
348
|
+
Availability: {
|
|
349
|
+
state: components["schemas"]["AvailabilityState"];
|
|
350
|
+
source?: string;
|
|
351
|
+
/** Format: date-time */
|
|
352
|
+
observedAt?: string;
|
|
353
|
+
reason?: string;
|
|
354
|
+
};
|
|
355
|
+
HydratedText: {
|
|
356
|
+
value?: string | null;
|
|
357
|
+
availability: components["schemas"]["Availability"];
|
|
358
|
+
};
|
|
359
|
+
HydratedStringList: {
|
|
360
|
+
value: string[] | null;
|
|
361
|
+
availability: components["schemas"]["Availability"];
|
|
362
|
+
};
|
|
363
|
+
Owner: {
|
|
364
|
+
userId: string;
|
|
365
|
+
teamId?: string | null;
|
|
366
|
+
displayName: components["schemas"]["HydratedText"];
|
|
367
|
+
};
|
|
368
|
+
Reminder: {
|
|
369
|
+
/** Format: uuid */
|
|
370
|
+
id: string;
|
|
371
|
+
/** Format: date-time */
|
|
372
|
+
dueAt: string;
|
|
373
|
+
note?: string | null;
|
|
374
|
+
/** @enum {string} */
|
|
375
|
+
status: "PENDING" | "FIRED" | "CLEARED" | "CANCELLED";
|
|
376
|
+
version: number;
|
|
377
|
+
};
|
|
378
|
+
AttentionSummary: {
|
|
379
|
+
/** Format: uuid */
|
|
380
|
+
id: string;
|
|
381
|
+
category: string;
|
|
382
|
+
/** @enum {string} */
|
|
383
|
+
status: "ACTIVE" | "RESOLVED";
|
|
384
|
+
/** Format: date-time */
|
|
385
|
+
openedAt: string;
|
|
386
|
+
version: number;
|
|
387
|
+
};
|
|
388
|
+
/** @description Derived read-time Overdue presentation. It is never a mutable lifecycle flag. */
|
|
389
|
+
OverdueSummary: {
|
|
390
|
+
isOverdue: boolean;
|
|
391
|
+
/**
|
|
392
|
+
* Format: date-time
|
|
393
|
+
* @description Derived threshold timestamp, or null when no waiting anchor or policy applies.
|
|
394
|
+
*/
|
|
395
|
+
overdueAt: string | null;
|
|
396
|
+
/** @description True when a pending owner Reminder suppresses the Overdue badge without erasing waiting history. */
|
|
397
|
+
presentationSuppressedByReminder: boolean;
|
|
398
|
+
};
|
|
399
|
+
/**
|
|
400
|
+
* @description A single Ordo product capability. Capabilities are the only authorization vocabulary for Ordo surfaces. They are not a second half of the dashboard's resource/action permission model and do not divide the work with it. Resource permissions govern legacy dashboard surfaces and nothing else; capabilities govern Ordo surfaces and nothing else; neither is a fallback or an outer gate for the other. A same-named resource is a coincidence of vocabulary rather than a related grant, so REPAIR_ORDERS:READ says nothing about VIEW_OPEN_REPAIR_ORDERS and a User may hold either without the other. Resolved per rooftop by pam-permissions-service from the User's role, and enforced by pam-ordo-service. The distribution across personas is the approved capability contract in section 3.3 of the Ordo Product and Engineering Specification.
|
|
401
|
+
* @enum {string}
|
|
402
|
+
*/
|
|
403
|
+
OrdoCapability: "VIEW_OWN_INBOX" | "VIEW_TEAM_INBOX" | "VIEW_CUSTOMER_DIRECTORY" | "SWITCH_ROOFTOP" | "VIEW_ANY_ROOFTOP_CONVERSATION" | "VIEW_OPEN_REPAIR_ORDERS" | "VIEW_ALL_OPEN_REPAIR_ORDERS" | "ASSIGN_OWNED_WORK" | "ASSIGN_ANY_WORK" | "CLOSE_OWNED_WORK" | "CLOSE_ANY_WORK" | "RESOLVE_NEEDS_ATTENTION" | "MENTION_USERS" | "ADD_CUSTOMER_NOTE" | "DELETE_ANY_CUSTOMER_NOTE";
|
|
404
|
+
/** @description A configured target for one stable rooftop User identity. */
|
|
405
|
+
InboxPolicyUserTargetV1: {
|
|
406
|
+
/**
|
|
407
|
+
* @description discriminator enum property added by openapi-typescript
|
|
408
|
+
* @enum {string}
|
|
409
|
+
*/
|
|
410
|
+
type: "USER";
|
|
411
|
+
userId: string;
|
|
412
|
+
};
|
|
413
|
+
/** @description A configured Team target identified by the dashboard user-group ID. The authority resolves this target to concrete eligible Users at use time. */
|
|
414
|
+
InboxPolicyTeamTargetV1: {
|
|
415
|
+
/**
|
|
416
|
+
* @description discriminator enum property added by openapi-typescript
|
|
417
|
+
* @enum {string}
|
|
418
|
+
*/
|
|
419
|
+
type: "TEAM";
|
|
420
|
+
dashboardGroupId: string;
|
|
421
|
+
};
|
|
422
|
+
/** @description Retain work without an owner while keeping it manager-visible. */
|
|
423
|
+
InboxPolicyUnassignedTargetV1: {
|
|
424
|
+
/**
|
|
425
|
+
* @description discriminator enum property added by openapi-typescript
|
|
426
|
+
* @enum {string}
|
|
427
|
+
*/
|
|
428
|
+
type: "UNASSIGNED";
|
|
429
|
+
};
|
|
430
|
+
InboxPolicyRecipientTargetV1: components["schemas"]["InboxPolicyUserTargetV1"] | components["schemas"]["InboxPolicyTeamTargetV1"];
|
|
431
|
+
InboxPolicyRoutingTargetV1: components["schemas"]["InboxPolicyUserTargetV1"] | components["schemas"]["InboxPolicyTeamTargetV1"] | components["schemas"]["InboxPolicyUnassignedTargetV1"];
|
|
432
|
+
InboxPolicyNeedsAttentionV1: {
|
|
433
|
+
enabled: boolean;
|
|
434
|
+
recipients: components["schemas"]["InboxPolicyRecipientTargetV1"][];
|
|
435
|
+
};
|
|
436
|
+
/** @description Behavior for one producer classification. Legacy escalation tiers are not accepted. */
|
|
437
|
+
InboxPolicyCategoryV1: {
|
|
438
|
+
category: string;
|
|
439
|
+
enabled: boolean;
|
|
440
|
+
createsWorkCycle: boolean;
|
|
441
|
+
routing: components["schemas"]["InboxPolicyRoutingTargetV1"];
|
|
442
|
+
needsAttention: components["schemas"]["InboxPolicyNeedsAttentionV1"];
|
|
443
|
+
};
|
|
444
|
+
InboxPolicyOverdueDisabledV1: {
|
|
445
|
+
/** @constant */
|
|
446
|
+
enabled: false;
|
|
447
|
+
};
|
|
448
|
+
InboxPolicyOverdueEnabledV1: {
|
|
449
|
+
/** @constant */
|
|
450
|
+
enabled: true;
|
|
451
|
+
thresholdMinutes: number;
|
|
452
|
+
};
|
|
453
|
+
InboxPolicyOverdueV1: components["schemas"]["InboxPolicyOverdueDisabledV1"] | components["schemas"]["InboxPolicyOverdueEnabledV1"];
|
|
454
|
+
/** @enum {string} */
|
|
455
|
+
InboxPolicyNotificationKindV1: "needs_attention" | "overdue" | "ro_opened" | "ro_closed";
|
|
456
|
+
InboxPolicyNotificationRuleV1: {
|
|
457
|
+
kind: components["schemas"]["InboxPolicyNotificationKindV1"];
|
|
458
|
+
enabled: boolean;
|
|
459
|
+
recipients: components["schemas"]["InboxPolicyRecipientTargetV1"][];
|
|
460
|
+
};
|
|
461
|
+
/** @description Strict rooftop policy stored at ClientInfo.pamConfig.ordoInbox. policyVersion is derived by consumers from canonical normalized policy content and is not stored inside the policy. Legacy timed escalation configuration is outside this schema and must never be translated implicitly. */
|
|
462
|
+
InboxPolicyV1: {
|
|
463
|
+
/** @constant */
|
|
464
|
+
schemaVersion: 1;
|
|
465
|
+
categories: components["schemas"]["InboxPolicyCategoryV1"][];
|
|
466
|
+
overdue: components["schemas"]["InboxPolicyOverdueV1"];
|
|
467
|
+
notifications: components["schemas"]["InboxPolicyNotificationRuleV1"][];
|
|
468
|
+
};
|
|
469
|
+
/** @enum {string} */
|
|
470
|
+
InboxAuthorityPersonaV1: "SERVICE_ADVISOR" | "SERVICE_MANAGER" | "BDC_REPRESENTATIVE" | "BDC_MANAGER";
|
|
471
|
+
InboxTargetResolutionUserV1: {
|
|
472
|
+
userId: string;
|
|
473
|
+
persona: components["schemas"]["InboxAuthorityPersonaV1"];
|
|
474
|
+
capabilities: components["schemas"]["OrdoCapability"][];
|
|
475
|
+
};
|
|
476
|
+
/**
|
|
477
|
+
* @description resolved has at least one eligible User; none has no eligible User; unavailable means the authority could not answer; ambiguous means the Team identity maps to more than one authoritative group.
|
|
478
|
+
* @enum {string}
|
|
479
|
+
*/
|
|
480
|
+
InboxTargetResolutionStatusV1: "resolved" | "none" | "unavailable" | "ambiguous";
|
|
481
|
+
InboxTargetResolutionResultV1: {
|
|
482
|
+
target: components["schemas"]["InboxPolicyRecipientTargetV1"];
|
|
483
|
+
status: components["schemas"]["InboxTargetResolutionStatusV1"];
|
|
484
|
+
userIds: string[];
|
|
485
|
+
};
|
|
486
|
+
InboxTargetResolutionRequestV1: {
|
|
487
|
+
/** @constant */
|
|
488
|
+
schemaVersion: 1;
|
|
489
|
+
clientOrgId: string;
|
|
490
|
+
targets: components["schemas"]["InboxPolicyRecipientTargetV1"][];
|
|
491
|
+
};
|
|
492
|
+
InboxTargetResolutionResponseV1: {
|
|
493
|
+
/** @constant */
|
|
494
|
+
schemaVersion: 1;
|
|
495
|
+
clientOrgId: string;
|
|
496
|
+
results: components["schemas"]["InboxTargetResolutionResultV1"][];
|
|
497
|
+
/** @description Concrete eligible Users, deduplicated across every requested target. */
|
|
498
|
+
users: components["schemas"]["InboxTargetResolutionUserV1"][];
|
|
499
|
+
};
|
|
500
|
+
/** @description Read-time state specific to the authenticated viewer. */
|
|
501
|
+
ViewerState: {
|
|
502
|
+
unreadCount: number;
|
|
503
|
+
/** @description Whether the viewer has active Mentions-view membership for the current WorkCycle. */
|
|
504
|
+
isMentionWatcher: boolean;
|
|
505
|
+
unreadMentionCount: number;
|
|
506
|
+
/**
|
|
507
|
+
* Format: uuid
|
|
508
|
+
* @description Latest Interaction the authenticated viewer has read in this Conversation.
|
|
509
|
+
*/
|
|
510
|
+
readThroughInteractionId?: string | null;
|
|
511
|
+
/** @description Authoritative Conversation sequence corresponding to readThroughInteractionId. */
|
|
512
|
+
readThroughSequenceNumber?: number | null;
|
|
513
|
+
};
|
|
514
|
+
/** @description Current conversation-wide AI projection; source availability is explicit per field. */
|
|
515
|
+
AiContext: {
|
|
516
|
+
summary: components["schemas"]["HydratedText"];
|
|
517
|
+
categories: components["schemas"]["HydratedStringList"];
|
|
518
|
+
sentiment: components["schemas"]["HydratedText"];
|
|
519
|
+
recommendedNextStep: components["schemas"]["HydratedText"];
|
|
520
|
+
};
|
|
521
|
+
/** @description Read-time counts and channel indicators for the visible Conversation context. */
|
|
522
|
+
InteractionSummary: {
|
|
523
|
+
totalCount: number;
|
|
524
|
+
inboundCount: number;
|
|
525
|
+
outboundCount: number;
|
|
526
|
+
internalCount: number;
|
|
527
|
+
channels: string[];
|
|
528
|
+
};
|
|
529
|
+
/** @enum {string} */
|
|
530
|
+
AvailableAction: "ASSIGN" | "SNOOZE" | "UNSNOOZE" | "SET_REMINDER" | "CLEAR_REMINDER" | "CLOSE" | "RESOLVE_ATTENTION" | "ADD_INTERNAL_COMMENT";
|
|
531
|
+
InboxRow: {
|
|
532
|
+
/** Format: uuid */
|
|
533
|
+
conversationId: string;
|
|
534
|
+
clientOrgId: string;
|
|
535
|
+
customerId: string;
|
|
536
|
+
workCycle: components["schemas"]["WorkCycleSummary"] | null;
|
|
537
|
+
owner: components["schemas"]["Owner"] | null;
|
|
538
|
+
reminder: components["schemas"]["Reminder"] | null;
|
|
539
|
+
attention: components["schemas"]["AttentionSummary"] | null;
|
|
540
|
+
overdue: components["schemas"]["OverdueSummary"];
|
|
541
|
+
/** Format: date-time */
|
|
542
|
+
latestActivityAt: string;
|
|
543
|
+
customerDisplayName: components["schemas"]["HydratedText"];
|
|
544
|
+
/** @description The Customer's contact telephone number, for placing an outbound call. Optional because no producer can supply it yet: Ordo stores a Customer reference and no payload, so this arrives with external Customer hydration. Absent and `{ value: null }` mean different things - absent is a producer that does not publish the field, null with an availability is a source that could not supply it. */
|
|
545
|
+
customerPhone?: components["schemas"]["HydratedText"];
|
|
546
|
+
/** @description Current active RO context only; historical ROs remain customer context. */
|
|
547
|
+
activeRepairOrders: components["schemas"]["RepairOrderRef"][];
|
|
548
|
+
aiContext: components["schemas"]["AiContext"];
|
|
549
|
+
viewerState: components["schemas"]["ViewerState"];
|
|
550
|
+
interactionSummary: components["schemas"]["InteractionSummary"];
|
|
551
|
+
availableActions: components["schemas"]["AvailableAction"][];
|
|
552
|
+
availability: {
|
|
553
|
+
[key: string]: components["schemas"]["Availability"];
|
|
554
|
+
};
|
|
555
|
+
};
|
|
556
|
+
WorkCycleSummary: {
|
|
557
|
+
/** Format: uuid */
|
|
558
|
+
id: string;
|
|
559
|
+
cycleNumber: number;
|
|
560
|
+
status: components["schemas"]["WorkCycleStatus"];
|
|
561
|
+
/** Format: date-time */
|
|
562
|
+
openedAt: string;
|
|
563
|
+
/** Format: date-time */
|
|
564
|
+
oldestUnrespondedAt?: string | null;
|
|
565
|
+
/** Format: date-time */
|
|
566
|
+
snoozedAt?: string | null;
|
|
567
|
+
/** Format: date-time */
|
|
568
|
+
resolvedAt?: string | null;
|
|
569
|
+
version: number;
|
|
570
|
+
};
|
|
571
|
+
InboxCounts: {
|
|
572
|
+
total: number;
|
|
573
|
+
open: number;
|
|
574
|
+
snoozed: number;
|
|
575
|
+
overdue: number;
|
|
576
|
+
needsAttention: number;
|
|
577
|
+
resolved: number;
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* @description How a Customer already relates to the reader, which decides what opening them does. OWN is the reader's own thread. COLLEAGUE is a thread somebody else at the rooftop has been handling — opening it shows their history, which is the point when you are about to ring a Customer another advisor has been working. NONE is a Customer nobody has messaged at all; the thread opens empty. COLLEAGUE and NONE are deliberately distinct: conflating them would let a picker promise an empty thread and then drop the reader into somebody else's conversation mid-sentence.
|
|
581
|
+
* @enum {string}
|
|
582
|
+
*/
|
|
583
|
+
ContactRelationship: "OWN" | "COLLEAGUE" | "NONE";
|
|
584
|
+
ContactRow: {
|
|
585
|
+
customerId: string;
|
|
586
|
+
/** @description The system that issued customerId. Part of the Customer key, carried because an external id alone is not a Customer - two source systems may both issue the same one and mean different people. */
|
|
587
|
+
customerSourceSystem: string;
|
|
588
|
+
customerName: components["schemas"]["HydratedText"];
|
|
589
|
+
customerPhone: components["schemas"]["HydratedText"];
|
|
590
|
+
vehicleLabel?: components["schemas"]["HydratedText"];
|
|
591
|
+
/** @description The Customer's open repair order, when they have one. Open only: a finished one says nothing that changes the call the advisor is about to make, because the car has gone home. */
|
|
592
|
+
openRepairOrder?: components["schemas"]["RepairOrderRef"] | null;
|
|
593
|
+
/** @description The Customer's most recent Conversation, or null when they have none. Null is a fact about the Customer rather than a hydration gap. */
|
|
594
|
+
conversationId: string | null;
|
|
595
|
+
relationship: components["schemas"]["ContactRelationship"];
|
|
596
|
+
availability: components["schemas"]["Availability"];
|
|
597
|
+
};
|
|
598
|
+
ContactSearchResponse: {
|
|
599
|
+
data: {
|
|
600
|
+
contacts: components["schemas"]["ContactRow"][];
|
|
601
|
+
};
|
|
602
|
+
};
|
|
603
|
+
InboxListResponse: {
|
|
604
|
+
data: {
|
|
605
|
+
rows: components["schemas"]["InboxRow"][];
|
|
606
|
+
counts: components["schemas"]["InboxCounts"];
|
|
607
|
+
};
|
|
608
|
+
meta: {
|
|
609
|
+
/** @description Opaque keyset cursor. */
|
|
610
|
+
nextCursor: string | null;
|
|
611
|
+
};
|
|
612
|
+
};
|
|
613
|
+
InteractionRef: {
|
|
614
|
+
/** Format: uuid */
|
|
615
|
+
id: string;
|
|
616
|
+
/** @description Authenticated User who authored an internal comment; null for non-User senders. */
|
|
617
|
+
senderUserId?: string | null;
|
|
618
|
+
/**
|
|
619
|
+
* Format: uuid
|
|
620
|
+
* @description Root internal comment referenced by this comment. Replies are flattened to one level.
|
|
621
|
+
*/
|
|
622
|
+
replyToInteractionId?: string | null;
|
|
623
|
+
/** @description Immutable recipient-specific Mention events created by this internal comment. */
|
|
624
|
+
mentions?: components["schemas"]["MentionRef"][];
|
|
625
|
+
/**
|
|
626
|
+
* Format: uuid
|
|
627
|
+
* @description WorkCycle that was active when this Interaction was ingested, mirroring conversation_interaction_refs.work_cycle_id. Null is authoritative and means the Interaction belongs to no cycle, which is expected for RO transitions and other non-work events. Optional only to keep this addition a minor version; every producer emits it unconditionally and pam-ordo-service asserts that in its contract tests, so consumers should treat an absent field as a producer defect rather than a supported state. Consumers must never infer cycle membership from interaction timestamps.
|
|
628
|
+
*/
|
|
629
|
+
workCycleId?: string | null;
|
|
630
|
+
sequenceNumber: number;
|
|
631
|
+
kind: string;
|
|
632
|
+
channel?: string | null;
|
|
633
|
+
/** @enum {string} */
|
|
634
|
+
direction: "INBOUND" | "OUTBOUND" | "INTERNAL";
|
|
635
|
+
/** Format: date-time */
|
|
636
|
+
occurredAt: string;
|
|
637
|
+
body?: components["schemas"]["HydratedText"] | null;
|
|
638
|
+
availability: components["schemas"]["Availability"];
|
|
639
|
+
};
|
|
640
|
+
MentionRef: {
|
|
641
|
+
/** Format: uuid */
|
|
642
|
+
id: string;
|
|
643
|
+
userId: string;
|
|
644
|
+
/** Format: date-time */
|
|
645
|
+
createdAt: string;
|
|
646
|
+
};
|
|
647
|
+
VehicleRef: {
|
|
648
|
+
sourceSystem: string;
|
|
649
|
+
externalId: string;
|
|
650
|
+
year: components["schemas"]["HydratedText"];
|
|
651
|
+
make: components["schemas"]["HydratedText"];
|
|
652
|
+
model: components["schemas"]["HydratedText"];
|
|
653
|
+
vin: components["schemas"]["HydratedText"];
|
|
654
|
+
availability: components["schemas"]["Availability"];
|
|
655
|
+
};
|
|
656
|
+
RepairOrderRef: {
|
|
657
|
+
sourceSystem: string;
|
|
658
|
+
externalId: string;
|
|
659
|
+
relationship: string;
|
|
660
|
+
displayNumber: components["schemas"]["HydratedText"];
|
|
661
|
+
status: components["schemas"]["HydratedText"];
|
|
662
|
+
vehicle: components["schemas"]["VehicleRef"] | null;
|
|
663
|
+
availability: components["schemas"]["Availability"];
|
|
664
|
+
};
|
|
665
|
+
ConversationDetailResponse: {
|
|
666
|
+
data: {
|
|
667
|
+
/** Format: uuid */
|
|
668
|
+
conversationId: string;
|
|
669
|
+
clientOrgId: string;
|
|
670
|
+
customerId: string;
|
|
671
|
+
version: number;
|
|
672
|
+
currentCycle: components["schemas"]["WorkCycleSummary"] | null;
|
|
673
|
+
owner: components["schemas"]["Owner"] | null;
|
|
674
|
+
reminder: components["schemas"]["Reminder"] | null;
|
|
675
|
+
attention: components["schemas"]["AttentionSummary"] | null;
|
|
676
|
+
overdue: components["schemas"]["OverdueSummary"];
|
|
677
|
+
customerDisplayName: components["schemas"]["HydratedText"];
|
|
678
|
+
/** @description The Customer's contact telephone number, for placing an outbound call. Optional because no producer can supply it yet: Ordo stores a Customer reference and no payload, so this arrives with external Customer hydration. Absent and `{ value: null }` mean different things - absent is a producer that does not publish the field, null with an availability is a source that could not supply it. */
|
|
679
|
+
customerPhone?: components["schemas"]["HydratedText"];
|
|
680
|
+
aiContext: components["schemas"]["AiContext"];
|
|
681
|
+
viewerState: components["schemas"]["ViewerState"];
|
|
682
|
+
interactionSummary: components["schemas"]["InteractionSummary"];
|
|
683
|
+
cycles: components["schemas"]["WorkCycleSummary"][];
|
|
684
|
+
interactions: components["schemas"]["InteractionRef"][];
|
|
685
|
+
repairOrders: components["schemas"]["RepairOrderRef"][];
|
|
686
|
+
availableActions: components["schemas"]["AvailableAction"][];
|
|
687
|
+
availability: {
|
|
688
|
+
[key: string]: components["schemas"]["Availability"];
|
|
689
|
+
};
|
|
690
|
+
};
|
|
691
|
+
};
|
|
692
|
+
/** @description Ordo-owned durable note attached to the Conversation Customer, not to a WorkCycle. */
|
|
693
|
+
CustomerNote: {
|
|
694
|
+
/** Format: uuid */
|
|
695
|
+
id: string;
|
|
696
|
+
body: string;
|
|
697
|
+
authorUserId: string;
|
|
698
|
+
/** Format: date-time */
|
|
699
|
+
createdAt: string;
|
|
700
|
+
/** Format: date-time */
|
|
701
|
+
updatedAt: string;
|
|
702
|
+
version: number;
|
|
703
|
+
};
|
|
704
|
+
CustomerNoteListResponse: {
|
|
705
|
+
data: {
|
|
706
|
+
notes: components["schemas"]["CustomerNote"][];
|
|
707
|
+
};
|
|
708
|
+
meta: {
|
|
709
|
+
/** @description Opaque keyset cursor. */
|
|
710
|
+
nextCursor: string | null;
|
|
711
|
+
};
|
|
712
|
+
};
|
|
713
|
+
/** @enum {string} */
|
|
714
|
+
NotificationKind: "reminder_due" | "mention" | "internal_comment_reply" | "needs_attention" | "overdue" | "ro_opened" | "ro_closed";
|
|
715
|
+
/** @description Recipient-specific Ordo alert state. Opening or dismissing it never resolves domain work. */
|
|
716
|
+
InboxNotification: {
|
|
717
|
+
/** Format: uuid */
|
|
718
|
+
id: string;
|
|
719
|
+
kind: components["schemas"]["NotificationKind"];
|
|
720
|
+
/** Format: uuid */
|
|
721
|
+
conversationId: string;
|
|
722
|
+
/** Format: uuid */
|
|
723
|
+
workCycleId: string | null;
|
|
724
|
+
/** Format: uuid */
|
|
725
|
+
reminderId: string | null;
|
|
726
|
+
/** Format: uuid */
|
|
727
|
+
mentionId: string | null;
|
|
728
|
+
/** Format: uuid */
|
|
729
|
+
attentionCycleId: string | null;
|
|
730
|
+
/** Format: uuid */
|
|
731
|
+
interactionId: string | null;
|
|
732
|
+
title: string;
|
|
733
|
+
body: string;
|
|
734
|
+
payloadVersion: number;
|
|
735
|
+
/** Format: date-time */
|
|
736
|
+
createdAt: string;
|
|
737
|
+
/** Format: date-time */
|
|
738
|
+
readAt: string | null;
|
|
739
|
+
};
|
|
740
|
+
NotificationListResponse: {
|
|
741
|
+
data: {
|
|
742
|
+
notifications: components["schemas"]["InboxNotification"][];
|
|
743
|
+
unreadCount: number;
|
|
744
|
+
};
|
|
745
|
+
meta: {
|
|
746
|
+
/** @description Opaque keyset cursor. */
|
|
747
|
+
nextCursor: string | null;
|
|
748
|
+
};
|
|
749
|
+
};
|
|
750
|
+
ProducerSourceV1: {
|
|
751
|
+
system: string;
|
|
752
|
+
eventId: string;
|
|
753
|
+
eventVersion: string;
|
|
754
|
+
};
|
|
755
|
+
ProducerConversationTargetV1: {
|
|
756
|
+
/** Format: uuid */
|
|
757
|
+
conversationId: string;
|
|
758
|
+
};
|
|
759
|
+
ProducerCustomerIdentityV1: {
|
|
760
|
+
customerSourceSystem: string;
|
|
761
|
+
customerExternalId: string;
|
|
762
|
+
};
|
|
763
|
+
ProducerCustomerTargetV1: {
|
|
764
|
+
customerIdentity: components["schemas"]["ProducerCustomerIdentityV1"];
|
|
765
|
+
};
|
|
766
|
+
ProducerSourceActivityTargetV1: components["schemas"]["ProducerConversationTargetV1"] | components["schemas"]["ProducerCustomerTargetV1"];
|
|
767
|
+
ProducerInteractionV1: {
|
|
768
|
+
/** @enum {string} */
|
|
769
|
+
kind: "sms" | "call" | "voicemail" | "ro_event" | "system_event";
|
|
770
|
+
channel?: string;
|
|
771
|
+
/** @enum {string} */
|
|
772
|
+
direction: "inbound" | "outbound" | "internal";
|
|
773
|
+
/** @enum {string} */
|
|
774
|
+
senderType: "customer" | "user" | "pam" | "system";
|
|
775
|
+
senderUserExternalId?: string;
|
|
776
|
+
/** @enum {string} */
|
|
777
|
+
lineType?: "pam" | "rooftop" | "advisor";
|
|
778
|
+
dynamoLocator?: {
|
|
779
|
+
partitionKey: string;
|
|
780
|
+
sortKey: string;
|
|
781
|
+
};
|
|
782
|
+
};
|
|
783
|
+
ProducerRepairOrderTransitionV1: {
|
|
784
|
+
/** @enum {string} */
|
|
785
|
+
transition: "RO_OPENED" | "RO_CLOSED";
|
|
786
|
+
sourceSystem: string;
|
|
787
|
+
externalId: string;
|
|
788
|
+
};
|
|
789
|
+
ProducerCustomerActivityPayloadV1: {
|
|
790
|
+
/**
|
|
791
|
+
* @description discriminator enum property added by openapi-typescript
|
|
792
|
+
* @enum {string}
|
|
793
|
+
*/
|
|
794
|
+
activityType: "customer_activity";
|
|
795
|
+
interaction: components["schemas"]["ProducerInteractionV1"];
|
|
796
|
+
};
|
|
797
|
+
ProducerApprovedResponsePayloadV1: {
|
|
798
|
+
/**
|
|
799
|
+
* @description discriminator enum property added by openapi-typescript
|
|
800
|
+
* @enum {string}
|
|
801
|
+
*/
|
|
802
|
+
activityType: "approved_customer_response";
|
|
803
|
+
interaction: components["schemas"]["ProducerInteractionV1"];
|
|
804
|
+
};
|
|
805
|
+
ProducerInformationalPayloadV1: {
|
|
806
|
+
/**
|
|
807
|
+
* @description discriminator enum property added by openapi-typescript
|
|
808
|
+
* @enum {string}
|
|
809
|
+
*/
|
|
810
|
+
activityType: "informational";
|
|
811
|
+
interaction: components["schemas"]["ProducerInteractionV1"];
|
|
812
|
+
};
|
|
813
|
+
ProducerRepairOrderPayloadV1: {
|
|
814
|
+
/**
|
|
815
|
+
* @description discriminator enum property added by openapi-typescript
|
|
816
|
+
* @enum {string}
|
|
817
|
+
*/
|
|
818
|
+
activityType: "repair_order_transition";
|
|
819
|
+
interaction: components["schemas"]["ProducerInteractionV1"];
|
|
820
|
+
repairOrder: components["schemas"]["ProducerRepairOrderTransitionV1"];
|
|
821
|
+
};
|
|
822
|
+
ProducerSourceActivityPayloadV1: components["schemas"]["ProducerCustomerActivityPayloadV1"] | components["schemas"]["ProducerApprovedResponsePayloadV1"] | components["schemas"]["ProducerInformationalPayloadV1"] | components["schemas"]["ProducerRepairOrderPayloadV1"];
|
|
823
|
+
ProducerAttentionRecipientV1: {
|
|
824
|
+
recipientUserExternalId: string;
|
|
825
|
+
/** @enum {string} */
|
|
826
|
+
configuredTargetType: "user" | "group" | "team";
|
|
827
|
+
configuredTargetExternalId: string;
|
|
828
|
+
policyVersion?: string;
|
|
829
|
+
routingSnapshot?: {
|
|
830
|
+
[key: string]: unknown;
|
|
831
|
+
};
|
|
832
|
+
};
|
|
833
|
+
ProducerAttentionPayloadV1: {
|
|
834
|
+
/** Format: uuid */
|
|
835
|
+
workCycleId: string;
|
|
836
|
+
category: string;
|
|
837
|
+
/** Format: uuid */
|
|
838
|
+
interactionRefId?: string;
|
|
839
|
+
policySnapshot: {
|
|
840
|
+
[key: string]: unknown;
|
|
841
|
+
};
|
|
842
|
+
recipients: components["schemas"]["ProducerAttentionRecipientV1"][];
|
|
843
|
+
};
|
|
844
|
+
ProducerReminderFirePayloadV1: {
|
|
845
|
+
/** Format: uuid */
|
|
846
|
+
reminderId: string;
|
|
847
|
+
/** Format: date-time */
|
|
848
|
+
dueAt: string;
|
|
849
|
+
expectedReminderVersion: number;
|
|
850
|
+
};
|
|
851
|
+
ProducerSnoozeReturnPayloadV1: {
|
|
852
|
+
/** Format: uuid */
|
|
853
|
+
workCycleId: string;
|
|
854
|
+
/** Format: date-time */
|
|
855
|
+
scheduledFor: string;
|
|
856
|
+
snoozeOperationId: string;
|
|
857
|
+
};
|
|
858
|
+
ProducerOverdueFirePayloadV1: {
|
|
859
|
+
/** Format: uuid */
|
|
860
|
+
workCycleId: string;
|
|
861
|
+
/** Format: date-time */
|
|
862
|
+
deadline: string;
|
|
863
|
+
/** Format: date-time */
|
|
864
|
+
oldestUnrespondedAt: string;
|
|
865
|
+
recipientUserExternalId: string;
|
|
866
|
+
};
|
|
867
|
+
ProducerSourceActivityCommandV1: {
|
|
868
|
+
/** @constant */
|
|
869
|
+
schemaVersion: 1;
|
|
870
|
+
operationId: string;
|
|
871
|
+
/**
|
|
872
|
+
* @description discriminator enum property added by openapi-typescript
|
|
873
|
+
* @enum {string}
|
|
874
|
+
*/
|
|
875
|
+
commandType: "work_cycle.source_activity";
|
|
876
|
+
clientOrgId: string;
|
|
877
|
+
traceId: string;
|
|
878
|
+
/** Format: date-time */
|
|
879
|
+
occurredAt: string;
|
|
880
|
+
actor: {
|
|
881
|
+
/** @constant */
|
|
882
|
+
type: "source";
|
|
883
|
+
};
|
|
884
|
+
source: components["schemas"]["ProducerSourceV1"];
|
|
885
|
+
target: components["schemas"]["ProducerSourceActivityTargetV1"];
|
|
886
|
+
payload: components["schemas"]["ProducerSourceActivityPayloadV1"];
|
|
887
|
+
};
|
|
888
|
+
ProducerAttentionCommandV1: {
|
|
889
|
+
/** @constant */
|
|
890
|
+
schemaVersion: 1;
|
|
891
|
+
operationId: string;
|
|
892
|
+
/**
|
|
893
|
+
* @description discriminator enum property added by openapi-typescript
|
|
894
|
+
* @enum {string}
|
|
895
|
+
*/
|
|
896
|
+
commandType: "attention.open_or_add_evidence";
|
|
897
|
+
clientOrgId: string;
|
|
898
|
+
traceId: string;
|
|
899
|
+
/** Format: date-time */
|
|
900
|
+
occurredAt: string;
|
|
901
|
+
actor: {
|
|
902
|
+
/** @enum {string} */
|
|
903
|
+
type: "source" | "pam";
|
|
904
|
+
};
|
|
905
|
+
source: components["schemas"]["ProducerSourceV1"];
|
|
906
|
+
target: components["schemas"]["ProducerConversationTargetV1"];
|
|
907
|
+
payload: components["schemas"]["ProducerAttentionPayloadV1"];
|
|
908
|
+
};
|
|
909
|
+
ProducerReminderFireCommandV1: {
|
|
910
|
+
/** @constant */
|
|
911
|
+
schemaVersion: 1;
|
|
912
|
+
operationId: string;
|
|
913
|
+
/**
|
|
914
|
+
* @description discriminator enum property added by openapi-typescript
|
|
915
|
+
* @enum {string}
|
|
916
|
+
*/
|
|
917
|
+
commandType: "reminder.fire";
|
|
918
|
+
clientOrgId: string;
|
|
919
|
+
traceId: string;
|
|
920
|
+
/** Format: date-time */
|
|
921
|
+
occurredAt: string;
|
|
922
|
+
actor: {
|
|
923
|
+
/** @constant */
|
|
924
|
+
type: "system";
|
|
925
|
+
};
|
|
926
|
+
source: components["schemas"]["ProducerSourceV1"];
|
|
927
|
+
target: components["schemas"]["ProducerConversationTargetV1"];
|
|
928
|
+
payload: components["schemas"]["ProducerReminderFirePayloadV1"];
|
|
929
|
+
};
|
|
930
|
+
ProducerSnoozeReturnCommandV1: {
|
|
931
|
+
/** @constant */
|
|
932
|
+
schemaVersion: 1;
|
|
933
|
+
operationId: string;
|
|
934
|
+
/**
|
|
935
|
+
* @description discriminator enum property added by openapi-typescript
|
|
936
|
+
* @enum {string}
|
|
937
|
+
*/
|
|
938
|
+
commandType: "snooze.return";
|
|
939
|
+
clientOrgId: string;
|
|
940
|
+
traceId: string;
|
|
941
|
+
/** Format: date-time */
|
|
942
|
+
occurredAt: string;
|
|
943
|
+
actor: {
|
|
944
|
+
/** @constant */
|
|
945
|
+
type: "system";
|
|
946
|
+
};
|
|
947
|
+
source: components["schemas"]["ProducerSourceV1"];
|
|
948
|
+
target: components["schemas"]["ProducerConversationTargetV1"];
|
|
949
|
+
payload: components["schemas"]["ProducerSnoozeReturnPayloadV1"];
|
|
950
|
+
};
|
|
951
|
+
ProducerOverdueFireCommandV1: {
|
|
952
|
+
/** @constant */
|
|
953
|
+
schemaVersion: 1;
|
|
954
|
+
operationId: string;
|
|
955
|
+
/**
|
|
956
|
+
* @description discriminator enum property added by openapi-typescript
|
|
957
|
+
* @enum {string}
|
|
958
|
+
*/
|
|
959
|
+
commandType: "overdue.fire";
|
|
960
|
+
clientOrgId: string;
|
|
961
|
+
traceId: string;
|
|
962
|
+
/** Format: date-time */
|
|
963
|
+
occurredAt: string;
|
|
964
|
+
actor: {
|
|
965
|
+
/** @constant */
|
|
966
|
+
type: "system";
|
|
967
|
+
};
|
|
968
|
+
source: components["schemas"]["ProducerSourceV1"];
|
|
969
|
+
target: components["schemas"]["ProducerConversationTargetV1"];
|
|
970
|
+
payload: components["schemas"]["ProducerOverdueFirePayloadV1"];
|
|
971
|
+
};
|
|
972
|
+
/** @description Versioned internal FIFO producer command. Serialized SQS bodies are limited to 64 KiB by producers and consumers even though JSON Schema cannot express a byte-size limit. */
|
|
973
|
+
ProducerCommandV1: components["schemas"]["ProducerSourceActivityCommandV1"] | components["schemas"]["ProducerAttentionCommandV1"] | components["schemas"]["ProducerReminderFireCommandV1"] | components["schemas"]["ProducerSnoozeReturnCommandV1"] | components["schemas"]["ProducerOverdueFireCommandV1"];
|
|
974
|
+
CommandEnvelope: {
|
|
975
|
+
operationId: string;
|
|
976
|
+
clientOrgId: string;
|
|
977
|
+
/** Format: uuid */
|
|
978
|
+
conversationId: string;
|
|
979
|
+
/** Format: uuid */
|
|
980
|
+
workCycleId: string;
|
|
981
|
+
expectedVersion: number;
|
|
982
|
+
};
|
|
983
|
+
ActiveWorkCycleAppendEnvelope: {
|
|
984
|
+
operationId: string;
|
|
985
|
+
clientOrgId: string;
|
|
986
|
+
/** Format: uuid */
|
|
987
|
+
conversationId: string;
|
|
988
|
+
/** Format: uuid */
|
|
989
|
+
workCycleId: string;
|
|
990
|
+
};
|
|
991
|
+
ConversationOperationEnvelope: {
|
|
992
|
+
operationId: string;
|
|
993
|
+
clientOrgId: string;
|
|
994
|
+
/** Format: uuid */
|
|
995
|
+
conversationId: string;
|
|
996
|
+
};
|
|
997
|
+
NotificationCommand: {
|
|
998
|
+
operationId: string;
|
|
999
|
+
clientOrgId: string;
|
|
1000
|
+
/** Format: uuid */
|
|
1001
|
+
notificationId: string;
|
|
1002
|
+
};
|
|
1003
|
+
BaseCommand: components["schemas"]["CommandEnvelope"];
|
|
1004
|
+
UserAssignmentTarget: {
|
|
1005
|
+
/**
|
|
1006
|
+
* @description discriminator enum property added by openapi-typescript
|
|
1007
|
+
* @enum {string}
|
|
1008
|
+
*/
|
|
1009
|
+
type: "USER";
|
|
1010
|
+
userId: string;
|
|
1011
|
+
};
|
|
1012
|
+
/** @description Selects configured Team routing; the resulting owner remains an individual User. */
|
|
1013
|
+
TeamRoutingAssignmentTarget: {
|
|
1014
|
+
/**
|
|
1015
|
+
* @description discriminator enum property added by openapi-typescript
|
|
1016
|
+
* @enum {string}
|
|
1017
|
+
*/
|
|
1018
|
+
type: "TEAM_ROUTING";
|
|
1019
|
+
teamId: string;
|
|
1020
|
+
};
|
|
1021
|
+
AssignmentTarget: components["schemas"]["UserAssignmentTarget"] | components["schemas"]["TeamRoutingAssignmentTarget"];
|
|
1022
|
+
AssignCommand: components["schemas"]["CommandEnvelope"] & {
|
|
1023
|
+
target: components["schemas"]["AssignmentTarget"];
|
|
1024
|
+
};
|
|
1025
|
+
SnoozeCommand: components["schemas"]["CommandEnvelope"] & {
|
|
1026
|
+
/** Format: date-time */
|
|
1027
|
+
until: string;
|
|
1028
|
+
reason?: string;
|
|
1029
|
+
};
|
|
1030
|
+
SetReminderCommand: components["schemas"]["CommandEnvelope"] & {
|
|
1031
|
+
/** Format: date-time */
|
|
1032
|
+
dueAt: string;
|
|
1033
|
+
note?: string;
|
|
1034
|
+
};
|
|
1035
|
+
CloseCommand: components["schemas"]["CommandEnvelope"] & {
|
|
1036
|
+
/**
|
|
1037
|
+
* @description Optional one-click resolution key. The service uses completed when omitted; other requires a non-blank reason.
|
|
1038
|
+
* @default completed
|
|
1039
|
+
*/
|
|
1040
|
+
resolutionKey: string;
|
|
1041
|
+
reason?: string;
|
|
1042
|
+
};
|
|
1043
|
+
AcknowledgeAttentionCommand: components["schemas"]["CommandEnvelope"] & {
|
|
1044
|
+
/** Format: uuid */
|
|
1045
|
+
attentionCycleId: string;
|
|
1046
|
+
};
|
|
1047
|
+
ResolveAttentionCommand: components["schemas"]["CommandEnvelope"] & {
|
|
1048
|
+
/** Format: uuid */
|
|
1049
|
+
attentionCycleId: string;
|
|
1050
|
+
reason?: string;
|
|
1051
|
+
};
|
|
1052
|
+
AddInternalCommentCommand: components["schemas"]["ActiveWorkCycleAppendEnvelope"] & {
|
|
1053
|
+
body: string;
|
|
1054
|
+
mentionedUserIds: string[];
|
|
1055
|
+
/** Format: uuid */
|
|
1056
|
+
replyToInteractionRefId?: string;
|
|
1057
|
+
};
|
|
1058
|
+
AdvanceReadCursorCommand: components["schemas"]["ConversationOperationEnvelope"] & {
|
|
1059
|
+
/** Format: uuid */
|
|
1060
|
+
throughInteractionRefId: string;
|
|
1061
|
+
};
|
|
1062
|
+
AddCustomerNoteCommand: components["schemas"]["ConversationOperationEnvelope"] & {
|
|
1063
|
+
body: string;
|
|
1064
|
+
};
|
|
1065
|
+
DeleteCustomerNoteCommand: components["schemas"]["ConversationOperationEnvelope"] & {
|
|
1066
|
+
/** Format: uuid */
|
|
1067
|
+
noteId: string;
|
|
1068
|
+
expectedNoteVersion: number;
|
|
1069
|
+
};
|
|
1070
|
+
CommandResult: {
|
|
1071
|
+
data: {
|
|
1072
|
+
operationId: string;
|
|
1073
|
+
applied: boolean;
|
|
1074
|
+
replayed: boolean;
|
|
1075
|
+
/** Format: uuid */
|
|
1076
|
+
conversationId: string;
|
|
1077
|
+
/** Format: uuid */
|
|
1078
|
+
workCycleId: string;
|
|
1079
|
+
resultingVersion: number;
|
|
1080
|
+
};
|
|
1081
|
+
};
|
|
1082
|
+
InternalCommentResult: {
|
|
1083
|
+
data: {
|
|
1084
|
+
operationId: string;
|
|
1085
|
+
applied: boolean;
|
|
1086
|
+
replayed: boolean;
|
|
1087
|
+
/** Format: uuid */
|
|
1088
|
+
conversationId: string;
|
|
1089
|
+
/** Format: uuid */
|
|
1090
|
+
workCycleId: string;
|
|
1091
|
+
resultingVersion: number;
|
|
1092
|
+
/** Format: uuid */
|
|
1093
|
+
interactionRefId: string;
|
|
1094
|
+
sequenceNumber: number;
|
|
1095
|
+
mentionCount: number;
|
|
1096
|
+
};
|
|
1097
|
+
};
|
|
1098
|
+
ReadCursorResult: {
|
|
1099
|
+
data: {
|
|
1100
|
+
operationId: string;
|
|
1101
|
+
applied: boolean;
|
|
1102
|
+
replayed: boolean;
|
|
1103
|
+
/** Format: uuid */
|
|
1104
|
+
conversationId: string;
|
|
1105
|
+
/** Format: uuid */
|
|
1106
|
+
lastReadInteractionRefId: string;
|
|
1107
|
+
lastReadSequenceNumber: number;
|
|
1108
|
+
};
|
|
1109
|
+
};
|
|
1110
|
+
CustomerNoteCommandResult: {
|
|
1111
|
+
data: {
|
|
1112
|
+
operationId: string;
|
|
1113
|
+
applied: boolean;
|
|
1114
|
+
replayed: boolean;
|
|
1115
|
+
/** Format: uuid */
|
|
1116
|
+
conversationId: string;
|
|
1117
|
+
/** Format: uuid */
|
|
1118
|
+
noteId: string;
|
|
1119
|
+
resultingNoteVersion: number;
|
|
1120
|
+
};
|
|
1121
|
+
};
|
|
1122
|
+
NotificationCommandResult: {
|
|
1123
|
+
data: {
|
|
1124
|
+
operationId: string;
|
|
1125
|
+
applied: boolean;
|
|
1126
|
+
replayed: boolean;
|
|
1127
|
+
/** Format: uuid */
|
|
1128
|
+
notificationId: string;
|
|
1129
|
+
/** Format: date-time */
|
|
1130
|
+
readAt: string;
|
|
1131
|
+
/** Format: date-time */
|
|
1132
|
+
dismissedAt: string | null;
|
|
1133
|
+
};
|
|
1134
|
+
};
|
|
1135
|
+
ErrorEnvelope: {
|
|
1136
|
+
error: {
|
|
1137
|
+
code: string;
|
|
1138
|
+
message: string;
|
|
1139
|
+
correlationId: string;
|
|
1140
|
+
details?: {
|
|
1141
|
+
[key: string]: unknown;
|
|
1142
|
+
};
|
|
1143
|
+
};
|
|
1144
|
+
};
|
|
1145
|
+
};
|
|
1146
|
+
responses: {
|
|
1147
|
+
/** @description Applied or idempotently replayed command result. */
|
|
1148
|
+
CommandApplied: {
|
|
1149
|
+
headers: {
|
|
1150
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1151
|
+
[name: string]: unknown;
|
|
1152
|
+
};
|
|
1153
|
+
content: {
|
|
1154
|
+
"application/json": components["schemas"]["CommandResult"];
|
|
1155
|
+
};
|
|
1156
|
+
};
|
|
1157
|
+
/** @description Applied or idempotently replayed internal-comment result. */
|
|
1158
|
+
InternalCommentApplied: {
|
|
1159
|
+
headers: {
|
|
1160
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1161
|
+
[name: string]: unknown;
|
|
1162
|
+
};
|
|
1163
|
+
content: {
|
|
1164
|
+
"application/json": components["schemas"]["InternalCommentResult"];
|
|
1165
|
+
};
|
|
1166
|
+
};
|
|
1167
|
+
/** @description Applied, replayed, or monotonic no-op read-cursor result. */
|
|
1168
|
+
ReadCursorAdvanced: {
|
|
1169
|
+
headers: {
|
|
1170
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1171
|
+
[name: string]: unknown;
|
|
1172
|
+
};
|
|
1173
|
+
content: {
|
|
1174
|
+
"application/json": components["schemas"]["ReadCursorResult"];
|
|
1175
|
+
};
|
|
1176
|
+
};
|
|
1177
|
+
/** @description Applied or idempotently replayed Customer-note mutation result. */
|
|
1178
|
+
CustomerNoteCommandApplied: {
|
|
1179
|
+
headers: {
|
|
1180
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1181
|
+
[name: string]: unknown;
|
|
1182
|
+
};
|
|
1183
|
+
content: {
|
|
1184
|
+
"application/json": components["schemas"]["CustomerNoteCommandResult"];
|
|
1185
|
+
};
|
|
1186
|
+
};
|
|
1187
|
+
/** @description Applied, replayed, or monotonic no-op notification state result. */
|
|
1188
|
+
NotificationCommandApplied: {
|
|
1189
|
+
headers: {
|
|
1190
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1191
|
+
[name: string]: unknown;
|
|
1192
|
+
};
|
|
1193
|
+
content: {
|
|
1194
|
+
"application/json": components["schemas"]["NotificationCommandResult"];
|
|
1195
|
+
};
|
|
1196
|
+
};
|
|
1197
|
+
/** @description Invalid input. */
|
|
1198
|
+
BadRequest: {
|
|
1199
|
+
headers: {
|
|
1200
|
+
[name: string]: unknown;
|
|
1201
|
+
};
|
|
1202
|
+
content: {
|
|
1203
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1204
|
+
};
|
|
1205
|
+
};
|
|
1206
|
+
/** @description Missing or invalid dashboard identity. */
|
|
1207
|
+
Unauthorized: {
|
|
1208
|
+
headers: {
|
|
1209
|
+
[name: string]: unknown;
|
|
1210
|
+
};
|
|
1211
|
+
content: {
|
|
1212
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1213
|
+
};
|
|
1214
|
+
};
|
|
1215
|
+
/** @description Authenticated but not authorized for rooftop or capability. */
|
|
1216
|
+
Forbidden: {
|
|
1217
|
+
headers: {
|
|
1218
|
+
[name: string]: unknown;
|
|
1219
|
+
};
|
|
1220
|
+
content: {
|
|
1221
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1222
|
+
};
|
|
1223
|
+
};
|
|
1224
|
+
/** @description Not found without disclosing unauthorized record existence. */
|
|
1225
|
+
NotFound: {
|
|
1226
|
+
headers: {
|
|
1227
|
+
[name: string]: unknown;
|
|
1228
|
+
};
|
|
1229
|
+
content: {
|
|
1230
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1231
|
+
};
|
|
1232
|
+
};
|
|
1233
|
+
/** @description Stale expectedVersion or command conflict; refresh and retry deliberately. */
|
|
1234
|
+
Conflict: {
|
|
1235
|
+
headers: {
|
|
1236
|
+
[name: string]: unknown;
|
|
1237
|
+
};
|
|
1238
|
+
content: {
|
|
1239
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1240
|
+
};
|
|
1241
|
+
};
|
|
1242
|
+
/** @description Unexpected service error. */
|
|
1243
|
+
InternalError: {
|
|
1244
|
+
headers: {
|
|
1245
|
+
[name: string]: unknown;
|
|
1246
|
+
};
|
|
1247
|
+
content: {
|
|
1248
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1249
|
+
};
|
|
1250
|
+
};
|
|
1251
|
+
/** @description A required upstream authority is temporarily unavailable. */
|
|
1252
|
+
ServiceUnavailable: {
|
|
1253
|
+
headers: {
|
|
1254
|
+
[name: string]: unknown;
|
|
1255
|
+
};
|
|
1256
|
+
content: {
|
|
1257
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1258
|
+
};
|
|
1259
|
+
};
|
|
1260
|
+
/** @description Contract route is published but behavior is pending DASH-235 through DASH-237. */
|
|
1261
|
+
NotImplemented: {
|
|
1262
|
+
headers: {
|
|
1263
|
+
[name: string]: unknown;
|
|
1264
|
+
};
|
|
1265
|
+
content: {
|
|
1266
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
1267
|
+
};
|
|
1268
|
+
};
|
|
1269
|
+
};
|
|
1270
|
+
parameters: {
|
|
1271
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1272
|
+
ClientOrgId: string;
|
|
1273
|
+
ConversationId: string;
|
|
1274
|
+
};
|
|
1275
|
+
requestBodies: {
|
|
1276
|
+
BaseCommand: {
|
|
1277
|
+
content: {
|
|
1278
|
+
"application/json": components["schemas"]["BaseCommand"];
|
|
1279
|
+
};
|
|
1280
|
+
};
|
|
1281
|
+
AssignCommand: {
|
|
1282
|
+
content: {
|
|
1283
|
+
"application/json": components["schemas"]["AssignCommand"];
|
|
1284
|
+
};
|
|
1285
|
+
};
|
|
1286
|
+
SnoozeCommand: {
|
|
1287
|
+
content: {
|
|
1288
|
+
"application/json": components["schemas"]["SnoozeCommand"];
|
|
1289
|
+
};
|
|
1290
|
+
};
|
|
1291
|
+
SetReminderCommand: {
|
|
1292
|
+
content: {
|
|
1293
|
+
"application/json": components["schemas"]["SetReminderCommand"];
|
|
1294
|
+
};
|
|
1295
|
+
};
|
|
1296
|
+
CloseCommand: {
|
|
1297
|
+
content: {
|
|
1298
|
+
"application/json": components["schemas"]["CloseCommand"];
|
|
1299
|
+
};
|
|
1300
|
+
};
|
|
1301
|
+
AcknowledgeAttentionCommand: {
|
|
1302
|
+
content: {
|
|
1303
|
+
"application/json": components["schemas"]["AcknowledgeAttentionCommand"];
|
|
1304
|
+
};
|
|
1305
|
+
};
|
|
1306
|
+
ResolveAttentionCommand: {
|
|
1307
|
+
content: {
|
|
1308
|
+
"application/json": components["schemas"]["ResolveAttentionCommand"];
|
|
1309
|
+
};
|
|
1310
|
+
};
|
|
1311
|
+
AddInternalCommentCommand: {
|
|
1312
|
+
content: {
|
|
1313
|
+
"application/json": components["schemas"]["AddInternalCommentCommand"];
|
|
1314
|
+
};
|
|
1315
|
+
};
|
|
1316
|
+
AdvanceReadCursorCommand: {
|
|
1317
|
+
content: {
|
|
1318
|
+
"application/json": components["schemas"]["AdvanceReadCursorCommand"];
|
|
1319
|
+
};
|
|
1320
|
+
};
|
|
1321
|
+
AddCustomerNoteCommand: {
|
|
1322
|
+
content: {
|
|
1323
|
+
"application/json": components["schemas"]["AddCustomerNoteCommand"];
|
|
1324
|
+
};
|
|
1325
|
+
};
|
|
1326
|
+
DeleteCustomerNoteCommand: {
|
|
1327
|
+
content: {
|
|
1328
|
+
"application/json": components["schemas"]["DeleteCustomerNoteCommand"];
|
|
1329
|
+
};
|
|
1330
|
+
};
|
|
1331
|
+
NotificationCommand: {
|
|
1332
|
+
content: {
|
|
1333
|
+
"application/json": components["schemas"]["NotificationCommand"];
|
|
1334
|
+
};
|
|
1335
|
+
};
|
|
1336
|
+
};
|
|
1337
|
+
headers: {
|
|
1338
|
+
/** @description Stable request correlation identifier. */
|
|
1339
|
+
CorrelationId: string;
|
|
1340
|
+
};
|
|
1341
|
+
pathItems: never;
|
|
1342
|
+
}
|
|
1343
|
+
export type $defs = Record<string, never>;
|
|
1344
|
+
export interface operations {
|
|
1345
|
+
listInboxConversations: {
|
|
1346
|
+
parameters: {
|
|
1347
|
+
query: {
|
|
1348
|
+
scope: components["schemas"]["InboxScope"];
|
|
1349
|
+
teamId?: string;
|
|
1350
|
+
tab?: "OPEN" | "SNOOZED" | "OVERDUE" | "NEEDS_ATTENTION" | "RESOLVED";
|
|
1351
|
+
labels?: string[];
|
|
1352
|
+
from?: string;
|
|
1353
|
+
to?: string;
|
|
1354
|
+
query?: string;
|
|
1355
|
+
sort?: "OPERATIONAL_URGENCY" | "LATEST_ACTIVITY";
|
|
1356
|
+
/** @description Opaque keyset cursor. Clients must not decode it. */
|
|
1357
|
+
cursor?: string;
|
|
1358
|
+
limit?: number;
|
|
1359
|
+
};
|
|
1360
|
+
header: {
|
|
1361
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1362
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1363
|
+
};
|
|
1364
|
+
path?: never;
|
|
1365
|
+
cookie?: never;
|
|
1366
|
+
};
|
|
1367
|
+
requestBody?: never;
|
|
1368
|
+
responses: {
|
|
1369
|
+
/** @description Canonical Inbox page. Optional hydration failures never remove a row. */
|
|
1370
|
+
200: {
|
|
1371
|
+
headers: {
|
|
1372
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1373
|
+
[name: string]: unknown;
|
|
1374
|
+
};
|
|
1375
|
+
content: {
|
|
1376
|
+
"application/json": components["schemas"]["InboxListResponse"];
|
|
1377
|
+
};
|
|
1378
|
+
};
|
|
1379
|
+
400: components["responses"]["BadRequest"];
|
|
1380
|
+
401: components["responses"]["Unauthorized"];
|
|
1381
|
+
403: components["responses"]["Forbidden"];
|
|
1382
|
+
500: components["responses"]["InternalError"];
|
|
1383
|
+
501: components["responses"]["NotImplemented"];
|
|
1384
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1385
|
+
};
|
|
1386
|
+
};
|
|
1387
|
+
getInboxConversation: {
|
|
1388
|
+
parameters: {
|
|
1389
|
+
query?: {
|
|
1390
|
+
cycleId?: string;
|
|
1391
|
+
};
|
|
1392
|
+
header: {
|
|
1393
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1394
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1395
|
+
};
|
|
1396
|
+
path: {
|
|
1397
|
+
conversationId: components["parameters"]["ConversationId"];
|
|
1398
|
+
};
|
|
1399
|
+
cookie?: never;
|
|
1400
|
+
};
|
|
1401
|
+
requestBody?: never;
|
|
1402
|
+
responses: {
|
|
1403
|
+
/** @description Authorized Conversation detail. */
|
|
1404
|
+
200: {
|
|
1405
|
+
headers: {
|
|
1406
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1407
|
+
[name: string]: unknown;
|
|
1408
|
+
};
|
|
1409
|
+
content: {
|
|
1410
|
+
"application/json": components["schemas"]["ConversationDetailResponse"];
|
|
1411
|
+
};
|
|
1412
|
+
};
|
|
1413
|
+
401: components["responses"]["Unauthorized"];
|
|
1414
|
+
403: components["responses"]["Forbidden"];
|
|
1415
|
+
404: components["responses"]["NotFound"];
|
|
1416
|
+
500: components["responses"]["InternalError"];
|
|
1417
|
+
501: components["responses"]["NotImplemented"];
|
|
1418
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1419
|
+
};
|
|
1420
|
+
};
|
|
1421
|
+
listInboxCustomerNotes: {
|
|
1422
|
+
parameters: {
|
|
1423
|
+
query?: {
|
|
1424
|
+
/** @description Opaque newest-first keyset cursor. Clients must not decode it. */
|
|
1425
|
+
cursor?: string;
|
|
1426
|
+
limit?: number;
|
|
1427
|
+
};
|
|
1428
|
+
header: {
|
|
1429
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1430
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1431
|
+
};
|
|
1432
|
+
path: {
|
|
1433
|
+
conversationId: components["parameters"]["ConversationId"];
|
|
1434
|
+
};
|
|
1435
|
+
cookie?: never;
|
|
1436
|
+
};
|
|
1437
|
+
requestBody?: never;
|
|
1438
|
+
responses: {
|
|
1439
|
+
/** @description Newest-first page of non-deleted notes for the Conversation Customer. */
|
|
1440
|
+
200: {
|
|
1441
|
+
headers: {
|
|
1442
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1443
|
+
[name: string]: unknown;
|
|
1444
|
+
};
|
|
1445
|
+
content: {
|
|
1446
|
+
"application/json": components["schemas"]["CustomerNoteListResponse"];
|
|
1447
|
+
};
|
|
1448
|
+
};
|
|
1449
|
+
400: components["responses"]["BadRequest"];
|
|
1450
|
+
401: components["responses"]["Unauthorized"];
|
|
1451
|
+
403: components["responses"]["Forbidden"];
|
|
1452
|
+
404: components["responses"]["NotFound"];
|
|
1453
|
+
500: components["responses"]["InternalError"];
|
|
1454
|
+
501: components["responses"]["NotImplemented"];
|
|
1455
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1456
|
+
};
|
|
1457
|
+
};
|
|
1458
|
+
searchInboxContacts: {
|
|
1459
|
+
parameters: {
|
|
1460
|
+
query: {
|
|
1461
|
+
/** @description A name fragment, or a telephone number in any format. */
|
|
1462
|
+
query: string;
|
|
1463
|
+
/** @description Which side of the directory to read. MINE returns only Customers whose Conversation the reader owns; EVERYONE returns the rest. One set is always in the way of the other, so this is a switch rather than a filter. */
|
|
1464
|
+
relationship?: "MINE" | "EVERYONE";
|
|
1465
|
+
limit?: number;
|
|
1466
|
+
};
|
|
1467
|
+
header: {
|
|
1468
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1469
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1470
|
+
};
|
|
1471
|
+
path?: never;
|
|
1472
|
+
cookie?: never;
|
|
1473
|
+
};
|
|
1474
|
+
requestBody?: never;
|
|
1475
|
+
responses: {
|
|
1476
|
+
/** @description Matching Customers. A hydration gap degrades a field, never a row. */
|
|
1477
|
+
200: {
|
|
1478
|
+
headers: {
|
|
1479
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1480
|
+
[name: string]: unknown;
|
|
1481
|
+
};
|
|
1482
|
+
content: {
|
|
1483
|
+
"application/json": components["schemas"]["ContactSearchResponse"];
|
|
1484
|
+
};
|
|
1485
|
+
};
|
|
1486
|
+
400: components["responses"]["BadRequest"];
|
|
1487
|
+
401: components["responses"]["Unauthorized"];
|
|
1488
|
+
403: components["responses"]["Forbidden"];
|
|
1489
|
+
500: components["responses"]["InternalError"];
|
|
1490
|
+
501: components["responses"]["NotImplemented"];
|
|
1491
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1492
|
+
};
|
|
1493
|
+
};
|
|
1494
|
+
listInboxNotifications: {
|
|
1495
|
+
parameters: {
|
|
1496
|
+
query?: {
|
|
1497
|
+
/** @description Opaque newest-first snapshot cursor. Clients must not decode it. */
|
|
1498
|
+
cursor?: string;
|
|
1499
|
+
limit?: number;
|
|
1500
|
+
};
|
|
1501
|
+
header: {
|
|
1502
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1503
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1504
|
+
};
|
|
1505
|
+
path?: never;
|
|
1506
|
+
cookie?: never;
|
|
1507
|
+
};
|
|
1508
|
+
requestBody?: never;
|
|
1509
|
+
responses: {
|
|
1510
|
+
/** @description Newest-first page of visible, undismissed recipient notifications. */
|
|
1511
|
+
200: {
|
|
1512
|
+
headers: {
|
|
1513
|
+
"x-correlation-id": components["headers"]["CorrelationId"];
|
|
1514
|
+
[name: string]: unknown;
|
|
1515
|
+
};
|
|
1516
|
+
content: {
|
|
1517
|
+
"application/json": components["schemas"]["NotificationListResponse"];
|
|
1518
|
+
};
|
|
1519
|
+
};
|
|
1520
|
+
400: components["responses"]["BadRequest"];
|
|
1521
|
+
401: components["responses"]["Unauthorized"];
|
|
1522
|
+
403: components["responses"]["Forbidden"];
|
|
1523
|
+
500: components["responses"]["InternalError"];
|
|
1524
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1525
|
+
};
|
|
1526
|
+
};
|
|
1527
|
+
assignConversation: {
|
|
1528
|
+
parameters: {
|
|
1529
|
+
query?: never;
|
|
1530
|
+
header: {
|
|
1531
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1532
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1533
|
+
};
|
|
1534
|
+
path?: never;
|
|
1535
|
+
cookie?: never;
|
|
1536
|
+
};
|
|
1537
|
+
requestBody: components["requestBodies"]["AssignCommand"];
|
|
1538
|
+
responses: {
|
|
1539
|
+
200: components["responses"]["CommandApplied"];
|
|
1540
|
+
400: components["responses"]["BadRequest"];
|
|
1541
|
+
401: components["responses"]["Unauthorized"];
|
|
1542
|
+
403: components["responses"]["Forbidden"];
|
|
1543
|
+
404: components["responses"]["NotFound"];
|
|
1544
|
+
409: components["responses"]["Conflict"];
|
|
1545
|
+
500: components["responses"]["InternalError"];
|
|
1546
|
+
501: components["responses"]["NotImplemented"];
|
|
1547
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1548
|
+
};
|
|
1549
|
+
};
|
|
1550
|
+
snoozeConversation: {
|
|
1551
|
+
parameters: {
|
|
1552
|
+
query?: never;
|
|
1553
|
+
header: {
|
|
1554
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1555
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1556
|
+
};
|
|
1557
|
+
path?: never;
|
|
1558
|
+
cookie?: never;
|
|
1559
|
+
};
|
|
1560
|
+
requestBody: components["requestBodies"]["SnoozeCommand"];
|
|
1561
|
+
responses: {
|
|
1562
|
+
200: components["responses"]["CommandApplied"];
|
|
1563
|
+
400: components["responses"]["BadRequest"];
|
|
1564
|
+
401: components["responses"]["Unauthorized"];
|
|
1565
|
+
403: components["responses"]["Forbidden"];
|
|
1566
|
+
404: components["responses"]["NotFound"];
|
|
1567
|
+
409: components["responses"]["Conflict"];
|
|
1568
|
+
500: components["responses"]["InternalError"];
|
|
1569
|
+
501: components["responses"]["NotImplemented"];
|
|
1570
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1571
|
+
};
|
|
1572
|
+
};
|
|
1573
|
+
unsnoozeConversation: {
|
|
1574
|
+
parameters: {
|
|
1575
|
+
query?: never;
|
|
1576
|
+
header: {
|
|
1577
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1578
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1579
|
+
};
|
|
1580
|
+
path?: never;
|
|
1581
|
+
cookie?: never;
|
|
1582
|
+
};
|
|
1583
|
+
requestBody: components["requestBodies"]["BaseCommand"];
|
|
1584
|
+
responses: {
|
|
1585
|
+
200: components["responses"]["CommandApplied"];
|
|
1586
|
+
400: components["responses"]["BadRequest"];
|
|
1587
|
+
401: components["responses"]["Unauthorized"];
|
|
1588
|
+
403: components["responses"]["Forbidden"];
|
|
1589
|
+
404: components["responses"]["NotFound"];
|
|
1590
|
+
409: components["responses"]["Conflict"];
|
|
1591
|
+
500: components["responses"]["InternalError"];
|
|
1592
|
+
501: components["responses"]["NotImplemented"];
|
|
1593
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1594
|
+
};
|
|
1595
|
+
};
|
|
1596
|
+
setConversationReminder: {
|
|
1597
|
+
parameters: {
|
|
1598
|
+
query?: never;
|
|
1599
|
+
header: {
|
|
1600
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1601
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1602
|
+
};
|
|
1603
|
+
path?: never;
|
|
1604
|
+
cookie?: never;
|
|
1605
|
+
};
|
|
1606
|
+
requestBody: components["requestBodies"]["SetReminderCommand"];
|
|
1607
|
+
responses: {
|
|
1608
|
+
200: components["responses"]["CommandApplied"];
|
|
1609
|
+
400: components["responses"]["BadRequest"];
|
|
1610
|
+
401: components["responses"]["Unauthorized"];
|
|
1611
|
+
403: components["responses"]["Forbidden"];
|
|
1612
|
+
404: components["responses"]["NotFound"];
|
|
1613
|
+
409: components["responses"]["Conflict"];
|
|
1614
|
+
500: components["responses"]["InternalError"];
|
|
1615
|
+
501: components["responses"]["NotImplemented"];
|
|
1616
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1617
|
+
};
|
|
1618
|
+
};
|
|
1619
|
+
clearConversationReminder: {
|
|
1620
|
+
parameters: {
|
|
1621
|
+
query?: never;
|
|
1622
|
+
header: {
|
|
1623
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1624
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1625
|
+
};
|
|
1626
|
+
path?: never;
|
|
1627
|
+
cookie?: never;
|
|
1628
|
+
};
|
|
1629
|
+
requestBody: components["requestBodies"]["BaseCommand"];
|
|
1630
|
+
responses: {
|
|
1631
|
+
200: components["responses"]["CommandApplied"];
|
|
1632
|
+
400: components["responses"]["BadRequest"];
|
|
1633
|
+
401: components["responses"]["Unauthorized"];
|
|
1634
|
+
403: components["responses"]["Forbidden"];
|
|
1635
|
+
404: components["responses"]["NotFound"];
|
|
1636
|
+
409: components["responses"]["Conflict"];
|
|
1637
|
+
500: components["responses"]["InternalError"];
|
|
1638
|
+
501: components["responses"]["NotImplemented"];
|
|
1639
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1640
|
+
};
|
|
1641
|
+
};
|
|
1642
|
+
closeConversation: {
|
|
1643
|
+
parameters: {
|
|
1644
|
+
query?: never;
|
|
1645
|
+
header: {
|
|
1646
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1647
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1648
|
+
};
|
|
1649
|
+
path?: never;
|
|
1650
|
+
cookie?: never;
|
|
1651
|
+
};
|
|
1652
|
+
requestBody: components["requestBodies"]["CloseCommand"];
|
|
1653
|
+
responses: {
|
|
1654
|
+
200: components["responses"]["CommandApplied"];
|
|
1655
|
+
400: components["responses"]["BadRequest"];
|
|
1656
|
+
401: components["responses"]["Unauthorized"];
|
|
1657
|
+
403: components["responses"]["Forbidden"];
|
|
1658
|
+
404: components["responses"]["NotFound"];
|
|
1659
|
+
409: components["responses"]["Conflict"];
|
|
1660
|
+
500: components["responses"]["InternalError"];
|
|
1661
|
+
501: components["responses"]["NotImplemented"];
|
|
1662
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1663
|
+
};
|
|
1664
|
+
};
|
|
1665
|
+
acknowledgeInboxAttention: {
|
|
1666
|
+
parameters: {
|
|
1667
|
+
query?: never;
|
|
1668
|
+
header: {
|
|
1669
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1670
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1671
|
+
};
|
|
1672
|
+
path?: never;
|
|
1673
|
+
cookie?: never;
|
|
1674
|
+
};
|
|
1675
|
+
requestBody: components["requestBodies"]["AcknowledgeAttentionCommand"];
|
|
1676
|
+
responses: {
|
|
1677
|
+
200: components["responses"]["CommandApplied"];
|
|
1678
|
+
400: components["responses"]["BadRequest"];
|
|
1679
|
+
401: components["responses"]["Unauthorized"];
|
|
1680
|
+
403: components["responses"]["Forbidden"];
|
|
1681
|
+
404: components["responses"]["NotFound"];
|
|
1682
|
+
409: components["responses"]["Conflict"];
|
|
1683
|
+
500: components["responses"]["InternalError"];
|
|
1684
|
+
501: components["responses"]["NotImplemented"];
|
|
1685
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1686
|
+
};
|
|
1687
|
+
};
|
|
1688
|
+
resolveInboxAttention: {
|
|
1689
|
+
parameters: {
|
|
1690
|
+
query?: never;
|
|
1691
|
+
header: {
|
|
1692
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1693
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1694
|
+
};
|
|
1695
|
+
path?: never;
|
|
1696
|
+
cookie?: never;
|
|
1697
|
+
};
|
|
1698
|
+
requestBody: components["requestBodies"]["ResolveAttentionCommand"];
|
|
1699
|
+
responses: {
|
|
1700
|
+
200: components["responses"]["CommandApplied"];
|
|
1701
|
+
400: components["responses"]["BadRequest"];
|
|
1702
|
+
401: components["responses"]["Unauthorized"];
|
|
1703
|
+
403: components["responses"]["Forbidden"];
|
|
1704
|
+
404: components["responses"]["NotFound"];
|
|
1705
|
+
409: components["responses"]["Conflict"];
|
|
1706
|
+
500: components["responses"]["InternalError"];
|
|
1707
|
+
501: components["responses"]["NotImplemented"];
|
|
1708
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1709
|
+
};
|
|
1710
|
+
};
|
|
1711
|
+
addInboxInternalComment: {
|
|
1712
|
+
parameters: {
|
|
1713
|
+
query?: never;
|
|
1714
|
+
header: {
|
|
1715
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1716
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1717
|
+
};
|
|
1718
|
+
path?: never;
|
|
1719
|
+
cookie?: never;
|
|
1720
|
+
};
|
|
1721
|
+
requestBody: components["requestBodies"]["AddInternalCommentCommand"];
|
|
1722
|
+
responses: {
|
|
1723
|
+
200: components["responses"]["InternalCommentApplied"];
|
|
1724
|
+
400: components["responses"]["BadRequest"];
|
|
1725
|
+
401: components["responses"]["Unauthorized"];
|
|
1726
|
+
403: components["responses"]["Forbidden"];
|
|
1727
|
+
404: components["responses"]["NotFound"];
|
|
1728
|
+
409: components["responses"]["Conflict"];
|
|
1729
|
+
500: components["responses"]["InternalError"];
|
|
1730
|
+
501: components["responses"]["NotImplemented"];
|
|
1731
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1732
|
+
};
|
|
1733
|
+
};
|
|
1734
|
+
advanceInboxReadCursor: {
|
|
1735
|
+
parameters: {
|
|
1736
|
+
query?: never;
|
|
1737
|
+
header: {
|
|
1738
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1739
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1740
|
+
};
|
|
1741
|
+
path?: never;
|
|
1742
|
+
cookie?: never;
|
|
1743
|
+
};
|
|
1744
|
+
requestBody: components["requestBodies"]["AdvanceReadCursorCommand"];
|
|
1745
|
+
responses: {
|
|
1746
|
+
200: components["responses"]["ReadCursorAdvanced"];
|
|
1747
|
+
400: components["responses"]["BadRequest"];
|
|
1748
|
+
401: components["responses"]["Unauthorized"];
|
|
1749
|
+
403: components["responses"]["Forbidden"];
|
|
1750
|
+
404: components["responses"]["NotFound"];
|
|
1751
|
+
409: components["responses"]["Conflict"];
|
|
1752
|
+
500: components["responses"]["InternalError"];
|
|
1753
|
+
501: components["responses"]["NotImplemented"];
|
|
1754
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1755
|
+
};
|
|
1756
|
+
};
|
|
1757
|
+
addInboxCustomerNote: {
|
|
1758
|
+
parameters: {
|
|
1759
|
+
query?: never;
|
|
1760
|
+
header: {
|
|
1761
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1762
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1763
|
+
};
|
|
1764
|
+
path?: never;
|
|
1765
|
+
cookie?: never;
|
|
1766
|
+
};
|
|
1767
|
+
requestBody: components["requestBodies"]["AddCustomerNoteCommand"];
|
|
1768
|
+
responses: {
|
|
1769
|
+
200: components["responses"]["CustomerNoteCommandApplied"];
|
|
1770
|
+
400: components["responses"]["BadRequest"];
|
|
1771
|
+
401: components["responses"]["Unauthorized"];
|
|
1772
|
+
403: components["responses"]["Forbidden"];
|
|
1773
|
+
404: components["responses"]["NotFound"];
|
|
1774
|
+
409: components["responses"]["Conflict"];
|
|
1775
|
+
500: components["responses"]["InternalError"];
|
|
1776
|
+
501: components["responses"]["NotImplemented"];
|
|
1777
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1778
|
+
};
|
|
1779
|
+
};
|
|
1780
|
+
deleteInboxCustomerNote: {
|
|
1781
|
+
parameters: {
|
|
1782
|
+
query?: never;
|
|
1783
|
+
header: {
|
|
1784
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1785
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1786
|
+
};
|
|
1787
|
+
path?: never;
|
|
1788
|
+
cookie?: never;
|
|
1789
|
+
};
|
|
1790
|
+
requestBody: components["requestBodies"]["DeleteCustomerNoteCommand"];
|
|
1791
|
+
responses: {
|
|
1792
|
+
200: components["responses"]["CustomerNoteCommandApplied"];
|
|
1793
|
+
400: components["responses"]["BadRequest"];
|
|
1794
|
+
401: components["responses"]["Unauthorized"];
|
|
1795
|
+
403: components["responses"]["Forbidden"];
|
|
1796
|
+
404: components["responses"]["NotFound"];
|
|
1797
|
+
409: components["responses"]["Conflict"];
|
|
1798
|
+
500: components["responses"]["InternalError"];
|
|
1799
|
+
501: components["responses"]["NotImplemented"];
|
|
1800
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1801
|
+
};
|
|
1802
|
+
};
|
|
1803
|
+
markInboxNotificationRead: {
|
|
1804
|
+
parameters: {
|
|
1805
|
+
query?: never;
|
|
1806
|
+
header: {
|
|
1807
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1808
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1809
|
+
};
|
|
1810
|
+
path?: never;
|
|
1811
|
+
cookie?: never;
|
|
1812
|
+
};
|
|
1813
|
+
requestBody: components["requestBodies"]["NotificationCommand"];
|
|
1814
|
+
responses: {
|
|
1815
|
+
200: components["responses"]["NotificationCommandApplied"];
|
|
1816
|
+
400: components["responses"]["BadRequest"];
|
|
1817
|
+
401: components["responses"]["Unauthorized"];
|
|
1818
|
+
403: components["responses"]["Forbidden"];
|
|
1819
|
+
404: components["responses"]["NotFound"];
|
|
1820
|
+
409: components["responses"]["Conflict"];
|
|
1821
|
+
500: components["responses"]["InternalError"];
|
|
1822
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1823
|
+
};
|
|
1824
|
+
};
|
|
1825
|
+
dismissInboxNotification: {
|
|
1826
|
+
parameters: {
|
|
1827
|
+
query?: never;
|
|
1828
|
+
header: {
|
|
1829
|
+
/** @description Authorized rooftop context. For commands this value must match body.clientOrgId; neither value is trusted without DASH-233 resolution. */
|
|
1830
|
+
"x-client-org-id": components["parameters"]["ClientOrgId"];
|
|
1831
|
+
};
|
|
1832
|
+
path?: never;
|
|
1833
|
+
cookie?: never;
|
|
1834
|
+
};
|
|
1835
|
+
requestBody: components["requestBodies"]["NotificationCommand"];
|
|
1836
|
+
responses: {
|
|
1837
|
+
200: components["responses"]["NotificationCommandApplied"];
|
|
1838
|
+
400: components["responses"]["BadRequest"];
|
|
1839
|
+
401: components["responses"]["Unauthorized"];
|
|
1840
|
+
403: components["responses"]["Forbidden"];
|
|
1841
|
+
404: components["responses"]["NotFound"];
|
|
1842
|
+
409: components["responses"]["Conflict"];
|
|
1843
|
+
500: components["responses"]["InternalError"];
|
|
1844
|
+
503: components["responses"]["ServiceUnavailable"];
|
|
1845
|
+
};
|
|
1846
|
+
};
|
|
1847
|
+
}
|
|
1848
|
+
//# sourceMappingURL=generated.d.ts.map
|