@snokam/mcp-api 0.183.0 → 0.184.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.
@@ -0,0 +1,1867 @@
1
+ {
2
+ "openapi": "3.0.4",
3
+ "info": {
4
+ "title": "ChatGPT API",
5
+ "description": "Azure OpenAI integrations",
6
+ "version": "v1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://chatgpt.api.test.snokam.no"
11
+ }
12
+ ],
13
+ "paths": {
14
+ "/v1.0/protected/health/{provider}": {
15
+ "get": {
16
+ "tags": [
17
+ "Health"
18
+ ],
19
+ "summary": "Checks an integration's connectivity",
20
+ "operationId": "ChatGptIntegrationHealth",
21
+ "parameters": [
22
+ {
23
+ "name": "provider",
24
+ "in": "path",
25
+ "required": true,
26
+ "schema": {
27
+ "type": "string"
28
+ }
29
+ }
30
+ ],
31
+ "responses": {
32
+ "200": {
33
+ "description": "Payload of IntegrationHealthResult",
34
+ "content": {
35
+ "application/json": {
36
+ "schema": {
37
+ "$ref": "#/components/schemas/integrationHealthResult"
38
+ }
39
+ }
40
+ },
41
+ "x-ms-summary": "Health result"
42
+ }
43
+ },
44
+ "security": [
45
+ {
46
+ "Implicit": [
47
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
48
+ ]
49
+ },
50
+ {
51
+ "ApiKey": []
52
+ }
53
+ ]
54
+ }
55
+ },
56
+ "/v1.0/newsletter/summary": {
57
+ "post": {
58
+ "tags": [
59
+ "Newsletter"
60
+ ],
61
+ "summary": "Summarize newsletter of a given topic",
62
+ "description": "Reads last week's newsletter mails and returns summary",
63
+ "operationId": "summarizeNewsletter",
64
+ "parameters": [
65
+ {
66
+ "name": "topic",
67
+ "in": "query",
68
+ "description": "Topic to summarize, e.g. AI",
69
+ "schema": {
70
+ "type": "string"
71
+ },
72
+ "x-ms-summary": "Technology topic"
73
+ },
74
+ {
75
+ "name": "mailbox",
76
+ "in": "query",
77
+ "description": "Override the mailbox the summarizer reads, e.g. fag-feed@snokam.no. Falls back to the environment default.",
78
+ "schema": {
79
+ "type": "string"
80
+ },
81
+ "x-ms-summary": "Shared mailbox to read"
82
+ }
83
+ ],
84
+ "responses": {
85
+ "200": {
86
+ "description": "Summary of the newsletter for the specified topic",
87
+ "content": {
88
+ "application/json": {
89
+ "schema": {
90
+ "$ref": "#/components/schemas/simpleResponseDto"
91
+ }
92
+ }
93
+ },
94
+ "x-ms-summary": "Success"
95
+ }
96
+ },
97
+ "security": [
98
+ {
99
+ "Implicit": []
100
+ },
101
+ {
102
+ "ApiKey": []
103
+ }
104
+ ]
105
+ }
106
+ },
107
+ "/v1.0/newsletter/single-news": {
108
+ "post": {
109
+ "tags": [
110
+ "AI News"
111
+ ],
112
+ "summary": "Get a single AI news item",
113
+ "description": "Fetches one AI news item from recent emails",
114
+ "operationId": "getSingleNews",
115
+ "parameters": [
116
+ {
117
+ "name": "topic",
118
+ "in": "query",
119
+ "description": "Topic to summarize, e.g. AI",
120
+ "schema": {
121
+ "type": "string"
122
+ },
123
+ "x-ms-summary": "Technology topic"
124
+ }
125
+ ],
126
+ "responses": {
127
+ "200": {
128
+ "description": "A single AI news item",
129
+ "content": {
130
+ "application/json": {
131
+ "schema": {
132
+ "$ref": "#/components/schemas/simpleResponseDto"
133
+ }
134
+ }
135
+ },
136
+ "x-ms-summary": "Success"
137
+ }
138
+ },
139
+ "security": [
140
+ {
141
+ "Implicit": []
142
+ },
143
+ {
144
+ "ApiKey": []
145
+ }
146
+ ]
147
+ }
148
+ },
149
+ "/v1.0/protected/question": {
150
+ "get": {
151
+ "tags": [
152
+ "Question"
153
+ ],
154
+ "summary": "Synchronously answer a question using ChatGPT",
155
+ "description": "This function synchronously answers a question using ChatGPT.",
156
+ "operationId": "protectedSyncQuestion",
157
+ "parameters": [
158
+ {
159
+ "name": "input",
160
+ "in": "query",
161
+ "description": "The question input to be answered",
162
+ "required": true,
163
+ "schema": {
164
+ "type": "string"
165
+ },
166
+ "x-ms-summary": "The question input"
167
+ },
168
+ {
169
+ "name": "addDefaultPrompts",
170
+ "in": "query",
171
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
172
+ "schema": {
173
+ "type": "boolean"
174
+ },
175
+ "x-ms-summary": "Include Default Prompts"
176
+ },
177
+ {
178
+ "name": "addApiTools",
179
+ "in": "query",
180
+ "description": "If true, API tools will be added to the chat context.",
181
+ "schema": {
182
+ "type": "boolean"
183
+ },
184
+ "x-ms-summary": "Include API Tools"
185
+ }
186
+ ],
187
+ "responses": {
188
+ "200": {
189
+ "description": "Question answered successfully",
190
+ "content": {
191
+ "application/json": {
192
+ "schema": {
193
+ "$ref": "#/components/schemas/simpleResponseDto"
194
+ }
195
+ }
196
+ },
197
+ "x-ms-summary": "Success"
198
+ }
199
+ },
200
+ "security": [
201
+ {
202
+ "Implicit": [
203
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
204
+ ]
205
+ },
206
+ {
207
+ "ApiKey": []
208
+ }
209
+ ]
210
+ }
211
+ },
212
+ "/v1.0/protected/question/async": {
213
+ "get": {
214
+ "tags": [
215
+ "Question"
216
+ ],
217
+ "summary": "Asynchronously answer a question using ChatGPT",
218
+ "description": "This function asynchronously answers a question using ChatGPT.",
219
+ "operationId": "protectedAsyncQuestion",
220
+ "parameters": [
221
+ {
222
+ "name": "input",
223
+ "in": "query",
224
+ "description": "The question input to be answered",
225
+ "required": true,
226
+ "schema": {
227
+ "type": "string"
228
+ },
229
+ "x-ms-summary": "The question input"
230
+ },
231
+ {
232
+ "name": "addDefaultPrompts",
233
+ "in": "query",
234
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
235
+ "schema": {
236
+ "type": "boolean"
237
+ },
238
+ "x-ms-summary": "Include Default Prompts"
239
+ },
240
+ {
241
+ "name": "addApiTools",
242
+ "in": "query",
243
+ "description": "If true, API tools will be added to the chat context.",
244
+ "schema": {
245
+ "type": "boolean"
246
+ },
247
+ "x-ms-summary": "Include API Tools"
248
+ }
249
+ ],
250
+ "responses": {
251
+ "200": {
252
+ "description": "Question answered successfully",
253
+ "x-ms-summary": "Success"
254
+ }
255
+ },
256
+ "security": [
257
+ {
258
+ "Implicit": [
259
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
260
+ ]
261
+ },
262
+ {
263
+ "ApiKey": []
264
+ }
265
+ ]
266
+ }
267
+ },
268
+ "/v1.0/protected/conversation": {
269
+ "post": {
270
+ "tags": [
271
+ "Conversation"
272
+ ],
273
+ "summary": "Synchronously handle a conversation using ChatGPT",
274
+ "description": "This function synchronously handles a conversation using ChatGPT.",
275
+ "operationId": "protectedSyncConversation",
276
+ "parameters": [
277
+ {
278
+ "name": "addDefaultPrompts",
279
+ "in": "query",
280
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
281
+ "schema": {
282
+ "type": "boolean"
283
+ },
284
+ "x-ms-summary": "Include Default Prompts"
285
+ },
286
+ {
287
+ "name": "addApiTools",
288
+ "in": "query",
289
+ "description": "If true, API tools will be added to the chat context.",
290
+ "schema": {
291
+ "type": "boolean"
292
+ },
293
+ "x-ms-summary": "Include API Tools"
294
+ }
295
+ ],
296
+ "requestBody": {
297
+ "description": "List of chat messages",
298
+ "content": {
299
+ "application/json": {
300
+ "schema": {
301
+ "type": "array",
302
+ "items": {
303
+ "$ref": "#/components/schemas/inputChatMessage"
304
+ }
305
+ }
306
+ }
307
+ },
308
+ "required": true
309
+ },
310
+ "responses": {
311
+ "200": {
312
+ "description": "Conversation handled successfully",
313
+ "content": {
314
+ "application/json": {
315
+ "schema": {
316
+ "$ref": "#/components/schemas/simpleResponseDto"
317
+ }
318
+ }
319
+ },
320
+ "x-ms-summary": "Success"
321
+ }
322
+ },
323
+ "security": [
324
+ {
325
+ "Implicit": [
326
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
327
+ ]
328
+ },
329
+ {
330
+ "ApiKey": []
331
+ }
332
+ ]
333
+ }
334
+ },
335
+ "/v1.0/protected/conversation/async": {
336
+ "post": {
337
+ "tags": [
338
+ "Conversation"
339
+ ],
340
+ "summary": "Asynchronously handle a conversation using ChatGPT",
341
+ "description": "This function asynchronously handles a conversation using ChatGPT.",
342
+ "operationId": "protectedAsyncConversation",
343
+ "parameters": [
344
+ {
345
+ "name": "addDefaultPrompts",
346
+ "in": "query",
347
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
348
+ "schema": {
349
+ "type": "boolean"
350
+ },
351
+ "x-ms-summary": "Include Default Prompts"
352
+ },
353
+ {
354
+ "name": "addApiTools",
355
+ "in": "query",
356
+ "description": "If true, API tools will be added to the chat context.",
357
+ "schema": {
358
+ "type": "boolean"
359
+ },
360
+ "x-ms-summary": "Include API Tools"
361
+ }
362
+ ],
363
+ "requestBody": {
364
+ "description": "List of chat messages",
365
+ "content": {
366
+ "application/json": {
367
+ "schema": {
368
+ "type": "array",
369
+ "items": {
370
+ "$ref": "#/components/schemas/inputChatMessage"
371
+ }
372
+ }
373
+ }
374
+ },
375
+ "required": true
376
+ },
377
+ "responses": {
378
+ "200": {
379
+ "description": "Conversation handled successfully",
380
+ "x-ms-summary": "Success"
381
+ }
382
+ },
383
+ "security": [
384
+ {
385
+ "Implicit": [
386
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
387
+ ]
388
+ },
389
+ {
390
+ "ApiKey": []
391
+ }
392
+ ]
393
+ }
394
+ },
395
+ "/v1.0/question": {
396
+ "get": {
397
+ "tags": [
398
+ "Question"
399
+ ],
400
+ "summary": "Synchronously answer a question using ChatGPT",
401
+ "description": "This function synchronously answers a question using ChatGPT.",
402
+ "operationId": "syncQuestion",
403
+ "parameters": [
404
+ {
405
+ "name": "input",
406
+ "in": "query",
407
+ "description": "The question input to be answered",
408
+ "required": true,
409
+ "schema": {
410
+ "type": "string"
411
+ },
412
+ "x-ms-summary": "The question input"
413
+ },
414
+ {
415
+ "name": "addDefaultPrompts",
416
+ "in": "query",
417
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
418
+ "schema": {
419
+ "type": "boolean"
420
+ },
421
+ "x-ms-summary": "Include Default Prompts"
422
+ },
423
+ {
424
+ "name": "addApiTools",
425
+ "in": "query",
426
+ "description": "If true, API tools will be added to the chat context.",
427
+ "schema": {
428
+ "type": "boolean"
429
+ },
430
+ "x-ms-summary": "Include API Tools"
431
+ }
432
+ ],
433
+ "responses": {
434
+ "200": {
435
+ "description": "Question answered successfully",
436
+ "content": {
437
+ "application/json": {
438
+ "schema": {
439
+ "$ref": "#/components/schemas/simpleResponseDto"
440
+ }
441
+ }
442
+ },
443
+ "x-ms-summary": "Success"
444
+ }
445
+ }
446
+ }
447
+ },
448
+ "/v1.0/question/async": {
449
+ "get": {
450
+ "tags": [
451
+ "Question"
452
+ ],
453
+ "summary": "Asynchronously answer a question using ChatGPT",
454
+ "description": "This function asynchronously answers a question using ChatGPT.",
455
+ "operationId": "asyncQuestion",
456
+ "parameters": [
457
+ {
458
+ "name": "input",
459
+ "in": "query",
460
+ "description": "The question input to be answered",
461
+ "required": true,
462
+ "schema": {
463
+ "type": "string"
464
+ },
465
+ "x-ms-summary": "The question input"
466
+ },
467
+ {
468
+ "name": "addDefaultPrompts",
469
+ "in": "query",
470
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
471
+ "schema": {
472
+ "type": "boolean"
473
+ },
474
+ "x-ms-summary": "Include Default Prompts"
475
+ },
476
+ {
477
+ "name": "addApiTools",
478
+ "in": "query",
479
+ "description": "If true, API tools will be added to the chat context.",
480
+ "schema": {
481
+ "type": "boolean"
482
+ },
483
+ "x-ms-summary": "Include API Tools"
484
+ }
485
+ ],
486
+ "responses": {
487
+ "200": {
488
+ "description": "Question answered successfully",
489
+ "x-ms-summary": "Success"
490
+ }
491
+ }
492
+ }
493
+ },
494
+ "/v1.0/conversation": {
495
+ "post": {
496
+ "tags": [
497
+ "Conversation"
498
+ ],
499
+ "summary": "Synchronously handle a conversation using ChatGPT",
500
+ "description": "This function synchronously handles a conversation using ChatGPT.",
501
+ "operationId": "syncConversation",
502
+ "parameters": [
503
+ {
504
+ "name": "addDefaultPrompts",
505
+ "in": "query",
506
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
507
+ "schema": {
508
+ "type": "boolean"
509
+ },
510
+ "x-ms-summary": "Include Default Prompts"
511
+ },
512
+ {
513
+ "name": "addApiTools",
514
+ "in": "query",
515
+ "description": "If true, API tools will be added to the chat context.",
516
+ "schema": {
517
+ "type": "boolean"
518
+ },
519
+ "x-ms-summary": "Include API Tools"
520
+ }
521
+ ],
522
+ "requestBody": {
523
+ "description": "List of chat messages",
524
+ "content": {
525
+ "application/json": {
526
+ "schema": {
527
+ "type": "array",
528
+ "items": {
529
+ "$ref": "#/components/schemas/inputChatMessage"
530
+ }
531
+ }
532
+ }
533
+ },
534
+ "required": true
535
+ },
536
+ "responses": {
537
+ "200": {
538
+ "description": "Conversation handled successfully",
539
+ "content": {
540
+ "application/json": {
541
+ "schema": {
542
+ "$ref": "#/components/schemas/simpleResponseDto"
543
+ }
544
+ }
545
+ },
546
+ "x-ms-summary": "Success"
547
+ }
548
+ }
549
+ }
550
+ },
551
+ "/v1.0/conversation/async": {
552
+ "post": {
553
+ "tags": [
554
+ "Conversation"
555
+ ],
556
+ "summary": "Asynchronously handle a conversation using ChatGPT",
557
+ "description": "This function asynchronously handles a conversation using ChatGPT.",
558
+ "operationId": "asyncConversation",
559
+ "parameters": [
560
+ {
561
+ "name": "addDefaultPrompts",
562
+ "in": "query",
563
+ "description": "If true, default prompts from the Prompts folder will be added to the chat context.",
564
+ "schema": {
565
+ "type": "boolean"
566
+ },
567
+ "x-ms-summary": "Include Default Prompts"
568
+ },
569
+ {
570
+ "name": "addApiTools",
571
+ "in": "query",
572
+ "description": "If true, API tools will be added to the chat context.",
573
+ "schema": {
574
+ "type": "boolean"
575
+ },
576
+ "x-ms-summary": "Include API Tools"
577
+ }
578
+ ],
579
+ "requestBody": {
580
+ "description": "List of chat messages",
581
+ "content": {
582
+ "application/json": {
583
+ "schema": {
584
+ "type": "array",
585
+ "items": {
586
+ "$ref": "#/components/schemas/inputChatMessage"
587
+ }
588
+ }
589
+ }
590
+ },
591
+ "required": true
592
+ },
593
+ "responses": {
594
+ "200": {
595
+ "description": "Conversation handled successfully",
596
+ "x-ms-summary": "Success"
597
+ }
598
+ }
599
+ }
600
+ },
601
+ "/v1.0/public/blob-storage": {
602
+ "get": {
603
+ "tags": [
604
+ "Tokens"
605
+ ],
606
+ "summary": "Gets blob storage and creates sas token",
607
+ "description": "Generates a sas token for use to upload image and video memories to azure blob storage",
608
+ "operationId": "GetBlobStorage",
609
+ "responses": {
610
+ "200": {
611
+ "description": "Generated token",
612
+ "content": {
613
+ "application/json": {
614
+ "schema": {
615
+ "$ref": "#/components/schemas/azureBlobStorageCredentials"
616
+ }
617
+ }
618
+ },
619
+ "x-ms-summary": "Success"
620
+ },
621
+ "401": {
622
+ "description": "User is not authorized",
623
+ "x-ms-summary": "Unauthorized"
624
+ }
625
+ }
626
+ }
627
+ },
628
+ "/v1.0/slack/event": {
629
+ "post": {
630
+ "tags": [
631
+ "Slack"
632
+ ],
633
+ "summary": "Handle a Slack event",
634
+ "description": "This function handles a Slack event.",
635
+ "operationId": "slackEvent",
636
+ "requestBody": {
637
+ "description": "Slack event data",
638
+ "content": {
639
+ "application/json": {
640
+ "schema": {
641
+ "$ref": "#/components/schemas/slackEvent"
642
+ }
643
+ }
644
+ },
645
+ "required": true
646
+ },
647
+ "responses": {
648
+ "200": {
649
+ "description": "Slack event handled successfully",
650
+ "content": {
651
+ "application/json": {
652
+ "schema": {
653
+ "$ref": "#/components/schemas/slackEvent"
654
+ }
655
+ }
656
+ },
657
+ "x-ms-summary": "Success"
658
+ },
659
+ "204": {
660
+ "description": "No relevant Slack event found",
661
+ "x-ms-summary": "No Content"
662
+ }
663
+ }
664
+ }
665
+ },
666
+ "/v1.0/realtime/get-ephemeral-token": {
667
+ "post": {
668
+ "tags": [
669
+ "Realtime"
670
+ ],
671
+ "summary": "Get ephemeral token for Azure OpenAI realtime session",
672
+ "description": "Returns Azure OpenAI connection details for a realtime session. Use `agent` query param to switch assistant behavior.",
673
+ "operationId": "GetEphemeralToken",
674
+ "parameters": [
675
+ {
676
+ "name": "agent",
677
+ "in": "query",
678
+ "schema": {
679
+ "type": "string"
680
+ },
681
+ "x-ms-summary": "Agent (e.g. 'create-event', 'default')"
682
+ },
683
+ {
684
+ "name": "voice",
685
+ "in": "query",
686
+ "schema": {
687
+ "type": "string"
688
+ },
689
+ "x-ms-summary": "Voice (e.g. 'ash', 'alloy')"
690
+ }
691
+ ],
692
+ "responses": {
693
+ "200": {
694
+ "description": "Payload of RealtimeSession",
695
+ "content": {
696
+ "application/json": {
697
+ "schema": {
698
+ "$ref": "#/components/schemas/realtimeSession"
699
+ }
700
+ }
701
+ },
702
+ "x-ms-summary": "Session started"
703
+ }
704
+ },
705
+ "security": [
706
+ {
707
+ "Implicit": []
708
+ },
709
+ {
710
+ "ApiKey": []
711
+ }
712
+ ]
713
+ }
714
+ },
715
+ "/v1.0/protected/realtime/usage-report": {
716
+ "post": {
717
+ "tags": [
718
+ "Realtime"
719
+ ],
720
+ "summary": "Report token usage for a realtime session",
721
+ "description": "Records cumulative token totals streamed to the client by the realtime API. Reports are validated against the session registry; unknown, expired or already-recorded reports are acknowledged without recording.",
722
+ "operationId": "ReportRealtimeUsage",
723
+ "requestBody": {
724
+ "description": "Cumulative session token totals",
725
+ "content": {
726
+ "application/json": {
727
+ "schema": {
728
+ "$ref": "#/components/schemas/realtimeUsageReport"
729
+ }
730
+ }
731
+ },
732
+ "required": true
733
+ },
734
+ "responses": {
735
+ "200": {
736
+ "description": "Payload of RealtimeUsageAck",
737
+ "content": {
738
+ "application/json": {
739
+ "schema": {
740
+ "$ref": "#/components/schemas/realtimeUsageAck"
741
+ }
742
+ }
743
+ },
744
+ "x-ms-summary": "Report acknowledged"
745
+ }
746
+ },
747
+ "security": [
748
+ {
749
+ "Implicit": []
750
+ },
751
+ {
752
+ "ApiKey": []
753
+ }
754
+ ]
755
+ }
756
+ },
757
+ "/v1.0/realtime/agents": {
758
+ "get": {
759
+ "tags": [
760
+ "Realtime"
761
+ ],
762
+ "summary": "List all available contexts",
763
+ "description": "Lists all predefined context modes for GPT-4o realtime sessions",
764
+ "operationId": "GetAvailableAgents",
765
+ "responses": {
766
+ "200": {
767
+ "description": "Payload of Array of RealtimeAgentsDto",
768
+ "content": {
769
+ "application/json": {
770
+ "schema": {
771
+ "type": "array",
772
+ "items": {
773
+ "$ref": "#/components/schemas/realtimeAgentsDto"
774
+ }
775
+ }
776
+ }
777
+ },
778
+ "x-ms-summary": "Contexts listed"
779
+ }
780
+ },
781
+ "security": [
782
+ {
783
+ "Implicit": []
784
+ },
785
+ {
786
+ "ApiKey": []
787
+ }
788
+ ]
789
+ }
790
+ },
791
+ "/followup-email": {
792
+ "post": {
793
+ "tags": [
794
+ "Follow-up Email"
795
+ ],
796
+ "summary": "Generate a follow-up email for a company, and save it as a draft in the pre-configured mailbox",
797
+ "description": "Generates a personalized follow-up email using Salesforce data and external research",
798
+ "operationId": "generateFollowUpEmail",
799
+ "parameters": [
800
+ {
801
+ "name": "companyName",
802
+ "in": "query",
803
+ "description": "The name of the company to generate a follow-up email for",
804
+ "required": true,
805
+ "schema": {
806
+ "type": "string"
807
+ },
808
+ "x-ms-summary": "Company name"
809
+ }
810
+ ],
811
+ "responses": {
812
+ "200": {
813
+ "description": "The generated follow-up email",
814
+ "content": {
815
+ "application/json": {
816
+ "schema": {
817
+ "$ref": "#/components/schemas/followUpEmailResponse"
818
+ }
819
+ }
820
+ },
821
+ "x-ms-summary": "Success"
822
+ },
823
+ "400": {
824
+ "description": "Invalid input parameters",
825
+ "content": {
826
+ "application/json": {
827
+ "schema": {
828
+ "$ref": "#/components/schemas/errorResponse"
829
+ }
830
+ }
831
+ },
832
+ "x-ms-summary": "Bad Request"
833
+ },
834
+ "500": {
835
+ "description": "An error occurred while generating the email",
836
+ "content": {
837
+ "application/json": {
838
+ "schema": {
839
+ "$ref": "#/components/schemas/errorResponse"
840
+ }
841
+ }
842
+ },
843
+ "x-ms-summary": "Internal Server Error"
844
+ }
845
+ },
846
+ "security": [
847
+ {
848
+ "Implicit": [
849
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
850
+ ]
851
+ },
852
+ {
853
+ "ApiKey": []
854
+ }
855
+ ]
856
+ },
857
+ "get": {
858
+ "tags": [
859
+ "Follow-up Email"
860
+ ],
861
+ "summary": "Generate follow-up email content for a company",
862
+ "description": "Generates personalized follow-up email content using Salesforce data and external research. Returns the email content without creating a draft.",
863
+ "operationId": "generateFollowUpEmailGet",
864
+ "parameters": [
865
+ {
866
+ "name": "companyName",
867
+ "in": "query",
868
+ "description": "The name of the company to generate a follow-up email for",
869
+ "required": true,
870
+ "schema": {
871
+ "type": "string"
872
+ },
873
+ "x-ms-summary": "Company name"
874
+ }
875
+ ],
876
+ "responses": {
877
+ "200": {
878
+ "description": "The generated follow-up email content",
879
+ "content": {
880
+ "application/json": {
881
+ "schema": {
882
+ "$ref": "#/components/schemas/emailContentResponse"
883
+ }
884
+ }
885
+ },
886
+ "x-ms-summary": "Success"
887
+ },
888
+ "400": {
889
+ "description": "Invalid input parameters",
890
+ "content": {
891
+ "application/json": {
892
+ "schema": {
893
+ "$ref": "#/components/schemas/errorResponse"
894
+ }
895
+ }
896
+ },
897
+ "x-ms-summary": "Bad Request"
898
+ },
899
+ "500": {
900
+ "description": "An error occurred while generating the email",
901
+ "content": {
902
+ "application/json": {
903
+ "schema": {
904
+ "$ref": "#/components/schemas/errorResponse"
905
+ }
906
+ }
907
+ },
908
+ "x-ms-summary": "Internal Server Error"
909
+ }
910
+ },
911
+ "security": [
912
+ {
913
+ "Implicit": [
914
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
915
+ ]
916
+ },
917
+ {
918
+ "ApiKey": []
919
+ }
920
+ ]
921
+ }
922
+ },
923
+ "/followup-email/contact": {
924
+ "post": {
925
+ "tags": [
926
+ "Follow-up Email"
927
+ ],
928
+ "summary": "Generate a follow-up email for a specific contact, and save it as a draft in the pre-configured mailbox",
929
+ "description": "Generates a personalized follow-up email using Salesforce contact data and external research. No email will be sent automatically, but the email will be saved as a draft.",
930
+ "operationId": "generateFollowUpEmailByContact",
931
+ "parameters": [
932
+ {
933
+ "name": "contactId",
934
+ "in": "query",
935
+ "description": "The Salesforce ID of the contact to generate a follow-up email for",
936
+ "required": true,
937
+ "schema": {
938
+ "type": "string"
939
+ },
940
+ "x-ms-summary": "Contact ID"
941
+ }
942
+ ],
943
+ "responses": {
944
+ "200": {
945
+ "description": "The generated follow-up email",
946
+ "content": {
947
+ "application/json": {
948
+ "schema": {
949
+ "$ref": "#/components/schemas/followUpEmailResponse"
950
+ }
951
+ }
952
+ },
953
+ "x-ms-summary": "Success"
954
+ },
955
+ "400": {
956
+ "description": "Invalid input parameters",
957
+ "content": {
958
+ "application/json": {
959
+ "schema": {
960
+ "$ref": "#/components/schemas/errorResponse"
961
+ }
962
+ }
963
+ },
964
+ "x-ms-summary": "Bad Request"
965
+ },
966
+ "500": {
967
+ "description": "An error occurred while generating the email",
968
+ "content": {
969
+ "application/json": {
970
+ "schema": {
971
+ "$ref": "#/components/schemas/errorResponse"
972
+ }
973
+ }
974
+ },
975
+ "x-ms-summary": "Internal Server Error"
976
+ }
977
+ },
978
+ "security": [
979
+ {
980
+ "Implicit": [
981
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
982
+ ]
983
+ },
984
+ {
985
+ "ApiKey": []
986
+ }
987
+ ]
988
+ },
989
+ "get": {
990
+ "tags": [
991
+ "Follow-up Email"
992
+ ],
993
+ "summary": "Generate follow-up email content for a specific contact",
994
+ "description": "Generates personalized follow-up email content using Salesforce contact data and external research. Returns the email content without creating a draft.",
995
+ "operationId": "generateFollowUpEmailByContactGet",
996
+ "parameters": [
997
+ {
998
+ "name": "contactId",
999
+ "in": "query",
1000
+ "description": "The Salesforce ID of the contact to generate a follow-up email for",
1001
+ "required": true,
1002
+ "schema": {
1003
+ "type": "string"
1004
+ },
1005
+ "x-ms-summary": "Contact ID"
1006
+ }
1007
+ ],
1008
+ "responses": {
1009
+ "200": {
1010
+ "description": "The generated follow-up email content",
1011
+ "content": {
1012
+ "application/json": {
1013
+ "schema": {
1014
+ "$ref": "#/components/schemas/emailContentResponse"
1015
+ }
1016
+ }
1017
+ },
1018
+ "x-ms-summary": "Success"
1019
+ },
1020
+ "400": {
1021
+ "description": "Invalid input parameters",
1022
+ "content": {
1023
+ "application/json": {
1024
+ "schema": {
1025
+ "$ref": "#/components/schemas/errorResponse"
1026
+ }
1027
+ }
1028
+ },
1029
+ "x-ms-summary": "Bad Request"
1030
+ },
1031
+ "500": {
1032
+ "description": "An error occurred while generating the email",
1033
+ "content": {
1034
+ "application/json": {
1035
+ "schema": {
1036
+ "$ref": "#/components/schemas/errorResponse"
1037
+ }
1038
+ }
1039
+ },
1040
+ "x-ms-summary": "Internal Server Error"
1041
+ }
1042
+ },
1043
+ "security": [
1044
+ {
1045
+ "Implicit": [
1046
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
1047
+ ]
1048
+ },
1049
+ {
1050
+ "ApiKey": []
1051
+ }
1052
+ ]
1053
+ }
1054
+ },
1055
+ "/followup-email/automated": {
1056
+ "post": {
1057
+ "tags": [
1058
+ "Automated Follow-up"
1059
+ ],
1060
+ "summary": "Process automated follow-up emails for strategic priority contacts",
1061
+ "description": "Processes strategic priority contacts with LastActivity > specified days or null, creating draft emails if no existing drafts exist. This is the same logic that runs daily via CronJob.",
1062
+ "operationId": "processAutomatedFollowUpEmails",
1063
+ "parameters": [
1064
+ {
1065
+ "name": "priority",
1066
+ "in": "query",
1067
+ "description": "The strategic priority to filter contacts. Valid values: A, B, C, D (default: D)",
1068
+ "schema": {
1069
+ "type": "string"
1070
+ },
1071
+ "x-ms-summary": "Strategic priority"
1072
+ },
1073
+ {
1074
+ "name": "daysBack",
1075
+ "in": "query",
1076
+ "description": "Number of days to look back for last activity (default: 90)",
1077
+ "schema": {
1078
+ "type": "integer",
1079
+ "format": "int32"
1080
+ },
1081
+ "x-ms-summary": "Days back"
1082
+ }
1083
+ ],
1084
+ "responses": {
1085
+ "200": {
1086
+ "description": "The processing results",
1087
+ "content": {
1088
+ "application/json": {
1089
+ "schema": {
1090
+ "$ref": "#/components/schemas/followUpEmailResponse"
1091
+ }
1092
+ }
1093
+ },
1094
+ "x-ms-summary": "Success"
1095
+ },
1096
+ "500": {
1097
+ "description": "An error occurred while processing automated follow-ups",
1098
+ "content": {
1099
+ "application/json": {
1100
+ "schema": {
1101
+ "$ref": "#/components/schemas/errorResponse"
1102
+ }
1103
+ }
1104
+ },
1105
+ "x-ms-summary": "Internal Server Error"
1106
+ }
1107
+ },
1108
+ "security": [
1109
+ {
1110
+ "Implicit": [
1111
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
1112
+ ]
1113
+ },
1114
+ {
1115
+ "ApiKey": []
1116
+ }
1117
+ ]
1118
+ }
1119
+ }
1120
+ },
1121
+ "components": {
1122
+ "schemas": {
1123
+ "authorization": {
1124
+ "type": "object",
1125
+ "properties": {
1126
+ "enterprise_id": {
1127
+ "type": "object",
1128
+ "nullable": true
1129
+ },
1130
+ "team_id": {
1131
+ "type": "string",
1132
+ "nullable": true
1133
+ },
1134
+ "user_id": {
1135
+ "type": "string",
1136
+ "nullable": true
1137
+ },
1138
+ "is_bot": {
1139
+ "type": "boolean",
1140
+ "nullable": true
1141
+ },
1142
+ "is_enterprise_install": {
1143
+ "type": "boolean",
1144
+ "nullable": true
1145
+ }
1146
+ }
1147
+ },
1148
+ "azureBlobStorageCredentials": {
1149
+ "type": "object",
1150
+ "properties": {
1151
+ "blobUrl": {
1152
+ "type": "string"
1153
+ },
1154
+ "sasToken": {
1155
+ "type": "string"
1156
+ },
1157
+ "additionalProperties": {
1158
+ "type": "object",
1159
+ "additionalProperties": {
1160
+ "type": "object"
1161
+ }
1162
+ }
1163
+ }
1164
+ },
1165
+ "clientSecret": {
1166
+ "type": "object",
1167
+ "properties": {
1168
+ "value": {
1169
+ "type": "string",
1170
+ "nullable": true
1171
+ },
1172
+ "expires_at": {
1173
+ "type": "integer",
1174
+ "format": "int64",
1175
+ "nullable": true
1176
+ }
1177
+ },
1178
+ "nullable": true
1179
+ },
1180
+ "emailContentResponse": {
1181
+ "type": "object",
1182
+ "properties": {
1183
+ "success": {
1184
+ "type": "boolean"
1185
+ },
1186
+ "message": {
1187
+ "type": "string"
1188
+ },
1189
+ "subject": {
1190
+ "type": "string"
1191
+ },
1192
+ "body": {
1193
+ "type": "string"
1194
+ },
1195
+ "companyName": {
1196
+ "type": "string"
1197
+ },
1198
+ "contactId": {
1199
+ "type": "string"
1200
+ },
1201
+ "salesforceData": {
1202
+ "type": "string"
1203
+ },
1204
+ "externalResearch": {
1205
+ "type": "string"
1206
+ }
1207
+ }
1208
+ },
1209
+ "errorResponse": {
1210
+ "type": "object",
1211
+ "properties": {
1212
+ "error": {
1213
+ "type": "string"
1214
+ },
1215
+ "message": {
1216
+ "type": "string"
1217
+ },
1218
+ "details": {
1219
+ "type": "string"
1220
+ }
1221
+ }
1222
+ },
1223
+ "event": {
1224
+ "type": "object",
1225
+ "properties": {
1226
+ "type": {
1227
+ "type": "string",
1228
+ "nullable": true
1229
+ },
1230
+ "text": {
1231
+ "type": "string",
1232
+ "nullable": true
1233
+ },
1234
+ "files": {
1235
+ "type": "array",
1236
+ "items": {
1237
+ "$ref": "#/components/schemas/file"
1238
+ },
1239
+ "nullable": true
1240
+ },
1241
+ "upload": {
1242
+ "type": "boolean",
1243
+ "nullable": true
1244
+ },
1245
+ "user": {
1246
+ "type": "string",
1247
+ "nullable": true
1248
+ },
1249
+ "display_as_bot": {
1250
+ "type": "boolean",
1251
+ "nullable": true
1252
+ },
1253
+ "bot_id": {
1254
+ "type": "string",
1255
+ "nullable": true
1256
+ },
1257
+ "ts": {
1258
+ "type": "string",
1259
+ "nullable": true
1260
+ },
1261
+ "channel": {
1262
+ "type": "string",
1263
+ "nullable": true
1264
+ },
1265
+ "subtype": {
1266
+ "type": "string",
1267
+ "nullable": true
1268
+ },
1269
+ "event_ts": {
1270
+ "type": "string",
1271
+ "nullable": true
1272
+ },
1273
+ "channel_type": {
1274
+ "type": "string",
1275
+ "nullable": true
1276
+ }
1277
+ },
1278
+ "nullable": true
1279
+ },
1280
+ "file": {
1281
+ "type": "object",
1282
+ "properties": {
1283
+ "id": {
1284
+ "type": "string",
1285
+ "nullable": true
1286
+ },
1287
+ "created": {
1288
+ "type": "integer",
1289
+ "format": "int32",
1290
+ "nullable": true
1291
+ },
1292
+ "timestamp": {
1293
+ "type": "integer",
1294
+ "format": "int32",
1295
+ "nullable": true
1296
+ },
1297
+ "name": {
1298
+ "type": "string",
1299
+ "nullable": true
1300
+ },
1301
+ "title": {
1302
+ "type": "string",
1303
+ "nullable": true
1304
+ },
1305
+ "mimetype": {
1306
+ "type": "string",
1307
+ "nullable": true
1308
+ },
1309
+ "filetype": {
1310
+ "type": "string",
1311
+ "nullable": true
1312
+ },
1313
+ "pretty_type": {
1314
+ "type": "string",
1315
+ "nullable": true
1316
+ },
1317
+ "user": {
1318
+ "type": "string",
1319
+ "nullable": true
1320
+ },
1321
+ "user_team": {
1322
+ "type": "string",
1323
+ "nullable": true
1324
+ },
1325
+ "editable": {
1326
+ "type": "boolean",
1327
+ "nullable": true
1328
+ },
1329
+ "size": {
1330
+ "type": "integer",
1331
+ "format": "int32",
1332
+ "nullable": true
1333
+ },
1334
+ "mode": {
1335
+ "type": "string",
1336
+ "nullable": true
1337
+ },
1338
+ "is_external": {
1339
+ "type": "boolean",
1340
+ "nullable": true
1341
+ },
1342
+ "external_type": {
1343
+ "type": "string",
1344
+ "nullable": true
1345
+ },
1346
+ "is_public": {
1347
+ "type": "boolean",
1348
+ "nullable": true
1349
+ },
1350
+ "public_url_shared": {
1351
+ "type": "boolean",
1352
+ "nullable": true
1353
+ },
1354
+ "display_as_bot": {
1355
+ "type": "boolean",
1356
+ "nullable": true
1357
+ },
1358
+ "username": {
1359
+ "type": "string",
1360
+ "nullable": true
1361
+ },
1362
+ "url_private": {
1363
+ "type": "string",
1364
+ "nullable": true
1365
+ },
1366
+ "url_private_download": {
1367
+ "type": "string",
1368
+ "nullable": true
1369
+ },
1370
+ "permalink": {
1371
+ "type": "string",
1372
+ "nullable": true
1373
+ },
1374
+ "permalink_public": {
1375
+ "type": "string",
1376
+ "nullable": true
1377
+ },
1378
+ "subject": {
1379
+ "type": "string",
1380
+ "nullable": true
1381
+ },
1382
+ "to": {
1383
+ "type": "array",
1384
+ "items": {
1385
+ "$ref": "#/components/schemas/to"
1386
+ },
1387
+ "nullable": true
1388
+ },
1389
+ "from": {
1390
+ "type": "array",
1391
+ "items": {
1392
+ "$ref": "#/components/schemas/from"
1393
+ },
1394
+ "nullable": true
1395
+ },
1396
+ "cc": {
1397
+ "type": "array",
1398
+ "items": {
1399
+ "type": "object"
1400
+ },
1401
+ "nullable": true
1402
+ },
1403
+ "attachments": {
1404
+ "type": "array",
1405
+ "items": {
1406
+ "type": "object"
1407
+ },
1408
+ "nullable": true
1409
+ },
1410
+ "original_attachment_count": {
1411
+ "type": "integer",
1412
+ "format": "int32",
1413
+ "nullable": true
1414
+ },
1415
+ "plain_text": {
1416
+ "type": "string",
1417
+ "nullable": true
1418
+ },
1419
+ "preview": {
1420
+ "type": "string",
1421
+ "nullable": true
1422
+ },
1423
+ "preview_plain_text": {
1424
+ "type": "string",
1425
+ "nullable": true
1426
+ },
1427
+ "headers": {
1428
+ "$ref": "#/components/schemas/headers"
1429
+ },
1430
+ "has_more": {
1431
+ "type": "boolean",
1432
+ "nullable": true
1433
+ },
1434
+ "sent_to_self": {
1435
+ "type": "boolean",
1436
+ "nullable": true
1437
+ },
1438
+ "bot_id": {
1439
+ "type": "string",
1440
+ "nullable": true
1441
+ },
1442
+ "has_rich_preview": {
1443
+ "type": "boolean",
1444
+ "nullable": true
1445
+ },
1446
+ "file_access": {
1447
+ "type": "string",
1448
+ "nullable": true
1449
+ }
1450
+ }
1451
+ },
1452
+ "followUpEmailResponse": {
1453
+ "type": "object",
1454
+ "properties": {
1455
+ "success": {
1456
+ "type": "boolean"
1457
+ },
1458
+ "message": {
1459
+ "type": "string"
1460
+ },
1461
+ "result": {
1462
+ "type": "string"
1463
+ },
1464
+ "companyName": {
1465
+ "type": "string"
1466
+ },
1467
+ "contactId": {
1468
+ "type": "string"
1469
+ }
1470
+ }
1471
+ },
1472
+ "from": {
1473
+ "type": "object",
1474
+ "properties": {
1475
+ "address": {
1476
+ "type": "string",
1477
+ "nullable": true
1478
+ },
1479
+ "name": {
1480
+ "type": "string",
1481
+ "nullable": true
1482
+ },
1483
+ "original": {
1484
+ "type": "string",
1485
+ "nullable": true
1486
+ }
1487
+ }
1488
+ },
1489
+ "headers": {
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "date": {
1493
+ "type": "string",
1494
+ "nullable": true
1495
+ },
1496
+ "in_reply_to": {
1497
+ "type": "string",
1498
+ "nullable": true
1499
+ },
1500
+ "reply_to": {
1501
+ "type": "object",
1502
+ "nullable": true
1503
+ },
1504
+ "message_id": {
1505
+ "type": "string",
1506
+ "nullable": true
1507
+ }
1508
+ },
1509
+ "nullable": true
1510
+ },
1511
+ "inputChatMessage": {
1512
+ "type": "object",
1513
+ "properties": {
1514
+ "role": {
1515
+ "type": "string"
1516
+ },
1517
+ "content": {
1518
+ "type": "string"
1519
+ },
1520
+ "type": {
1521
+ "type": "string"
1522
+ }
1523
+ }
1524
+ },
1525
+ "integrationHealthResult": {
1526
+ "type": "object",
1527
+ "properties": {
1528
+ "key": {
1529
+ "type": "string"
1530
+ },
1531
+ "status": {
1532
+ "type": "string"
1533
+ },
1534
+ "message": {
1535
+ "type": "string"
1536
+ }
1537
+ }
1538
+ },
1539
+ "parameters": {
1540
+ "type": "object",
1541
+ "properties": {
1542
+ "type": {
1543
+ "type": "string",
1544
+ "nullable": true
1545
+ },
1546
+ "properties": {
1547
+ "type": "object",
1548
+ "additionalProperties": {
1549
+ "$ref": "#/components/schemas/property"
1550
+ },
1551
+ "nullable": true
1552
+ },
1553
+ "required": {
1554
+ "type": "array",
1555
+ "items": {
1556
+ "type": "string"
1557
+ },
1558
+ "nullable": true
1559
+ }
1560
+ },
1561
+ "nullable": true
1562
+ },
1563
+ "property": {
1564
+ "type": "object",
1565
+ "properties": {
1566
+ "type": {
1567
+ "type": "string",
1568
+ "nullable": true
1569
+ },
1570
+ "description": {
1571
+ "type": "string",
1572
+ "nullable": true
1573
+ }
1574
+ }
1575
+ },
1576
+ "realtimeAgentsDto": {
1577
+ "type": "object",
1578
+ "properties": {
1579
+ "context": {
1580
+ "type": "string"
1581
+ },
1582
+ "description": {
1583
+ "type": "string"
1584
+ }
1585
+ }
1586
+ },
1587
+ "realtimeSession": {
1588
+ "type": "object",
1589
+ "properties": {
1590
+ "id": {
1591
+ "type": "string",
1592
+ "nullable": true
1593
+ },
1594
+ "object": {
1595
+ "type": "string",
1596
+ "nullable": true
1597
+ },
1598
+ "expires_at": {
1599
+ "type": "integer",
1600
+ "format": "int64",
1601
+ "nullable": true
1602
+ },
1603
+ "input_audio_noise_reduction": {
1604
+ "type": "object",
1605
+ "nullable": true
1606
+ },
1607
+ "turn_detection": {
1608
+ "$ref": "#/components/schemas/turnDetection"
1609
+ },
1610
+ "input_audio_format": {
1611
+ "type": "string",
1612
+ "nullable": true
1613
+ },
1614
+ "input_audio_transcription": {
1615
+ "type": "object",
1616
+ "nullable": true
1617
+ },
1618
+ "client_secret": {
1619
+ "$ref": "#/components/schemas/clientSecret"
1620
+ },
1621
+ "realtime_url": {
1622
+ "type": "string",
1623
+ "nullable": true
1624
+ },
1625
+ "session_id": {
1626
+ "type": "string",
1627
+ "nullable": true
1628
+ },
1629
+ "include": {
1630
+ "type": "object",
1631
+ "nullable": true
1632
+ },
1633
+ "model": {
1634
+ "type": "string",
1635
+ "nullable": true
1636
+ },
1637
+ "modalities": {
1638
+ "type": "array",
1639
+ "items": {
1640
+ "type": "string"
1641
+ },
1642
+ "nullable": true
1643
+ },
1644
+ "instructions": {
1645
+ "type": "string",
1646
+ "nullable": true
1647
+ },
1648
+ "voice": {
1649
+ "type": "string",
1650
+ "nullable": true
1651
+ },
1652
+ "output_audio_format": {
1653
+ "type": "string",
1654
+ "nullable": true
1655
+ },
1656
+ "tool_choice": {
1657
+ "type": "string",
1658
+ "nullable": true
1659
+ },
1660
+ "temperature": {
1661
+ "type": "number",
1662
+ "format": "double",
1663
+ "nullable": true
1664
+ },
1665
+ "max_response_output_tokens": {
1666
+ "type": "string",
1667
+ "nullable": true
1668
+ },
1669
+ "tools": {
1670
+ "type": "array",
1671
+ "items": {
1672
+ "$ref": "#/components/schemas/tool"
1673
+ },
1674
+ "nullable": true
1675
+ }
1676
+ }
1677
+ },
1678
+ "realtimeUsageAck": {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "accepted": {
1682
+ "type": "boolean",
1683
+ "nullable": true
1684
+ }
1685
+ }
1686
+ },
1687
+ "realtimeUsageReport": {
1688
+ "type": "object",
1689
+ "properties": {
1690
+ "session_id": {
1691
+ "type": "string",
1692
+ "nullable": true
1693
+ },
1694
+ "input_tokens": {
1695
+ "type": "integer",
1696
+ "format": "int64",
1697
+ "nullable": true
1698
+ },
1699
+ "output_tokens": {
1700
+ "type": "integer",
1701
+ "format": "int64",
1702
+ "nullable": true
1703
+ },
1704
+ "cached_tokens": {
1705
+ "type": "integer",
1706
+ "format": "int64",
1707
+ "nullable": true
1708
+ }
1709
+ }
1710
+ },
1711
+ "simpleResponseDto": {
1712
+ "type": "object",
1713
+ "properties": {
1714
+ "answer": {
1715
+ "type": "string"
1716
+ }
1717
+ }
1718
+ },
1719
+ "slackEvent": {
1720
+ "type": "object",
1721
+ "properties": {
1722
+ "token": {
1723
+ "type": "string",
1724
+ "nullable": true
1725
+ },
1726
+ "team_id": {
1727
+ "type": "string",
1728
+ "nullable": true
1729
+ },
1730
+ "context_team_id": {
1731
+ "type": "string",
1732
+ "nullable": true
1733
+ },
1734
+ "context_enterprise_id": {
1735
+ "type": "object",
1736
+ "nullable": true
1737
+ },
1738
+ "api_app_id": {
1739
+ "type": "string",
1740
+ "nullable": true
1741
+ },
1742
+ "event": {
1743
+ "$ref": "#/components/schemas/event"
1744
+ },
1745
+ "type": {
1746
+ "type": "string",
1747
+ "nullable": true
1748
+ },
1749
+ "event_id": {
1750
+ "type": "string",
1751
+ "nullable": true
1752
+ },
1753
+ "event_time": {
1754
+ "type": "integer",
1755
+ "format": "int32",
1756
+ "nullable": true
1757
+ },
1758
+ "authorizations": {
1759
+ "type": "array",
1760
+ "items": {
1761
+ "$ref": "#/components/schemas/authorization"
1762
+ },
1763
+ "nullable": true
1764
+ },
1765
+ "is_ext_shared_channel": {
1766
+ "type": "boolean",
1767
+ "nullable": true
1768
+ },
1769
+ "event_context": {
1770
+ "type": "string",
1771
+ "nullable": true
1772
+ }
1773
+ }
1774
+ },
1775
+ "to": {
1776
+ "type": "object",
1777
+ "properties": {
1778
+ "address": {
1779
+ "type": "string",
1780
+ "nullable": true
1781
+ },
1782
+ "name": {
1783
+ "type": "string",
1784
+ "nullable": true
1785
+ },
1786
+ "original": {
1787
+ "type": "string",
1788
+ "nullable": true
1789
+ }
1790
+ }
1791
+ },
1792
+ "tool": {
1793
+ "type": "object",
1794
+ "properties": {
1795
+ "name": {
1796
+ "type": "string",
1797
+ "nullable": true
1798
+ },
1799
+ "description": {
1800
+ "type": "string",
1801
+ "nullable": true
1802
+ },
1803
+ "parameters": {
1804
+ "$ref": "#/components/schemas/parameters"
1805
+ },
1806
+ "type": {
1807
+ "type": "string",
1808
+ "nullable": true
1809
+ }
1810
+ }
1811
+ },
1812
+ "turnDetection": {
1813
+ "type": "object",
1814
+ "properties": {
1815
+ "type": {
1816
+ "type": "string",
1817
+ "nullable": true
1818
+ },
1819
+ "threshold": {
1820
+ "type": "number",
1821
+ "format": "double",
1822
+ "nullable": true
1823
+ },
1824
+ "prefix_padding_ms": {
1825
+ "type": "integer",
1826
+ "format": "int32",
1827
+ "nullable": true
1828
+ },
1829
+ "silence_duration_ms": {
1830
+ "type": "integer",
1831
+ "format": "int32",
1832
+ "nullable": true
1833
+ },
1834
+ "create_response": {
1835
+ "type": "boolean",
1836
+ "nullable": true
1837
+ },
1838
+ "interrupt_response": {
1839
+ "type": "boolean",
1840
+ "nullable": true
1841
+ }
1842
+ },
1843
+ "nullable": true
1844
+ }
1845
+ },
1846
+ "securitySchemes": {
1847
+ "Implicit": {
1848
+ "type": "oauth2",
1849
+ "flows": {
1850
+ "implicit": {
1851
+ "authorizationUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
1852
+ "tokenUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
1853
+ "refreshUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
1854
+ "scopes": {
1855
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default": "Default function scope"
1856
+ }
1857
+ }
1858
+ }
1859
+ },
1860
+ "ApiKey": {
1861
+ "type": "http",
1862
+ "scheme": "bearer",
1863
+ "bearerFormat": "JWT"
1864
+ }
1865
+ }
1866
+ }
1867
+ }