@snokam/mcp-api 0.173.1 → 0.173.2

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.
@@ -1,4999 +0,0 @@
1
- {
2
- "openapi": "3.0.1",
3
- "info": {
4
- "title": "Sales API",
5
- "description": "Sales management API",
6
- "version": "v1.0.0"
7
- },
8
- "servers": [
9
- {
10
- "url": "https://sales.api.snokam.no"
11
- }
12
- ],
13
- "paths": {
14
- "/v1.0/GetHealth": {
15
- "get": {
16
- "tags": [
17
- "Health"
18
- ],
19
- "summary": "Health check",
20
- "description": "Returns a health check response.",
21
- "operationId": "GetHealth",
22
- "responses": {
23
- "200": {
24
- "description": "Service is healthy",
25
- "content": {
26
- "application/json": {
27
- "schema": {
28
- "type": "object"
29
- }
30
- }
31
- },
32
- "x-ms-summary": "Success"
33
- }
34
- }
35
- }
36
- },
37
- "/v1.0/tenders/{id}/match-consultants": {
38
- "post": {
39
- "tags": [
40
- "Tenders"
41
- ],
42
- "summary": "Start CV matching for a tender",
43
- "operationId": "StartCvMatching",
44
- "parameters": [
45
- {
46
- "name": "id",
47
- "in": "path",
48
- "required": true,
49
- "schema": {
50
- "type": "string"
51
- }
52
- }
53
- ],
54
- "responses": {
55
- "202": {
56
- "description": "Payload of Object",
57
- "content": {
58
- "application/json": {
59
- "schema": {
60
- "type": "object"
61
- }
62
- }
63
- }
64
- },
65
- "404": {
66
- "description": "No description"
67
- }
68
- },
69
- "security": [
70
- {
71
- "Implicit": [
72
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
73
- ]
74
- },
75
- {
76
- "ApiKey": []
77
- }
78
- ]
79
- }
80
- },
81
- "/v1.0/jobs/{jobId}": {
82
- "get": {
83
- "tags": [
84
- "Admin"
85
- ],
86
- "summary": "Get agent job by ID",
87
- "operationId": "GetAgentJob",
88
- "parameters": [
89
- {
90
- "name": "jobId",
91
- "in": "path",
92
- "required": true,
93
- "schema": {
94
- "type": "string"
95
- }
96
- }
97
- ],
98
- "responses": {
99
- "200": {
100
- "description": "Payload of AgentJob",
101
- "content": {
102
- "application/json": {
103
- "schema": {
104
- "$ref": "#/components/schemas/agentJob"
105
- }
106
- }
107
- }
108
- },
109
- "404": {
110
- "description": "No description"
111
- }
112
- },
113
- "security": [
114
- {
115
- "Implicit": [
116
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
117
- ]
118
- },
119
- {
120
- "ApiKey": []
121
- }
122
- ]
123
- }
124
- },
125
- "/v1.0/admin/reprocess-ingestion": {
126
- "post": {
127
- "tags": [
128
- "Admin"
129
- ],
130
- "summary": "Batch reprocess tender ingestion",
131
- "operationId": "ReprocessIngestion",
132
- "parameters": [
133
- {
134
- "name": "unmatchedOnly",
135
- "in": "query",
136
- "description": "If true, only reprocess tenders with no existing consultant matches",
137
- "schema": {
138
- "type": "boolean"
139
- }
140
- }
141
- ],
142
- "responses": {
143
- "200": {
144
- "description": "Payload of Object",
145
- "content": {
146
- "application/json": {
147
- "schema": {
148
- "type": "object"
149
- }
150
- }
151
- }
152
- }
153
- },
154
- "security": [
155
- {
156
- "Implicit": [
157
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
158
- ]
159
- },
160
- {
161
- "ApiKey": []
162
- }
163
- ]
164
- }
165
- },
166
- "/v1.0/tenders/ingest": {
167
- "post": {
168
- "tags": [
169
- "Tenders"
170
- ],
171
- "summary": "Start tender ingestion",
172
- "operationId": "StartTenderIngestion",
173
- "requestBody": {
174
- "content": {
175
- "application/json": {
176
- "schema": {
177
- "$ref": "#/components/schemas/ingestionRequest"
178
- }
179
- }
180
- },
181
- "required": true
182
- },
183
- "responses": {
184
- "202": {
185
- "description": "Payload of Object",
186
- "content": {
187
- "application/json": {
188
- "schema": {
189
- "type": "object"
190
- }
191
- }
192
- }
193
- }
194
- },
195
- "security": [
196
- {
197
- "Implicit": [
198
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
199
- ]
200
- },
201
- {
202
- "ApiKey": []
203
- }
204
- ]
205
- }
206
- },
207
- "/v1.0/admin/reprocess-emails": {
208
- "post": {
209
- "tags": [
210
- "Admin"
211
- ],
212
- "summary": "Re-fetch all emails since N days ago and re-ingest them so raw content is stored as source_email blobs",
213
- "operationId": "ReprocessEmails",
214
- "parameters": [
215
- {
216
- "name": "daysSince",
217
- "in": "query",
218
- "description": "Number of days back to fetch emails (default: 90)",
219
- "schema": {
220
- "type": "string"
221
- }
222
- }
223
- ],
224
- "responses": {
225
- "200": {
226
- "description": "Payload of Object",
227
- "content": {
228
- "application/json": {
229
- "schema": {
230
- "type": "object"
231
- }
232
- }
233
- }
234
- }
235
- },
236
- "security": [
237
- {
238
- "Implicit": []
239
- },
240
- {
241
- "ApiKey": []
242
- }
243
- ]
244
- }
245
- },
246
- "/v1.0/scan/doffin": {
247
- "post": {
248
- "tags": [
249
- "Scan"
250
- ],
251
- "summary": "Trigger a Doffin scan immediately",
252
- "operationId": "TriggerDoffinScan",
253
- "responses": {
254
- "200": {
255
- "description": "Payload of Object",
256
- "content": {
257
- "application/json": {
258
- "schema": {
259
- "type": "object"
260
- }
261
- }
262
- }
263
- }
264
- },
265
- "security": [
266
- {
267
- "Implicit": [
268
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
269
- ]
270
- },
271
- {
272
- "ApiKey": []
273
- }
274
- ]
275
- }
276
- },
277
- "/v1.0/scan/email": {
278
- "post": {
279
- "tags": [
280
- "Scan"
281
- ],
282
- "summary": "Trigger an email scan immediately",
283
- "operationId": "TriggerEmailScan",
284
- "responses": {
285
- "200": {
286
- "description": "Payload of Object",
287
- "content": {
288
- "application/json": {
289
- "schema": {
290
- "type": "object"
291
- }
292
- }
293
- }
294
- }
295
- },
296
- "security": [
297
- {
298
- "Implicit": [
299
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
300
- ]
301
- },
302
- {
303
- "ApiKey": []
304
- }
305
- ]
306
- }
307
- },
308
- "/v1.0/scan/sites": {
309
- "post": {
310
- "tags": [
311
- "Scan"
312
- ],
313
- "summary": "Trigger an agentic site scan immediately over all configured sources",
314
- "operationId": "TriggerSiteScan",
315
- "responses": {
316
- "200": {
317
- "description": "Payload of Object",
318
- "content": {
319
- "application/json": {
320
- "schema": {
321
- "type": "object"
322
- }
323
- }
324
- }
325
- }
326
- },
327
- "security": [
328
- {
329
- "Implicit": [
330
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
331
- ]
332
- },
333
- {
334
- "ApiKey": []
335
- }
336
- ]
337
- }
338
- },
339
- "/v1.0/crawl/jobs/reap-zombies": {
340
- "post": {
341
- "tags": [
342
- "Crawl"
343
- ],
344
- "summary": "Manually fail pending/running jobs older than 15 min (same logic as the every-5-min timer)",
345
- "operationId": "ReapZombieJobsManual",
346
- "parameters": [
347
- {
348
- "name": "thresholdMinutes",
349
- "in": "query",
350
- "description": "Override the 15 min threshold (1-180)",
351
- "schema": {
352
- "type": "integer",
353
- "format": "int32"
354
- }
355
- }
356
- ],
357
- "responses": {
358
- "200": {
359
- "description": "Payload of ZombieReapResult",
360
- "content": {
361
- "application/json": {
362
- "schema": {
363
- "$ref": "#/components/schemas/zombieReapResult"
364
- }
365
- }
366
- }
367
- }
368
- },
369
- "security": [
370
- {
371
- "Implicit": [
372
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
373
- ]
374
- },
375
- {
376
- "ApiKey": []
377
- }
378
- ]
379
- }
380
- },
381
- "/v1.0/tenders/{tenderId}/audit": {
382
- "get": {
383
- "tags": [
384
- "Audit"
385
- ],
386
- "summary": "Recent audit events for a single tender, newest first",
387
- "operationId": "GetTenderAudit",
388
- "parameters": [
389
- {
390
- "name": "tenderId",
391
- "in": "path",
392
- "required": true,
393
- "schema": {
394
- "type": "string"
395
- }
396
- },
397
- {
398
- "name": "limit",
399
- "in": "query",
400
- "description": "Max events to return (default 50, max 500)",
401
- "schema": {
402
- "type": "integer",
403
- "format": "int32"
404
- }
405
- }
406
- ],
407
- "responses": {
408
- "200": {
409
- "description": "Payload of Array of AuditEvent",
410
- "content": {
411
- "application/json": {
412
- "schema": {
413
- "type": "array",
414
- "items": {
415
- "$ref": "#/components/schemas/auditEvent"
416
- }
417
- }
418
- }
419
- }
420
- }
421
- },
422
- "security": [
423
- {
424
- "Implicit": [
425
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
426
- ]
427
- },
428
- {
429
- "ApiKey": []
430
- }
431
- ]
432
- }
433
- },
434
- "/v1.0/audit/recent": {
435
- "get": {
436
- "tags": [
437
- "Audit"
438
- ],
439
- "summary": "Recent audit events across all tenders, newest first",
440
- "operationId": "GetRecentAudit",
441
- "parameters": [
442
- {
443
- "name": "limit",
444
- "in": "query",
445
- "description": "Max events to return (default 100, max 1000)",
446
- "schema": {
447
- "type": "integer",
448
- "format": "int32"
449
- }
450
- },
451
- {
452
- "name": "sinceHours",
453
- "in": "query",
454
- "description": "Only events from the last N hours (default 24)",
455
- "schema": {
456
- "type": "integer",
457
- "format": "int32"
458
- }
459
- }
460
- ],
461
- "responses": {
462
- "200": {
463
- "description": "Payload of Array of AuditEvent",
464
- "content": {
465
- "application/json": {
466
- "schema": {
467
- "type": "array",
468
- "items": {
469
- "$ref": "#/components/schemas/auditEvent"
470
- }
471
- }
472
- }
473
- }
474
- }
475
- },
476
- "security": [
477
- {
478
- "Implicit": [
479
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
480
- ]
481
- },
482
- {
483
- "ApiKey": []
484
- }
485
- ]
486
- }
487
- },
488
- "/v1.0/tenders/funnel": {
489
- "get": {
490
- "tags": [
491
- "Tenders"
492
- ],
493
- "summary": "Pipeline funnel analytics: stage counts, conversion rates, cycle times",
494
- "operationId": "GetTenderFunnel",
495
- "parameters": [
496
- {
497
- "name": "windowDays",
498
- "in": "query",
499
- "description": "Rolling window in days (default 30, max 365)",
500
- "schema": {
501
- "type": "integer",
502
- "format": "int32"
503
- }
504
- }
505
- ],
506
- "responses": {
507
- "200": {
508
- "description": "Payload of FunnelResponse",
509
- "content": {
510
- "application/json": {
511
- "schema": {
512
- "$ref": "#/components/schemas/funnelResponse"
513
- }
514
- }
515
- }
516
- }
517
- },
518
- "security": [
519
- {
520
- "Implicit": [
521
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
522
- ]
523
- },
524
- {
525
- "ApiKey": []
526
- }
527
- ]
528
- }
529
- },
530
- "/v1.0/tenders/stats": {
531
- "get": {
532
- "tags": [
533
- "Tenders"
534
- ],
535
- "summary": "Aggregated tender KPIs for the admin dashboard (by status/stage/health + activity window)",
536
- "operationId": "GetTenderStats",
537
- "parameters": [
538
- {
539
- "name": "windowDays",
540
- "in": "query",
541
- "description": "Rolling window for activity-based metrics (defaults to 30, max 365)",
542
- "schema": {
543
- "type": "integer",
544
- "format": "int32"
545
- }
546
- }
547
- ],
548
- "responses": {
549
- "200": {
550
- "description": "Payload of TenderStatsResponse",
551
- "content": {
552
- "application/json": {
553
- "schema": {
554
- "$ref": "#/components/schemas/tenderStatsResponse"
555
- }
556
- }
557
- }
558
- }
559
- },
560
- "security": [
561
- {
562
- "Implicit": [
563
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
564
- ]
565
- },
566
- {
567
- "ApiKey": []
568
- }
569
- ]
570
- }
571
- },
572
- "/v1.0/consultants/stats": {
573
- "get": {
574
- "tags": [
575
- "Consultants"
576
- ],
577
- "summary": "Aggregated consultant KPIs (total, availability split, avg fit score from latest matches)",
578
- "operationId": "GetConsultantStats",
579
- "responses": {
580
- "200": {
581
- "description": "Payload of ConsultantStatsResponse",
582
- "content": {
583
- "application/json": {
584
- "schema": {
585
- "$ref": "#/components/schemas/consultantStatsResponse"
586
- }
587
- }
588
- }
589
- }
590
- },
591
- "security": [
592
- {
593
- "Implicit": [
594
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
595
- ]
596
- },
597
- {
598
- "ApiKey": []
599
- }
600
- ]
601
- }
602
- },
603
- "/v1.0/backups": {
604
- "post": {
605
- "tags": [
606
- "Backups"
607
- ],
608
- "summary": "Snapshot all Cosmos containers + (optionally) tender documents to the shared backups storage account.",
609
- "operationId": "CreateSalesBackup",
610
- "requestBody": {
611
- "content": {
612
- "application/json": {
613
- "schema": {
614
- "$ref": "#/components/schemas/createBackupRequest"
615
- }
616
- }
617
- }
618
- },
619
- "responses": {
620
- "200": {
621
- "description": "Payload of BackupSummary",
622
- "content": {
623
- "application/json": {
624
- "schema": {
625
- "$ref": "#/components/schemas/backupSummary"
626
- }
627
- }
628
- }
629
- }
630
- },
631
- "security": [
632
- {
633
- "Implicit": [
634
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
635
- ]
636
- },
637
- {
638
- "ApiKey": []
639
- }
640
- ]
641
- }
642
- },
643
- "/v1.0/crawl/sources/{name}/failed-tenders": {
644
- "delete": {
645
- "tags": [
646
- "Crawl"
647
- ],
648
- "summary": "Delete all tenders for this source whose ingestion failed (parse-failed / zero confidence)",
649
- "operationId": "DeleteFailedTenders",
650
- "parameters": [
651
- {
652
- "name": "name",
653
- "in": "path",
654
- "required": true,
655
- "schema": {
656
- "type": "string"
657
- }
658
- }
659
- ],
660
- "responses": {
661
- "200": {
662
- "description": "Payload of DeleteFailedTendersResponse",
663
- "content": {
664
- "application/json": {
665
- "schema": {
666
- "$ref": "#/components/schemas/deleteFailedTendersResponse"
667
- }
668
- }
669
- }
670
- }
671
- },
672
- "security": [
673
- {
674
- "Implicit": [
675
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
676
- ]
677
- },
678
- {
679
- "ApiKey": []
680
- }
681
- ]
682
- }
683
- },
684
- "/v1.0/crawl/jobs/{jobId}/retry": {
685
- "post": {
686
- "tags": [
687
- "Crawl"
688
- ],
689
- "summary": "Delete the tender (if any) and enqueue a fresh ingestion for the same URL/title/externalId",
690
- "operationId": "RetryCrawlJob",
691
- "parameters": [
692
- {
693
- "name": "jobId",
694
- "in": "path",
695
- "required": true,
696
- "schema": {
697
- "type": "string"
698
- }
699
- }
700
- ],
701
- "responses": {
702
- "200": {
703
- "description": "Payload of AgentJob",
704
- "content": {
705
- "application/json": {
706
- "schema": {
707
- "$ref": "#/components/schemas/agentJob"
708
- }
709
- }
710
- }
711
- },
712
- "400": {
713
- "description": "No description"
714
- },
715
- "404": {
716
- "description": "No description"
717
- }
718
- },
719
- "security": [
720
- {
721
- "Implicit": [
722
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
723
- ]
724
- },
725
- {
726
- "ApiKey": []
727
- }
728
- ]
729
- }
730
- },
731
- "/v1.0/crawl/jobs/{jobId}/cancel": {
732
- "post": {
733
- "tags": [
734
- "Crawl"
735
- ],
736
- "summary": "Terminate the running orchestration and mark the job as failed (\"Cancelled by operator\")",
737
- "operationId": "CancelCrawlJob",
738
- "parameters": [
739
- {
740
- "name": "jobId",
741
- "in": "path",
742
- "required": true,
743
- "schema": {
744
- "type": "string"
745
- }
746
- }
747
- ],
748
- "responses": {
749
- "200": {
750
- "description": "Payload of AgentJob",
751
- "content": {
752
- "application/json": {
753
- "schema": {
754
- "$ref": "#/components/schemas/agentJob"
755
- }
756
- }
757
- }
758
- },
759
- "404": {
760
- "description": "No description"
761
- },
762
- "409": {
763
- "description": "No description"
764
- }
765
- },
766
- "security": [
767
- {
768
- "Implicit": [
769
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
770
- ]
771
- },
772
- {
773
- "ApiKey": []
774
- }
775
- ]
776
- }
777
- },
778
- "/v1.0/crawl/jobs/bulk-delete": {
779
- "post": {
780
- "tags": [
781
- "Crawl"
782
- ],
783
- "summary": "Delete a batch of jobs and their backing tenders",
784
- "operationId": "BulkDeleteCrawlJobs",
785
- "requestBody": {
786
- "content": {
787
- "application/json": {
788
- "schema": {
789
- "$ref": "#/components/schemas/bulkDeleteJobsRequest"
790
- }
791
- }
792
- }
793
- },
794
- "responses": {
795
- "200": {
796
- "description": "Payload of BulkDeleteJobsResponse",
797
- "content": {
798
- "application/json": {
799
- "schema": {
800
- "$ref": "#/components/schemas/bulkDeleteJobsResponse"
801
- }
802
- }
803
- }
804
- },
805
- "400": {
806
- "description": "No description"
807
- }
808
- },
809
- "security": [
810
- {
811
- "Implicit": [
812
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
813
- ]
814
- },
815
- {
816
- "ApiKey": []
817
- }
818
- ]
819
- }
820
- },
821
- "/v1.0/crawl/sources/{name}/jobs": {
822
- "get": {
823
- "tags": [
824
- "Crawl"
825
- ],
826
- "summary": "Recent ingestion jobs for this source, newest first",
827
- "operationId": "ListCrawlJobs",
828
- "parameters": [
829
- {
830
- "name": "name",
831
- "in": "path",
832
- "required": true,
833
- "schema": {
834
- "type": "string"
835
- }
836
- },
837
- {
838
- "name": "limit",
839
- "in": "query",
840
- "description": "Max jobs to return (default 50)",
841
- "schema": {
842
- "type": "string"
843
- }
844
- }
845
- ],
846
- "responses": {
847
- "200": {
848
- "description": "Payload of Array of AgentJob",
849
- "content": {
850
- "application/json": {
851
- "schema": {
852
- "type": "array",
853
- "items": {
854
- "$ref": "#/components/schemas/agentJob"
855
- }
856
- }
857
- }
858
- }
859
- }
860
- },
861
- "security": [
862
- {
863
- "Implicit": [
864
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
865
- ]
866
- },
867
- {
868
- "ApiKey": []
869
- }
870
- ]
871
- }
872
- },
873
- "/v1.0/crawl/sources/{name}/scan": {
874
- "post": {
875
- "tags": [
876
- "Crawl"
877
- ],
878
- "summary": "Scan one source now and enqueue ingestion jobs for newly discovered notices",
879
- "operationId": "ScanCrawlSource",
880
- "parameters": [
881
- {
882
- "name": "name",
883
- "in": "path",
884
- "required": true,
885
- "schema": {
886
- "type": "string"
887
- }
888
- }
889
- ],
890
- "responses": {
891
- "200": {
892
- "description": "Payload of CrawlScanResponse",
893
- "content": {
894
- "application/json": {
895
- "schema": {
896
- "$ref": "#/components/schemas/crawlScanResponse"
897
- }
898
- }
899
- }
900
- },
901
- "404": {
902
- "description": "No description"
903
- }
904
- },
905
- "security": [
906
- {
907
- "Implicit": [
908
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
909
- ]
910
- },
911
- {
912
- "ApiKey": []
913
- }
914
- ]
915
- }
916
- },
917
- "/v1.0/crawl/stats": {
918
- "get": {
919
- "tags": [
920
- "Crawl"
921
- ],
922
- "summary": "High-level stats for the /admin ops dashboard",
923
- "operationId": "GetCrawlStats",
924
- "responses": {
925
- "200": {
926
- "description": "Payload of CrawlStatsResponse",
927
- "content": {
928
- "application/json": {
929
- "schema": {
930
- "$ref": "#/components/schemas/crawlStatsResponse"
931
- }
932
- }
933
- }
934
- }
935
- },
936
- "security": [
937
- {
938
- "Implicit": [
939
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
940
- ]
941
- },
942
- {
943
- "ApiKey": []
944
- }
945
- ]
946
- }
947
- },
948
- "/v1.0/crawl/stream": {
949
- "get": {
950
- "tags": [
951
- "Crawl"
952
- ],
953
- "summary": "Server-sent-events stream: pushes stats + activity every ~2s for the ops dashboard",
954
- "operationId": "StreamCrawlEvents",
955
- "responses": {},
956
- "security": [
957
- {
958
- "Implicit": [
959
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
960
- ]
961
- },
962
- {
963
- "ApiKey": []
964
- }
965
- ]
966
- }
967
- },
968
- "/v1.0/crawl/activity": {
969
- "get": {
970
- "tags": [
971
- "Crawl"
972
- ],
973
- "summary": "Recent ingestion jobs across all sources, newest first. Supports source/status/date/search filters and paging.",
974
- "operationId": "GetCrawlActivity",
975
- "parameters": [
976
- {
977
- "name": "source",
978
- "in": "query",
979
- "description": "Filter by sourceName (exact match)",
980
- "schema": {
981
- "type": "string"
982
- }
983
- },
984
- {
985
- "name": "status",
986
- "in": "query",
987
- "description": "Comma-separated statuses (pending,running,completed,failed)",
988
- "schema": {
989
- "type": "string"
990
- }
991
- },
992
- {
993
- "name": "from",
994
- "in": "query",
995
- "description": "ISO-8601 lower bound on startedAt",
996
- "schema": {
997
- "type": "string"
998
- }
999
- },
1000
- {
1001
- "name": "to",
1002
- "in": "query",
1003
- "description": "ISO-8601 upper bound on startedAt",
1004
- "schema": {
1005
- "type": "string"
1006
- }
1007
- },
1008
- {
1009
- "name": "search",
1010
- "in": "query",
1011
- "description": "Substring match across inputTitle/inputUrl/externalId/id/error",
1012
- "schema": {
1013
- "type": "string"
1014
- }
1015
- },
1016
- {
1017
- "name": "skip",
1018
- "in": "query",
1019
- "description": "Offset for paging (default 0)",
1020
- "schema": {
1021
- "type": "string"
1022
- }
1023
- },
1024
- {
1025
- "name": "limit",
1026
- "in": "query",
1027
- "description": "Max jobs to return (default 50, max 500)",
1028
- "schema": {
1029
- "type": "string"
1030
- }
1031
- }
1032
- ],
1033
- "responses": {
1034
- "200": {
1035
- "description": "Payload of CrawlActivityResponse",
1036
- "content": {
1037
- "application/json": {
1038
- "schema": {
1039
- "$ref": "#/components/schemas/crawlActivityResponse"
1040
- }
1041
- }
1042
- }
1043
- }
1044
- },
1045
- "security": [
1046
- {
1047
- "Implicit": [
1048
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1049
- ]
1050
- },
1051
- {
1052
- "ApiKey": []
1053
- }
1054
- ]
1055
- }
1056
- },
1057
- "/v1.0/crawl/sources": {
1058
- "get": {
1059
- "tags": [
1060
- "Crawl"
1061
- ],
1062
- "summary": "List configured crawl sources together with their learned patterns and last-activity timestamp",
1063
- "operationId": "ListCrawlSources",
1064
- "responses": {
1065
- "200": {
1066
- "description": "Payload of Array of CrawlSourceWithPattern",
1067
- "content": {
1068
- "application/json": {
1069
- "schema": {
1070
- "type": "array",
1071
- "items": {
1072
- "$ref": "#/components/schemas/crawlSourceWithPattern"
1073
- }
1074
- }
1075
- }
1076
- }
1077
- }
1078
- },
1079
- "security": [
1080
- {
1081
- "Implicit": [
1082
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1083
- ]
1084
- },
1085
- {
1086
- "ApiKey": []
1087
- }
1088
- ]
1089
- }
1090
- },
1091
- "/v1.0/crawl/sources/{name}": {
1092
- "put": {
1093
- "tags": [
1094
- "Crawl"
1095
- ],
1096
- "summary": "Create or update a crawl source",
1097
- "operationId": "UpsertCrawlSource",
1098
- "parameters": [
1099
- {
1100
- "name": "name",
1101
- "in": "path",
1102
- "required": true,
1103
- "schema": {
1104
- "type": "string"
1105
- }
1106
- }
1107
- ],
1108
- "requestBody": {
1109
- "content": {
1110
- "application/json": {
1111
- "schema": {
1112
- "$ref": "#/components/schemas/crawlSourceUpsertRequest"
1113
- }
1114
- }
1115
- }
1116
- },
1117
- "responses": {
1118
- "200": {
1119
- "description": "Payload of CrawlSourceConfig",
1120
- "content": {
1121
- "application/json": {
1122
- "schema": {
1123
- "$ref": "#/components/schemas/crawlSourceConfig"
1124
- }
1125
- }
1126
- }
1127
- },
1128
- "400": {
1129
- "description": "No description"
1130
- }
1131
- },
1132
- "security": [
1133
- {
1134
- "Implicit": [
1135
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1136
- ]
1137
- },
1138
- {
1139
- "ApiKey": []
1140
- }
1141
- ]
1142
- },
1143
- "delete": {
1144
- "tags": [
1145
- "Crawl"
1146
- ],
1147
- "summary": "Delete a crawl source and its cached pattern",
1148
- "operationId": "DeleteCrawlSource",
1149
- "parameters": [
1150
- {
1151
- "name": "name",
1152
- "in": "path",
1153
- "required": true,
1154
- "schema": {
1155
- "type": "string"
1156
- }
1157
- }
1158
- ],
1159
- "responses": {
1160
- "204": {
1161
- "description": "No description"
1162
- }
1163
- },
1164
- "security": [
1165
- {
1166
- "Implicit": [
1167
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1168
- ]
1169
- },
1170
- {
1171
- "ApiKey": []
1172
- }
1173
- ]
1174
- }
1175
- },
1176
- "/v1.0/crawl/sources/{name}/pattern": {
1177
- "delete": {
1178
- "tags": [
1179
- "Crawl"
1180
- ],
1181
- "summary": "Drop the cached URL pattern for a source so the next scan re-bootstraps it",
1182
- "operationId": "InvalidateCrawlPattern",
1183
- "parameters": [
1184
- {
1185
- "name": "name",
1186
- "in": "path",
1187
- "required": true,
1188
- "schema": {
1189
- "type": "string"
1190
- }
1191
- }
1192
- ],
1193
- "responses": {
1194
- "204": {
1195
- "description": "No description"
1196
- }
1197
- },
1198
- "security": [
1199
- {
1200
- "Implicit": [
1201
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1202
- ]
1203
- },
1204
- {
1205
- "ApiKey": []
1206
- }
1207
- ]
1208
- }
1209
- },
1210
- "/v1.0/crawl/discover-listing": {
1211
- "post": {
1212
- "tags": [
1213
- "Crawl"
1214
- ],
1215
- "summary": "Given a site homepage or bare domain, locate the tender/project listing page on it",
1216
- "operationId": "DiscoverCrawlListing",
1217
- "requestBody": {
1218
- "content": {
1219
- "application/json": {
1220
- "schema": {
1221
- "$ref": "#/components/schemas/discoverListingRequest"
1222
- }
1223
- }
1224
- }
1225
- },
1226
- "responses": {
1227
- "200": {
1228
- "description": "Payload of DiscoverListingResponse",
1229
- "content": {
1230
- "application/json": {
1231
- "schema": {
1232
- "$ref": "#/components/schemas/discoverListingResponse"
1233
- }
1234
- }
1235
- }
1236
- }
1237
- },
1238
- "security": [
1239
- {
1240
- "Implicit": [
1241
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1242
- ]
1243
- }
1244
- ]
1245
- }
1246
- },
1247
- "/v1.0/crawl/sources/{name}/preview": {
1248
- "post": {
1249
- "tags": [
1250
- "Crawl"
1251
- ],
1252
- "summary": "Run a one-off discovery crawl for a single source and return the notices it would enqueue (no ingestion)",
1253
- "operationId": "PreviewCrawlSource",
1254
- "parameters": [
1255
- {
1256
- "name": "name",
1257
- "in": "path",
1258
- "required": true,
1259
- "schema": {
1260
- "type": "string"
1261
- }
1262
- }
1263
- ],
1264
- "responses": {
1265
- "200": {
1266
- "description": "Payload of CrawlPreviewResponse",
1267
- "content": {
1268
- "application/json": {
1269
- "schema": {
1270
- "$ref": "#/components/schemas/crawlPreviewResponse"
1271
- }
1272
- }
1273
- }
1274
- },
1275
- "404": {
1276
- "description": "No description"
1277
- }
1278
- },
1279
- "security": [
1280
- {
1281
- "Implicit": [
1282
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1283
- ]
1284
- },
1285
- {
1286
- "ApiKey": []
1287
- }
1288
- ]
1289
- }
1290
- },
1291
- "/v1.0/salesforce/opportunities/{sfId}/import": {
1292
- "post": {
1293
- "tags": [
1294
- "Salesforce"
1295
- ],
1296
- "summary": "Create a Snøkam tender stub from an existing Salesforce Opportunity.",
1297
- "operationId": "ImportSalesforceOpportunity",
1298
- "parameters": [
1299
- {
1300
- "name": "sfId",
1301
- "in": "path",
1302
- "required": true,
1303
- "schema": {
1304
- "type": "string"
1305
- },
1306
- "x-ms-summary": "Salesforce Opportunity Id."
1307
- }
1308
- ],
1309
- "responses": {
1310
- "200": {
1311
- "description": "Payload of TenderView",
1312
- "content": {
1313
- "application/json": {
1314
- "schema": {
1315
- "$ref": "#/components/schemas/tenderView"
1316
- }
1317
- }
1318
- }
1319
- },
1320
- "404": {
1321
- "description": "No description"
1322
- },
1323
- "409": {
1324
- "description": "A tender is already linked to this Opportunity."
1325
- }
1326
- },
1327
- "security": [
1328
- {
1329
- "Implicit": [
1330
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1331
- ]
1332
- },
1333
- {
1334
- "ApiKey": []
1335
- }
1336
- ]
1337
- }
1338
- },
1339
- "/v1.0/tenders/{id}/salesforce": {
1340
- "post": {
1341
- "tags": [
1342
- "Salesforce"
1343
- ],
1344
- "summary": "Create a Salesforce Opportunity from a Snøkam tender and cache the link.",
1345
- "operationId": "PromoteTenderToSalesforce",
1346
- "parameters": [
1347
- {
1348
- "name": "id",
1349
- "in": "path",
1350
- "required": true,
1351
- "schema": {
1352
- "type": "string"
1353
- }
1354
- }
1355
- ],
1356
- "responses": {
1357
- "200": {
1358
- "description": "Payload of TenderView",
1359
- "content": {
1360
- "application/json": {
1361
- "schema": {
1362
- "$ref": "#/components/schemas/tenderView"
1363
- }
1364
- }
1365
- }
1366
- },
1367
- "404": {
1368
- "description": "No description"
1369
- },
1370
- "409": {
1371
- "description": "Tender is already linked to a Salesforce Opportunity."
1372
- }
1373
- },
1374
- "security": [
1375
- {
1376
- "Implicit": [
1377
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1378
- ]
1379
- },
1380
- {
1381
- "ApiKey": []
1382
- }
1383
- ]
1384
- }
1385
- },
1386
- "/v1.0/tenders/{id}/salesforce/refresh": {
1387
- "post": {
1388
- "tags": [
1389
- "Salesforce"
1390
- ],
1391
- "summary": "Re-sync cached Salesforce Opportunity state (stage / closed / won) onto the engagement.",
1392
- "operationId": "RefreshTenderSalesforceLink",
1393
- "parameters": [
1394
- {
1395
- "name": "id",
1396
- "in": "path",
1397
- "required": true,
1398
- "schema": {
1399
- "type": "string"
1400
- }
1401
- }
1402
- ],
1403
- "responses": {
1404
- "200": {
1405
- "description": "Payload of TenderView",
1406
- "content": {
1407
- "application/json": {
1408
- "schema": {
1409
- "$ref": "#/components/schemas/tenderView"
1410
- }
1411
- }
1412
- }
1413
- },
1414
- "404": {
1415
- "description": "No description"
1416
- }
1417
- },
1418
- "security": [
1419
- {
1420
- "Implicit": [
1421
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1422
- ]
1423
- },
1424
- {
1425
- "ApiKey": []
1426
- }
1427
- ]
1428
- }
1429
- },
1430
- "/v1.0/salesforce/opportunities": {
1431
- "get": {
1432
- "tags": [
1433
- "Salesforce"
1434
- ],
1435
- "summary": "List Salesforce Opportunities (open by default).",
1436
- "operationId": "ListSalesforceOpportunities",
1437
- "parameters": [
1438
- {
1439
- "name": "includeClosed",
1440
- "in": "query",
1441
- "schema": {
1442
- "type": "boolean"
1443
- },
1444
- "x-ms-summary": "Include closed opportunities (default false)."
1445
- },
1446
- {
1447
- "name": "limit",
1448
- "in": "query",
1449
- "schema": {
1450
- "type": "integer",
1451
- "format": "int32"
1452
- },
1453
- "x-ms-summary": "Row cap, max 200 (default 100)."
1454
- }
1455
- ],
1456
- "responses": {
1457
- "200": {
1458
- "description": "Payload of Array of CrmOpportunity",
1459
- "content": {
1460
- "application/json": {
1461
- "schema": {
1462
- "type": "array",
1463
- "items": {
1464
- "$ref": "#/components/schemas/crmOpportunity"
1465
- }
1466
- }
1467
- }
1468
- }
1469
- }
1470
- },
1471
- "security": [
1472
- {
1473
- "Implicit": [
1474
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1475
- ]
1476
- },
1477
- {
1478
- "ApiKey": []
1479
- }
1480
- ]
1481
- }
1482
- },
1483
- "/v1.0/salesforce/opportunity-stages": {
1484
- "get": {
1485
- "tags": [
1486
- "Salesforce"
1487
- ],
1488
- "summary": "List the SF org's Opportunity pipeline stages in configured order.",
1489
- "operationId": "ListSalesforceOpportunityStages",
1490
- "responses": {
1491
- "200": {
1492
- "description": "Payload of Array of CrmStage",
1493
- "content": {
1494
- "application/json": {
1495
- "schema": {
1496
- "type": "array",
1497
- "items": {
1498
- "$ref": "#/components/schemas/crmStage"
1499
- }
1500
- }
1501
- }
1502
- }
1503
- }
1504
- },
1505
- "security": [
1506
- {
1507
- "Implicit": [
1508
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1509
- ]
1510
- },
1511
- {
1512
- "ApiKey": []
1513
- }
1514
- ]
1515
- }
1516
- },
1517
- "/v1.0/salesforce/refresh": {
1518
- "post": {
1519
- "tags": [
1520
- "Salesforce"
1521
- ],
1522
- "summary": "Batch-refresh the cached Salesforce state on every linked engagement for the current business.",
1523
- "operationId": "RefreshAllSalesforceLinks",
1524
- "responses": {
1525
- "200": {
1526
- "description": "Payload of CrmRefreshResult",
1527
- "content": {
1528
- "application/json": {
1529
- "schema": {
1530
- "$ref": "#/components/schemas/crmRefreshResult"
1531
- }
1532
- }
1533
- }
1534
- }
1535
- },
1536
- "security": [
1537
- {
1538
- "Implicit": [
1539
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1540
- ]
1541
- },
1542
- {
1543
- "ApiKey": []
1544
- }
1545
- ]
1546
- }
1547
- },
1548
- "/v1.0/tenders/{id}/salesforce/stage": {
1549
- "post": {
1550
- "tags": [
1551
- "Salesforce"
1552
- ],
1553
- "summary": "Move the linked SF Opportunity to a new stage and refresh the cache.",
1554
- "operationId": "UpdateTenderSalesforceStage",
1555
- "parameters": [
1556
- {
1557
- "name": "id",
1558
- "in": "path",
1559
- "required": true,
1560
- "schema": {
1561
- "type": "string"
1562
- }
1563
- }
1564
- ],
1565
- "requestBody": {
1566
- "description": "The SF stage masterLabel/apiName to switch to.",
1567
- "content": {
1568
- "application/json": {
1569
- "schema": {
1570
- "$ref": "#/components/schemas/updateSalesforceStageRequest"
1571
- }
1572
- }
1573
- },
1574
- "required": true
1575
- },
1576
- "responses": {
1577
- "200": {
1578
- "description": "Payload of TenderView",
1579
- "content": {
1580
- "application/json": {
1581
- "schema": {
1582
- "$ref": "#/components/schemas/tenderView"
1583
- }
1584
- }
1585
- }
1586
- },
1587
- "400": {
1588
- "description": "Tender has no Salesforce link, or stageName is missing."
1589
- },
1590
- "404": {
1591
- "description": "No description"
1592
- }
1593
- },
1594
- "security": [
1595
- {
1596
- "Implicit": [
1597
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1598
- ]
1599
- },
1600
- {
1601
- "ApiKey": []
1602
- }
1603
- ]
1604
- }
1605
- },
1606
- "/v1.0/consultants": {
1607
- "get": {
1608
- "tags": [
1609
- "Consultants"
1610
- ],
1611
- "summary": "List all known consultants (for manual selection)",
1612
- "operationId": "ListConsultants",
1613
- "parameters": [
1614
- {
1615
- "name": "query",
1616
- "in": "query",
1617
- "schema": {
1618
- "type": "string"
1619
- }
1620
- }
1621
- ],
1622
- "responses": {
1623
- "200": {
1624
- "description": "Payload of Array of ConsultantSummary",
1625
- "content": {
1626
- "application/json": {
1627
- "schema": {
1628
- "type": "array",
1629
- "items": {
1630
- "$ref": "#/components/schemas/consultantSummary"
1631
- }
1632
- }
1633
- }
1634
- }
1635
- }
1636
- },
1637
- "security": [
1638
- {
1639
- "Implicit": [
1640
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1641
- ]
1642
- },
1643
- {
1644
- "ApiKey": []
1645
- }
1646
- ]
1647
- }
1648
- },
1649
- "/v1.0/tenders/{id}/documents": {
1650
- "get": {
1651
- "tags": [
1652
- "Documents"
1653
- ],
1654
- "summary": "List documents for a tender",
1655
- "operationId": "ListTenderDocuments",
1656
- "parameters": [
1657
- {
1658
- "name": "id",
1659
- "in": "path",
1660
- "required": true,
1661
- "schema": {
1662
- "type": "string"
1663
- }
1664
- }
1665
- ],
1666
- "responses": {
1667
- "200": {
1668
- "description": "Payload of Array of TenderDocument",
1669
- "content": {
1670
- "application/json": {
1671
- "schema": {
1672
- "type": "array",
1673
- "items": {
1674
- "$ref": "#/components/schemas/tenderDocument"
1675
- }
1676
- }
1677
- }
1678
- }
1679
- },
1680
- "404": {
1681
- "description": "No description"
1682
- }
1683
- },
1684
- "security": [
1685
- {
1686
- "Implicit": [
1687
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1688
- ]
1689
- },
1690
- {
1691
- "ApiKey": []
1692
- }
1693
- ]
1694
- },
1695
- "post": {
1696
- "tags": [
1697
- "Documents"
1698
- ],
1699
- "summary": "Upload a new document to a tender",
1700
- "operationId": "UploadTenderDocument",
1701
- "parameters": [
1702
- {
1703
- "name": "id",
1704
- "in": "path",
1705
- "required": true,
1706
- "schema": {
1707
- "type": "string"
1708
- }
1709
- }
1710
- ],
1711
- "responses": {
1712
- "200": {
1713
- "description": "Payload of TenderDocument",
1714
- "content": {
1715
- "application/json": {
1716
- "schema": {
1717
- "$ref": "#/components/schemas/tenderDocument"
1718
- }
1719
- }
1720
- }
1721
- },
1722
- "404": {
1723
- "description": "No description"
1724
- }
1725
- },
1726
- "security": [
1727
- {
1728
- "Implicit": [
1729
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1730
- ]
1731
- },
1732
- {
1733
- "ApiKey": []
1734
- }
1735
- ]
1736
- }
1737
- },
1738
- "/v1.0/tenders/{id}/documents/{docId}/download-url": {
1739
- "get": {
1740
- "tags": [
1741
- "Documents"
1742
- ],
1743
- "summary": "Get a short-lived download URL for a document",
1744
- "operationId": "GetDocumentDownloadUrl",
1745
- "parameters": [
1746
- {
1747
- "name": "id",
1748
- "in": "path",
1749
- "required": true,
1750
- "schema": {
1751
- "type": "string"
1752
- }
1753
- },
1754
- {
1755
- "name": "docId",
1756
- "in": "path",
1757
- "required": true,
1758
- "schema": {
1759
- "type": "string"
1760
- }
1761
- }
1762
- ],
1763
- "responses": {
1764
- "200": {
1765
- "description": "Payload of Object",
1766
- "content": {
1767
- "application/json": {
1768
- "schema": {
1769
- "type": "object"
1770
- }
1771
- }
1772
- }
1773
- },
1774
- "404": {
1775
- "description": "No description"
1776
- }
1777
- },
1778
- "security": [
1779
- {
1780
- "Implicit": [
1781
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1782
- ]
1783
- },
1784
- {
1785
- "ApiKey": []
1786
- }
1787
- ]
1788
- }
1789
- },
1790
- "/v1.0/tenders/{id}/documents/{docId}/download": {
1791
- "get": {
1792
- "tags": [
1793
- "Documents"
1794
- ],
1795
- "summary": "Download a single document",
1796
- "operationId": "DownloadDocument",
1797
- "parameters": [
1798
- {
1799
- "name": "id",
1800
- "in": "path",
1801
- "required": true,
1802
- "schema": {
1803
- "type": "string"
1804
- }
1805
- },
1806
- {
1807
- "name": "docId",
1808
- "in": "path",
1809
- "required": true,
1810
- "schema": {
1811
- "type": "string"
1812
- }
1813
- }
1814
- ],
1815
- "responses": {
1816
- "200": {
1817
- "description": "Payload of Array of Byte",
1818
- "content": {
1819
- "application/octet-stream": {
1820
- "schema": {
1821
- "type": "string",
1822
- "format": "binary"
1823
- }
1824
- }
1825
- }
1826
- },
1827
- "404": {
1828
- "description": "No description"
1829
- }
1830
- },
1831
- "security": [
1832
- {
1833
- "Implicit": [
1834
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1835
- ]
1836
- },
1837
- {
1838
- "ApiKey": []
1839
- }
1840
- ]
1841
- }
1842
- },
1843
- "/v1.0/tenders/{id}/documents/download-all": {
1844
- "get": {
1845
- "tags": [
1846
- "Documents"
1847
- ],
1848
- "summary": "Download all tender documents as a ZIP archive",
1849
- "operationId": "DownloadAllDocuments",
1850
- "parameters": [
1851
- {
1852
- "name": "id",
1853
- "in": "path",
1854
- "required": true,
1855
- "schema": {
1856
- "type": "string"
1857
- }
1858
- }
1859
- ],
1860
- "responses": {
1861
- "200": {
1862
- "description": "Payload of Array of Byte",
1863
- "content": {
1864
- "application/zip": {
1865
- "schema": {
1866
- "type": "string",
1867
- "format": "binary"
1868
- }
1869
- }
1870
- }
1871
- },
1872
- "404": {
1873
- "description": "No description"
1874
- }
1875
- },
1876
- "security": [
1877
- {
1878
- "Implicit": [
1879
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1880
- ]
1881
- },
1882
- {
1883
- "ApiKey": []
1884
- }
1885
- ]
1886
- }
1887
- },
1888
- "/v1.0/tenders/{id}/documents/{docId}/extract-questions": {
1889
- "post": {
1890
- "tags": [
1891
- "Documents"
1892
- ],
1893
- "summary": "Start extraction of fillable questions from a document",
1894
- "operationId": "StartQuestionExtraction",
1895
- "parameters": [
1896
- {
1897
- "name": "id",
1898
- "in": "path",
1899
- "required": true,
1900
- "schema": {
1901
- "type": "string"
1902
- }
1903
- },
1904
- {
1905
- "name": "docId",
1906
- "in": "path",
1907
- "required": true,
1908
- "schema": {
1909
- "type": "string"
1910
- }
1911
- }
1912
- ],
1913
- "responses": {
1914
- "202": {
1915
- "description": "Payload of Object",
1916
- "content": {
1917
- "application/json": {
1918
- "schema": {
1919
- "type": "object"
1920
- }
1921
- }
1922
- }
1923
- },
1924
- "404": {
1925
- "description": "No description"
1926
- }
1927
- },
1928
- "security": [
1929
- {
1930
- "Implicit": [
1931
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1932
- ]
1933
- },
1934
- {
1935
- "ApiKey": []
1936
- }
1937
- ]
1938
- }
1939
- },
1940
- "/v1.0/tenders/{id}/documents/{docId}/fill-questions": {
1941
- "post": {
1942
- "tags": [
1943
- "Documents"
1944
- ],
1945
- "summary": "Start filling tender question answers per consultant",
1946
- "operationId": "StartQuestionFill",
1947
- "parameters": [
1948
- {
1949
- "name": "id",
1950
- "in": "path",
1951
- "required": true,
1952
- "schema": {
1953
- "type": "string"
1954
- }
1955
- },
1956
- {
1957
- "name": "docId",
1958
- "in": "path",
1959
- "required": true,
1960
- "schema": {
1961
- "type": "string"
1962
- }
1963
- }
1964
- ],
1965
- "requestBody": {
1966
- "content": {
1967
- "application/json": {
1968
- "schema": {
1969
- "$ref": "#/components/schemas/questionFillRequest"
1970
- }
1971
- }
1972
- },
1973
- "required": true
1974
- },
1975
- "responses": {
1976
- "202": {
1977
- "description": "Payload of Object",
1978
- "content": {
1979
- "application/json": {
1980
- "schema": {
1981
- "type": "object"
1982
- }
1983
- }
1984
- }
1985
- },
1986
- "404": {
1987
- "description": "No description"
1988
- }
1989
- },
1990
- "security": [
1991
- {
1992
- "Implicit": [
1993
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1994
- ]
1995
- },
1996
- {
1997
- "ApiKey": []
1998
- }
1999
- ]
2000
- }
2001
- },
2002
- "/v1.0/tenders/{id}/documents/{docId}": {
2003
- "patch": {
2004
- "tags": [
2005
- "Documents"
2006
- ],
2007
- "summary": "Patch tender document flags (e.g. set as competence matrix source)",
2008
- "operationId": "PatchTenderDocument",
2009
- "parameters": [
2010
- {
2011
- "name": "id",
2012
- "in": "path",
2013
- "required": true,
2014
- "schema": {
2015
- "type": "string"
2016
- }
2017
- },
2018
- {
2019
- "name": "docId",
2020
- "in": "path",
2021
- "required": true,
2022
- "schema": {
2023
- "type": "string"
2024
- }
2025
- }
2026
- ],
2027
- "requestBody": {
2028
- "content": {
2029
- "application/json": {
2030
- "schema": {
2031
- "$ref": "#/components/schemas/patchDocumentRequest"
2032
- }
2033
- }
2034
- },
2035
- "required": true
2036
- },
2037
- "responses": {
2038
- "200": {
2039
- "description": "Payload of PatchDocumentResponse",
2040
- "content": {
2041
- "application/json": {
2042
- "schema": {
2043
- "$ref": "#/components/schemas/patchDocumentResponse"
2044
- }
2045
- }
2046
- }
2047
- },
2048
- "404": {
2049
- "description": "No description"
2050
- }
2051
- },
2052
- "security": [
2053
- {
2054
- "Implicit": [
2055
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2056
- ]
2057
- },
2058
- {
2059
- "ApiKey": []
2060
- }
2061
- ]
2062
- },
2063
- "delete": {
2064
- "tags": [
2065
- "Documents"
2066
- ],
2067
- "summary": "Delete a tender document (and its blob + related answers)",
2068
- "operationId": "DeleteTenderDocument",
2069
- "parameters": [
2070
- {
2071
- "name": "id",
2072
- "in": "path",
2073
- "required": true,
2074
- "schema": {
2075
- "type": "string"
2076
- }
2077
- },
2078
- {
2079
- "name": "docId",
2080
- "in": "path",
2081
- "required": true,
2082
- "schema": {
2083
- "type": "string"
2084
- }
2085
- }
2086
- ],
2087
- "responses": {
2088
- "204": {
2089
- "description": "No description"
2090
- },
2091
- "404": {
2092
- "description": "No description"
2093
- }
2094
- },
2095
- "security": [
2096
- {
2097
- "Implicit": [
2098
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2099
- ]
2100
- },
2101
- {
2102
- "ApiKey": []
2103
- }
2104
- ]
2105
- }
2106
- },
2107
- "/v1.0/protected/health/{provider}": {
2108
- "get": {
2109
- "tags": [
2110
- "Health"
2111
- ],
2112
- "summary": "Checks an integration's connectivity",
2113
- "operationId": "SalesIntegrationHealth",
2114
- "parameters": [
2115
- {
2116
- "name": "provider",
2117
- "in": "path",
2118
- "required": true,
2119
- "schema": {
2120
- "type": "string"
2121
- }
2122
- }
2123
- ],
2124
- "responses": {
2125
- "200": {
2126
- "description": "Health result",
2127
- "content": {
2128
- "application/json": {
2129
- "schema": {
2130
- "$ref": "#/components/schemas/integrationHealthResult"
2131
- }
2132
- }
2133
- }
2134
- }
2135
- },
2136
- "security": [
2137
- {
2138
- "Implicit": [
2139
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2140
- ]
2141
- },
2142
- {
2143
- "ApiKey": []
2144
- }
2145
- ]
2146
- }
2147
- },
2148
- "/v1.0/realtime/negotiate": {
2149
- "post": {
2150
- "tags": [
2151
- "Realtime"
2152
- ],
2153
- "summary": "Issue a SignalR access token + URL for the sales-live hub",
2154
- "operationId": "NegotiateSignalR",
2155
- "requestBody": {
2156
- "content": {
2157
- "application/json": {
2158
- "schema": {
2159
- "$ref": "#/components/schemas/negotiateRequest"
2160
- }
2161
- }
2162
- }
2163
- },
2164
- "responses": {
2165
- "200": {
2166
- "description": "Payload of NegotiateResponse",
2167
- "content": {
2168
- "application/json": {
2169
- "schema": {
2170
- "$ref": "#/components/schemas/negotiateResponse"
2171
- }
2172
- }
2173
- }
2174
- },
2175
- "503": {
2176
- "description": "SignalR is not configured on this instance; fall back to SSE"
2177
- }
2178
- },
2179
- "security": [
2180
- {
2181
- "Implicit": [
2182
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2183
- ]
2184
- },
2185
- {
2186
- "ApiKey": []
2187
- }
2188
- ]
2189
- }
2190
- },
2191
- "/v1.0/stream": {
2192
- "get": {
2193
- "tags": [
2194
- "Realtime"
2195
- ],
2196
- "summary": "Unified SSE stream: tender/job/crawl/consultant/audit events on one connection",
2197
- "operationId": "StreamAll",
2198
- "parameters": [
2199
- {
2200
- "name": "channels",
2201
- "in": "query",
2202
- "description": "Comma-separated namespaces to include (tender,job,crawl,consultant,audit). Default: all.",
2203
- "schema": {
2204
- "type": "string"
2205
- }
2206
- }
2207
- ],
2208
- "responses": {},
2209
- "security": [
2210
- {
2211
- "Implicit": [
2212
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2213
- ]
2214
- },
2215
- {
2216
- "ApiKey": []
2217
- }
2218
- ]
2219
- }
2220
- },
2221
- "/v1.0/tenders/stream-redirect": {
2222
- "get": {
2223
- "tags": [
2224
- "Realtime"
2225
- ],
2226
- "summary": "Deprecated: redirects to /v1.0/stream?channels=tender,job",
2227
- "operationId": "DeprecatedTenderStream",
2228
- "responses": {},
2229
- "deprecated": true,
2230
- "security": [
2231
- {
2232
- "Implicit": [
2233
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2234
- ]
2235
- },
2236
- {
2237
- "ApiKey": []
2238
- }
2239
- ]
2240
- }
2241
- },
2242
- "/v1.0/crawl/stream-redirect": {
2243
- "get": {
2244
- "tags": [
2245
- "Realtime"
2246
- ],
2247
- "summary": "Deprecated: redirects to /v1.0/stream?channels=crawl,job",
2248
- "operationId": "DeprecatedCrawlStream",
2249
- "responses": {},
2250
- "deprecated": true,
2251
- "security": [
2252
- {
2253
- "Implicit": [
2254
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2255
- ]
2256
- }
2257
- ]
2258
- }
2259
- },
2260
- "/v1.0/tenders/{id}/consultants": {
2261
- "post": {
2262
- "tags": [
2263
- "Tenders"
2264
- ],
2265
- "summary": "Assign a consultant to a tender. Idempotent: assigning the same email twice refreshes Name/Note but does not create duplicates.",
2266
- "operationId": "AssignConsultant",
2267
- "parameters": [
2268
- {
2269
- "name": "id",
2270
- "in": "path",
2271
- "required": true,
2272
- "schema": {
2273
- "type": "string"
2274
- }
2275
- }
2276
- ],
2277
- "requestBody": {
2278
- "content": {
2279
- "application/json": {
2280
- "schema": {
2281
- "$ref": "#/components/schemas/assignedConsultant"
2282
- }
2283
- }
2284
- },
2285
- "required": true
2286
- },
2287
- "responses": {
2288
- "200": {
2289
- "description": "Payload of TenderView",
2290
- "content": {
2291
- "application/json": {
2292
- "schema": {
2293
- "$ref": "#/components/schemas/tenderView"
2294
- }
2295
- }
2296
- }
2297
- },
2298
- "404": {
2299
- "description": "No description"
2300
- }
2301
- },
2302
- "security": [
2303
- {
2304
- "Implicit": [
2305
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2306
- ]
2307
- },
2308
- {
2309
- "ApiKey": []
2310
- }
2311
- ]
2312
- }
2313
- },
2314
- "/v1.0/tenders/{id}/slack-messages": {
2315
- "post": {
2316
- "tags": [
2317
- "Tenders"
2318
- ],
2319
- "summary": "Queue a Slack message for a tender (Service Bus → notifications-function).",
2320
- "operationId": "SendTenderSlackMessage",
2321
- "parameters": [
2322
- {
2323
- "name": "id",
2324
- "in": "path",
2325
- "required": true,
2326
- "schema": {
2327
- "type": "string"
2328
- }
2329
- }
2330
- ],
2331
- "requestBody": {
2332
- "content": {
2333
- "application/json": {
2334
- "schema": {
2335
- "$ref": "#/components/schemas/sendTenderSlackMessageRequest"
2336
- }
2337
- }
2338
- },
2339
- "required": true
2340
- },
2341
- "responses": {
2342
- "204": {
2343
- "description": "No description"
2344
- },
2345
- "400": {
2346
- "description": "No description"
2347
- },
2348
- "404": {
2349
- "description": "No description"
2350
- }
2351
- },
2352
- "security": [
2353
- {
2354
- "Implicit": [
2355
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2356
- ]
2357
- },
2358
- {
2359
- "ApiKey": []
2360
- }
2361
- ]
2362
- }
2363
- },
2364
- "/v1.0/tenders/{id}/consultants/{email}": {
2365
- "delete": {
2366
- "tags": [
2367
- "Tenders"
2368
- ],
2369
- "summary": "Remove a consultant assignment from a tender. No-op if the email isn't assigned.",
2370
- "operationId": "UnassignConsultant",
2371
- "parameters": [
2372
- {
2373
- "name": "id",
2374
- "in": "path",
2375
- "required": true,
2376
- "schema": {
2377
- "type": "string"
2378
- }
2379
- },
2380
- {
2381
- "name": "email",
2382
- "in": "path",
2383
- "required": true,
2384
- "schema": {
2385
- "type": "string"
2386
- }
2387
- }
2388
- ],
2389
- "responses": {
2390
- "200": {
2391
- "description": "Payload of TenderView",
2392
- "content": {
2393
- "application/json": {
2394
- "schema": {
2395
- "$ref": "#/components/schemas/tenderView"
2396
- }
2397
- }
2398
- }
2399
- },
2400
- "404": {
2401
- "description": "No description"
2402
- }
2403
- },
2404
- "security": [
2405
- {
2406
- "Implicit": [
2407
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2408
- ]
2409
- },
2410
- {
2411
- "ApiKey": []
2412
- }
2413
- ]
2414
- }
2415
- },
2416
- "/v1.0/tenders": {
2417
- "get": {
2418
- "tags": [
2419
- "Tenders"
2420
- ],
2421
- "summary": "List all tenders",
2422
- "operationId": "ListTenders",
2423
- "responses": {
2424
- "200": {
2425
- "description": "Payload of Array of TenderView",
2426
- "content": {
2427
- "application/json": {
2428
- "schema": {
2429
- "type": "array",
2430
- "items": {
2431
- "$ref": "#/components/schemas/tenderView"
2432
- }
2433
- }
2434
- }
2435
- }
2436
- }
2437
- },
2438
- "security": [
2439
- {
2440
- "Implicit": [
2441
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2442
- ]
2443
- },
2444
- {
2445
- "ApiKey": []
2446
- }
2447
- ]
2448
- },
2449
- "post": {
2450
- "tags": [
2451
- "Tenders"
2452
- ],
2453
- "summary": "Create a new tender",
2454
- "operationId": "CreateTender",
2455
- "requestBody": {
2456
- "content": {
2457
- "application/json": {
2458
- "schema": {
2459
- "$ref": "#/components/schemas/tenderView"
2460
- }
2461
- }
2462
- },
2463
- "required": true
2464
- },
2465
- "responses": {
2466
- "201": {
2467
- "description": "Payload of TenderView",
2468
- "content": {
2469
- "application/json": {
2470
- "schema": {
2471
- "$ref": "#/components/schemas/tenderView"
2472
- }
2473
- }
2474
- }
2475
- }
2476
- },
2477
- "security": [
2478
- {
2479
- "Implicit": [
2480
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2481
- ]
2482
- },
2483
- {
2484
- "ApiKey": []
2485
- }
2486
- ]
2487
- }
2488
- },
2489
- "/v1.0/tenders/{id}": {
2490
- "get": {
2491
- "tags": [
2492
- "Tenders"
2493
- ],
2494
- "summary": "Get a tender by its URL slug (or internal id for admin use).",
2495
- "operationId": "GetTender",
2496
- "parameters": [
2497
- {
2498
- "name": "id",
2499
- "in": "path",
2500
- "description": "URL slug (canonical) or the internal guid id (admin/legacy).",
2501
- "required": true,
2502
- "schema": {
2503
- "type": "string"
2504
- }
2505
- }
2506
- ],
2507
- "responses": {
2508
- "200": {
2509
- "description": "Payload of TenderView",
2510
- "content": {
2511
- "application/json": {
2512
- "schema": {
2513
- "$ref": "#/components/schemas/tenderView"
2514
- }
2515
- }
2516
- }
2517
- },
2518
- "404": {
2519
- "description": "No description"
2520
- }
2521
- },
2522
- "security": [
2523
- {
2524
- "Implicit": [
2525
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2526
- ]
2527
- },
2528
- {
2529
- "ApiKey": []
2530
- }
2531
- ]
2532
- },
2533
- "put": {
2534
- "tags": [
2535
- "Tenders"
2536
- ],
2537
- "summary": "Update a tender",
2538
- "operationId": "UpdateTender",
2539
- "parameters": [
2540
- {
2541
- "name": "id",
2542
- "in": "path",
2543
- "required": true,
2544
- "schema": {
2545
- "type": "string"
2546
- }
2547
- }
2548
- ],
2549
- "requestBody": {
2550
- "content": {
2551
- "application/json": {
2552
- "schema": {
2553
- "$ref": "#/components/schemas/tenderView"
2554
- }
2555
- }
2556
- },
2557
- "required": true
2558
- },
2559
- "responses": {
2560
- "200": {
2561
- "description": "Payload of TenderView",
2562
- "content": {
2563
- "application/json": {
2564
- "schema": {
2565
- "$ref": "#/components/schemas/tenderView"
2566
- }
2567
- }
2568
- }
2569
- },
2570
- "404": {
2571
- "description": "No description"
2572
- }
2573
- },
2574
- "security": [
2575
- {
2576
- "Implicit": [
2577
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2578
- ]
2579
- },
2580
- {
2581
- "ApiKey": []
2582
- }
2583
- ]
2584
- },
2585
- "delete": {
2586
- "tags": [
2587
- "Tenders"
2588
- ],
2589
- "summary": "Delete a tender",
2590
- "operationId": "DeleteTender",
2591
- "parameters": [
2592
- {
2593
- "name": "id",
2594
- "in": "path",
2595
- "required": true,
2596
- "schema": {
2597
- "type": "string"
2598
- }
2599
- }
2600
- ],
2601
- "responses": {
2602
- "204": {
2603
- "description": "No description"
2604
- },
2605
- "404": {
2606
- "description": "No description"
2607
- }
2608
- },
2609
- "security": [
2610
- {
2611
- "Implicit": [
2612
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2613
- ]
2614
- },
2615
- {
2616
- "ApiKey": []
2617
- }
2618
- ]
2619
- }
2620
- },
2621
- "/v1.0/tenders/{id}/cv-proposal": {
2622
- "put": {
2623
- "tags": [
2624
- "Tenders"
2625
- ],
2626
- "summary": "Set or replace the Flowcase proposal + tailored-CV mapping attached to a tender.",
2627
- "operationId": "SetTenderCvProposal",
2628
- "parameters": [
2629
- {
2630
- "name": "id",
2631
- "in": "path",
2632
- "required": true,
2633
- "schema": {
2634
- "type": "string"
2635
- }
2636
- }
2637
- ],
2638
- "requestBody": {
2639
- "content": {
2640
- "application/json": {
2641
- "schema": {
2642
- "$ref": "#/components/schemas/tenderCvProposal"
2643
- }
2644
- }
2645
- },
2646
- "required": true
2647
- },
2648
- "responses": {
2649
- "200": {
2650
- "description": "Payload of TenderView",
2651
- "content": {
2652
- "application/json": {
2653
- "schema": {
2654
- "$ref": "#/components/schemas/tenderView"
2655
- }
2656
- }
2657
- }
2658
- },
2659
- "404": {
2660
- "description": "No description"
2661
- }
2662
- },
2663
- "security": [
2664
- {
2665
- "Implicit": [
2666
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2667
- ]
2668
- },
2669
- {
2670
- "ApiKey": []
2671
- }
2672
- ]
2673
- }
2674
- },
2675
- "/v1.0/tenders/{id}/cv-proposal/variants": {
2676
- "post": {
2677
- "tags": [
2678
- "Tenders"
2679
- ],
2680
- "summary": "Upsert a single tailored-CV variant on a tender's proposal (per consultant).",
2681
- "operationId": "UpsertTenderCvVariant",
2682
- "parameters": [
2683
- {
2684
- "name": "id",
2685
- "in": "path",
2686
- "required": true,
2687
- "schema": {
2688
- "type": "string"
2689
- }
2690
- }
2691
- ],
2692
- "requestBody": {
2693
- "content": {
2694
- "application/json": {
2695
- "schema": {
2696
- "$ref": "#/components/schemas/tenderCvVariant"
2697
- }
2698
- }
2699
- },
2700
- "required": true
2701
- },
2702
- "responses": {
2703
- "200": {
2704
- "description": "Payload of TenderView",
2705
- "content": {
2706
- "application/json": {
2707
- "schema": {
2708
- "$ref": "#/components/schemas/tenderView"
2709
- }
2710
- }
2711
- }
2712
- },
2713
- "404": {
2714
- "description": "No description"
2715
- }
2716
- },
2717
- "security": [
2718
- {
2719
- "Implicit": [
2720
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2721
- ]
2722
- },
2723
- {
2724
- "ApiKey": []
2725
- }
2726
- ]
2727
- }
2728
- },
2729
- "/v1.0/tenders/{id}/cv-proposal/variants/{email}": {
2730
- "delete": {
2731
- "tags": [
2732
- "Tenders"
2733
- ],
2734
- "summary": "Remove a tailored-CV variant from a tender's proposal by consultant email.",
2735
- "operationId": "RemoveTenderCvVariant",
2736
- "parameters": [
2737
- {
2738
- "name": "id",
2739
- "in": "path",
2740
- "required": true,
2741
- "schema": {
2742
- "type": "string"
2743
- }
2744
- },
2745
- {
2746
- "name": "email",
2747
- "in": "path",
2748
- "required": true,
2749
- "schema": {
2750
- "type": "string"
2751
- }
2752
- }
2753
- ],
2754
- "responses": {
2755
- "200": {
2756
- "description": "Payload of TenderView",
2757
- "content": {
2758
- "application/json": {
2759
- "schema": {
2760
- "$ref": "#/components/schemas/tenderView"
2761
- }
2762
- }
2763
- }
2764
- },
2765
- "404": {
2766
- "description": "No description"
2767
- }
2768
- },
2769
- "security": [
2770
- {
2771
- "Implicit": [
2772
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2773
- ]
2774
- },
2775
- {
2776
- "ApiKey": []
2777
- }
2778
- ]
2779
- }
2780
- },
2781
- "/v1.0/tenders/backfill-slugs": {
2782
- "post": {
2783
- "tags": [
2784
- "Tenders"
2785
- ],
2786
- "summary": "Assign a slug to every tender that doesn't have one yet. Idempotent — safe to re-run.",
2787
- "operationId": "BackfillTenderSlugs",
2788
- "responses": {
2789
- "200": {
2790
- "description": "Payload of BackfillSlugsResult",
2791
- "content": {
2792
- "application/json": {
2793
- "schema": {
2794
- "$ref": "#/components/schemas/backfillSlugsResult"
2795
- }
2796
- }
2797
- }
2798
- }
2799
- },
2800
- "security": [
2801
- {
2802
- "Implicit": [
2803
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2804
- ]
2805
- },
2806
- {
2807
- "ApiKey": []
2808
- }
2809
- ]
2810
- }
2811
- },
2812
- "/v1.0/tenders/{id}/reingest": {
2813
- "post": {
2814
- "tags": [
2815
- "Tenders"
2816
- ],
2817
- "summary": "Re-run the ingestion pipeline on an existing tender, re-parsing documents and refreshing AI match / summary / classification.",
2818
- "operationId": "ReingestTender",
2819
- "parameters": [
2820
- {
2821
- "name": "id",
2822
- "in": "path",
2823
- "required": true,
2824
- "schema": {
2825
- "type": "string"
2826
- }
2827
- }
2828
- ],
2829
- "responses": {
2830
- "200": {
2831
- "description": "Payload of AgentJob",
2832
- "content": {
2833
- "application/json": {
2834
- "schema": {
2835
- "$ref": "#/components/schemas/agentJob"
2836
- }
2837
- }
2838
- }
2839
- },
2840
- "404": {
2841
- "description": "No description"
2842
- }
2843
- },
2844
- "security": [
2845
- {
2846
- "Implicit": [
2847
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2848
- ]
2849
- },
2850
- {
2851
- "ApiKey": []
2852
- }
2853
- ]
2854
- }
2855
- },
2856
- "/v1.0/tenders/{id}/jobs/{jobId}/snapshot": {
2857
- "get": {
2858
- "tags": [
2859
- "Tenders"
2860
- ],
2861
- "summary": "Return the tender as it looked right after a given agent job ran (time-travel view).",
2862
- "operationId": "GetTenderJobSnapshot",
2863
- "parameters": [
2864
- {
2865
- "name": "id",
2866
- "in": "path",
2867
- "required": true,
2868
- "schema": {
2869
- "type": "string"
2870
- }
2871
- },
2872
- {
2873
- "name": "jobId",
2874
- "in": "path",
2875
- "required": true,
2876
- "schema": {
2877
- "type": "string"
2878
- }
2879
- }
2880
- ],
2881
- "responses": {
2882
- "200": {
2883
- "description": "Payload of TenderView",
2884
- "content": {
2885
- "application/json": {
2886
- "schema": {
2887
- "$ref": "#/components/schemas/tenderView"
2888
- }
2889
- }
2890
- }
2891
- },
2892
- "404": {
2893
- "description": "No description"
2894
- }
2895
- },
2896
- "security": [
2897
- {
2898
- "Implicit": [
2899
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2900
- ]
2901
- },
2902
- {
2903
- "ApiKey": []
2904
- }
2905
- ]
2906
- }
2907
- },
2908
- "/v1.0/tenders/{id}/jobs": {
2909
- "get": {
2910
- "tags": [
2911
- "Tenders"
2912
- ],
2913
- "summary": "Recent agent jobs (ingestion, CV matching, …) for a tender — newest first.",
2914
- "operationId": "ListTenderJobs",
2915
- "parameters": [
2916
- {
2917
- "name": "id",
2918
- "in": "path",
2919
- "required": true,
2920
- "schema": {
2921
- "type": "string"
2922
- }
2923
- },
2924
- {
2925
- "name": "limit",
2926
- "in": "query",
2927
- "schema": {
2928
- "type": "integer",
2929
- "format": "int32"
2930
- },
2931
- "x-ms-summary": "Max rows (default 10, capped at 100)."
2932
- }
2933
- ],
2934
- "responses": {
2935
- "200": {
2936
- "description": "Payload of Array of AgentJob",
2937
- "content": {
2938
- "application/json": {
2939
- "schema": {
2940
- "type": "array",
2941
- "items": {
2942
- "$ref": "#/components/schemas/agentJob"
2943
- }
2944
- }
2945
- }
2946
- }
2947
- }
2948
- },
2949
- "security": [
2950
- {
2951
- "Implicit": [
2952
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2953
- ]
2954
- },
2955
- {
2956
- "ApiKey": []
2957
- }
2958
- ]
2959
- }
2960
- },
2961
- "/v1.0/admin/tenders": {
2962
- "delete": {
2963
- "tags": [
2964
- "Admin"
2965
- ],
2966
- "summary": "Delete all tenders",
2967
- "operationId": "DeleteAllTenders",
2968
- "responses": {
2969
- "200": {
2970
- "description": "Payload of Object",
2971
- "content": {
2972
- "application/json": {
2973
- "schema": {
2974
- "type": "object"
2975
- }
2976
- }
2977
- }
2978
- }
2979
- },
2980
- "security": [
2981
- {
2982
- "Implicit": []
2983
- },
2984
- {
2985
- "ApiKey": []
2986
- }
2987
- ]
2988
- }
2989
- },
2990
- "/v1.0/admin/reprocess-matches": {
2991
- "post": {
2992
- "tags": [
2993
- "Admin"
2994
- ],
2995
- "summary": "Trigger CV matching on all tenders",
2996
- "operationId": "ReprocessMatches",
2997
- "parameters": [
2998
- {
2999
- "name": "unmatchedOnly",
3000
- "in": "query",
3001
- "description": "If true, only re-match tenders with no existing consultant matches",
3002
- "schema": {
3003
- "type": "boolean"
3004
- }
3005
- }
3006
- ],
3007
- "responses": {
3008
- "200": {
3009
- "description": "Payload of Object",
3010
- "content": {
3011
- "application/json": {
3012
- "schema": {
3013
- "type": "object"
3014
- }
3015
- }
3016
- }
3017
- }
3018
- },
3019
- "security": [
3020
- {
3021
- "Implicit": [
3022
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
3023
- ]
3024
- },
3025
- {
3026
- "ApiKey": []
3027
- }
3028
- ]
3029
- }
3030
- },
3031
- "/v1.0/tenders/export.csv": {
3032
- "get": {
3033
- "tags": [
3034
- "Tenders"
3035
- ],
3036
- "summary": "Export tenders matching the given filters as RFC 4180 CSV",
3037
- "operationId": "ExportTendersCsv",
3038
- "parameters": [
3039
- {
3040
- "name": "stage",
3041
- "in": "query",
3042
- "description": "Filter by status.stage (e.g. discovery, qualification)",
3043
- "schema": {
3044
- "type": "string"
3045
- }
3046
- },
3047
- {
3048
- "name": "state",
3049
- "in": "query",
3050
- "description": "Filter by status.state (e.g. active, irrelevant, ingestion_failed)",
3051
- "schema": {
3052
- "type": "string"
3053
- }
3054
- },
3055
- {
3056
- "name": "fromDate",
3057
- "in": "query",
3058
- "description": "Only include tenders with foundAt >= fromDate (ISO 8601)",
3059
- "schema": {
3060
- "type": "string",
3061
- "format": "date-time"
3062
- }
3063
- },
3064
- {
3065
- "name": "toDate",
3066
- "in": "query",
3067
- "description": "Only include tenders with foundAt <= toDate (ISO 8601)",
3068
- "schema": {
3069
- "type": "string",
3070
- "format": "date-time"
3071
- }
3072
- }
3073
- ],
3074
- "responses": {
3075
- "200": {
3076
- "description": "Payload of String",
3077
- "content": {
3078
- "text/csv": {
3079
- "schema": {
3080
- "type": "string"
3081
- }
3082
- }
3083
- },
3084
- "x-ms-summary": "CSV file with one tender per row"
3085
- }
3086
- },
3087
- "security": [
3088
- {
3089
- "Implicit": [
3090
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
3091
- ]
3092
- },
3093
- {
3094
- "ApiKey": []
3095
- }
3096
- ]
3097
- }
3098
- },
3099
- "/v1.0/tenders/stream": {
3100
- "get": {
3101
- "tags": [
3102
- "Tenders"
3103
- ],
3104
- "summary": "Server-sent-events stream of tender.created / tender.updated / tender.deleted events",
3105
- "operationId": "StreamTenderEvents",
3106
- "responses": {},
3107
- "security": [
3108
- {
3109
- "Implicit": [
3110
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
3111
- ]
3112
- },
3113
- {
3114
- "ApiKey": []
3115
- }
3116
- ]
3117
- }
3118
- }
3119
- },
3120
- "components": {
3121
- "schemas": {
3122
- "agentJob": {
3123
- "type": "object",
3124
- "properties": {
3125
- "id": {
3126
- "type": "string",
3127
- "nullable": true
3128
- },
3129
- "type": {
3130
- "type": "string",
3131
- "nullable": true
3132
- },
3133
- "jobType": {
3134
- "type": "string",
3135
- "nullable": true
3136
- },
3137
- "tenderId": {
3138
- "type": "string",
3139
- "nullable": true
3140
- },
3141
- "status": {
3142
- "type": "string",
3143
- "nullable": true
3144
- },
3145
- "error": {
3146
- "type": "string",
3147
- "nullable": true
3148
- },
3149
- "result": {
3150
- "type": "string",
3151
- "nullable": true
3152
- },
3153
- "startedAt": {
3154
- "type": "string",
3155
- "format": "date-time",
3156
- "nullable": true
3157
- },
3158
- "completedAt": {
3159
- "type": "string",
3160
- "format": "date-time",
3161
- "nullable": true
3162
- },
3163
- "triggeredBy": {
3164
- "type": "string",
3165
- "nullable": true
3166
- },
3167
- "orchestrationId": {
3168
- "type": "string",
3169
- "nullable": true
3170
- },
3171
- "externalId": {
3172
- "type": "string",
3173
- "nullable": true
3174
- },
3175
- "sourceName": {
3176
- "type": "string",
3177
- "nullable": true
3178
- },
3179
- "inputUrl": {
3180
- "type": "string",
3181
- "nullable": true
3182
- },
3183
- "inputTitle": {
3184
- "type": "string",
3185
- "nullable": true
3186
- },
3187
- "logs": {
3188
- "type": "array",
3189
- "items": {
3190
- "$ref": "#/components/schemas/agentJobLogEntry"
3191
- },
3192
- "nullable": true
3193
- },
3194
- "afterSnapshot": {
3195
- "type": "string",
3196
- "nullable": true
3197
- }
3198
- }
3199
- },
3200
- "agentJobLogEntry": {
3201
- "type": "object",
3202
- "properties": {
3203
- "at": {
3204
- "type": "string",
3205
- "format": "date-time",
3206
- "nullable": true
3207
- },
3208
- "level": {
3209
- "type": "string",
3210
- "nullable": true
3211
- },
3212
- "message": {
3213
- "type": "string",
3214
- "nullable": true
3215
- },
3216
- "data": {
3217
- "type": "object",
3218
- "additionalProperties": {
3219
- "type": "object"
3220
- },
3221
- "nullable": true
3222
- }
3223
- }
3224
- },
3225
- "assignedConsultant": {
3226
- "type": "object",
3227
- "properties": {
3228
- "email": {
3229
- "type": "string",
3230
- "nullable": true
3231
- },
3232
- "name": {
3233
- "type": "string",
3234
- "nullable": true
3235
- },
3236
- "assignedAt": {
3237
- "type": "string",
3238
- "format": "date-time",
3239
- "nullable": true
3240
- },
3241
- "assignedBy": {
3242
- "type": "string",
3243
- "nullable": true
3244
- },
3245
- "note": {
3246
- "type": "string",
3247
- "nullable": true
3248
- }
3249
- }
3250
- },
3251
- "auditEvent": {
3252
- "type": "object",
3253
- "properties": {
3254
- "id": {
3255
- "type": "string",
3256
- "nullable": true
3257
- },
3258
- "type": {
3259
- "type": "string",
3260
- "nullable": true
3261
- },
3262
- "tenderId": {
3263
- "type": "string",
3264
- "nullable": true
3265
- },
3266
- "actorEmail": {
3267
- "type": "string",
3268
- "nullable": true
3269
- },
3270
- "actorSource": {
3271
- "type": "string",
3272
- "nullable": true
3273
- },
3274
- "summary": {
3275
- "type": "string",
3276
- "nullable": true
3277
- },
3278
- "beforeSnapshot": {
3279
- "$ref": "#/components/schemas/auditSnapshot"
3280
- },
3281
- "afterSnapshot": {
3282
- "$ref": "#/components/schemas/auditSnapshot"
3283
- },
3284
- "timestamp": {
3285
- "type": "string",
3286
- "format": "date-time",
3287
- "nullable": true
3288
- }
3289
- }
3290
- },
3291
- "auditSnapshot": {
3292
- "type": "object",
3293
- "properties": {
3294
- "stage": {
3295
- "type": "string",
3296
- "nullable": true
3297
- },
3298
- "state": {
3299
- "type": "string",
3300
- "nullable": true
3301
- },
3302
- "consultantMatchCount": {
3303
- "type": "integer",
3304
- "format": "int32",
3305
- "nullable": true
3306
- },
3307
- "selectedConsultantIds": {
3308
- "type": "array",
3309
- "items": {
3310
- "type": "string"
3311
- },
3312
- "nullable": true
3313
- }
3314
- },
3315
- "nullable": true
3316
- },
3317
- "backfillSlugsResult": {
3318
- "type": "object",
3319
- "properties": {
3320
- "total": {
3321
- "type": "integer",
3322
- "format": "int32"
3323
- },
3324
- "alreadyHad": {
3325
- "type": "integer",
3326
- "format": "int32"
3327
- },
3328
- "updated": {
3329
- "type": "integer",
3330
- "format": "int32"
3331
- }
3332
- }
3333
- },
3334
- "backupSummary": {
3335
- "type": "object",
3336
- "properties": {
3337
- "blobAccount": {
3338
- "type": "string"
3339
- },
3340
- "container": {
3341
- "type": "string"
3342
- },
3343
- "prefix": {
3344
- "type": "string"
3345
- },
3346
- "containers": {
3347
- "type": "array",
3348
- "items": {
3349
- "$ref": "#/components/schemas/containerBackup"
3350
- }
3351
- },
3352
- "documentsCopied": {
3353
- "type": "integer",
3354
- "format": "int32"
3355
- },
3356
- "documentsBytes": {
3357
- "type": "integer",
3358
- "format": "int64"
3359
- },
3360
- "documentsFailures": {
3361
- "type": "integer",
3362
- "format": "int32"
3363
- },
3364
- "startedAt": {
3365
- "type": "string",
3366
- "format": "date-time"
3367
- },
3368
- "completedAt": {
3369
- "type": "string",
3370
- "format": "date-time"
3371
- }
3372
- }
3373
- },
3374
- "bulkDeleteJobError": {
3375
- "type": "object",
3376
- "properties": {
3377
- "jobId": {
3378
- "type": "string"
3379
- },
3380
- "message": {
3381
- "type": "string"
3382
- }
3383
- }
3384
- },
3385
- "bulkDeleteJobsRequest": {
3386
- "type": "object",
3387
- "properties": {
3388
- "jobIds": {
3389
- "type": "array",
3390
- "items": {
3391
- "type": "string"
3392
- }
3393
- }
3394
- }
3395
- },
3396
- "bulkDeleteJobsResponse": {
3397
- "type": "object",
3398
- "properties": {
3399
- "deleted": {
3400
- "type": "integer",
3401
- "format": "int32"
3402
- },
3403
- "errors": {
3404
- "type": "array",
3405
- "items": {
3406
- "$ref": "#/components/schemas/bulkDeleteJobError"
3407
- }
3408
- }
3409
- }
3410
- },
3411
- "consultantAnswers": {
3412
- "type": "object",
3413
- "properties": {
3414
- "consultantId": {
3415
- "type": "string",
3416
- "nullable": true
3417
- },
3418
- "email": {
3419
- "type": "string",
3420
- "nullable": true
3421
- },
3422
- "name": {
3423
- "type": "string",
3424
- "nullable": true
3425
- },
3426
- "generatedAt": {
3427
- "type": "string",
3428
- "format": "date-time",
3429
- "nullable": true
3430
- },
3431
- "filledDocumentId": {
3432
- "type": "string",
3433
- "nullable": true
3434
- }
3435
- }
3436
- },
3437
- "consultantMatch": {
3438
- "type": "object",
3439
- "properties": {
3440
- "consultantId": {
3441
- "type": "string",
3442
- "nullable": true
3443
- },
3444
- "businessId": {
3445
- "type": "string",
3446
- "nullable": true
3447
- },
3448
- "name": {
3449
- "type": "string",
3450
- "nullable": true
3451
- },
3452
- "fitScore": {
3453
- "type": "number",
3454
- "format": "double",
3455
- "nullable": true
3456
- },
3457
- "availabilityStatus": {
3458
- "type": "string",
3459
- "nullable": true
3460
- },
3461
- "availableFrom": {
3462
- "type": "string",
3463
- "nullable": true
3464
- },
3465
- "matchedTechnologies": {
3466
- "type": "array",
3467
- "items": {
3468
- "type": "string"
3469
- },
3470
- "nullable": true
3471
- },
3472
- "missingTechnologies": {
3473
- "type": "array",
3474
- "items": {
3475
- "type": "string"
3476
- },
3477
- "nullable": true
3478
- },
3479
- "selected": {
3480
- "type": "boolean",
3481
- "nullable": true
3482
- },
3483
- "fitExplanation": {
3484
- "type": "string",
3485
- "nullable": true
3486
- },
3487
- "cvSummary": {
3488
- "type": "string",
3489
- "nullable": true
3490
- },
3491
- "seniority": {
3492
- "type": "string",
3493
- "nullable": true
3494
- },
3495
- "email": {
3496
- "type": "string",
3497
- "nullable": true
3498
- },
3499
- "notifiedAt": {
3500
- "type": "string",
3501
- "format": "date-time",
3502
- "nullable": true
3503
- },
3504
- "consultantChannelNotifiedAt": {
3505
- "type": "string",
3506
- "format": "date-time",
3507
- "nullable": true
3508
- }
3509
- }
3510
- },
3511
- "consultantStatsResponse": {
3512
- "type": "object",
3513
- "properties": {
3514
- "total": {
3515
- "type": "integer",
3516
- "format": "int32"
3517
- },
3518
- "available": {
3519
- "type": "integer",
3520
- "format": "int32"
3521
- },
3522
- "onAssignment": {
3523
- "type": "integer",
3524
- "format": "int32"
3525
- },
3526
- "unknownAvailability": {
3527
- "type": "integer",
3528
- "format": "int32"
3529
- },
3530
- "avgFitScore": {
3531
- "type": "number",
3532
- "format": "double",
3533
- "nullable": true
3534
- }
3535
- }
3536
- },
3537
- "consultantSummary": {
3538
- "type": "object",
3539
- "properties": {
3540
- "userId": {
3541
- "type": "string",
3542
- "nullable": true
3543
- },
3544
- "email": {
3545
- "type": "string",
3546
- "nullable": true
3547
- },
3548
- "name": {
3549
- "type": "string",
3550
- "nullable": true
3551
- },
3552
- "technologies": {
3553
- "type": "array",
3554
- "items": {
3555
- "type": "string"
3556
- },
3557
- "nullable": true
3558
- },
3559
- "roles": {
3560
- "type": "array",
3561
- "items": {
3562
- "type": "string"
3563
- },
3564
- "nullable": true
3565
- },
3566
- "yearsExperience": {
3567
- "type": "integer",
3568
- "format": "int32",
3569
- "nullable": true
3570
- }
3571
- }
3572
- },
3573
- "containerBackup": {
3574
- "type": "object",
3575
- "properties": {
3576
- "name": {
3577
- "type": "string"
3578
- },
3579
- "blobPath": {
3580
- "type": "string"
3581
- },
3582
- "itemCount": {
3583
- "type": "integer",
3584
- "format": "int32"
3585
- },
3586
- "compressedBytes": {
3587
- "type": "integer",
3588
- "format": "int64"
3589
- }
3590
- }
3591
- },
3592
- "crawlActivityResponse": {
3593
- "type": "object",
3594
- "properties": {
3595
- "items": {
3596
- "type": "array",
3597
- "items": {
3598
- "$ref": "#/components/schemas/agentJob"
3599
- }
3600
- },
3601
- "total": {
3602
- "type": "integer",
3603
- "format": "int32"
3604
- }
3605
- }
3606
- },
3607
- "crawledNotice": {
3608
- "type": "object",
3609
- "properties": {
3610
- "sourceName": {
3611
- "type": "string"
3612
- },
3613
- "id": {
3614
- "type": "string"
3615
- },
3616
- "title": {
3617
- "type": "string"
3618
- },
3619
- "url": {
3620
- "type": "string"
3621
- }
3622
- }
3623
- },
3624
- "crawlPattern": {
3625
- "type": "object",
3626
- "properties": {
3627
- "sourceName": {
3628
- "type": "string"
3629
- },
3630
- "detailUrlRegex": {
3631
- "type": "string"
3632
- },
3633
- "paginationUrlRegex": {
3634
- "type": "string"
3635
- },
3636
- "sampleCount": {
3637
- "type": "integer",
3638
- "format": "int32"
3639
- },
3640
- "bootstrappedAt": {
3641
- "type": "string",
3642
- "format": "date-time"
3643
- }
3644
- }
3645
- },
3646
- "crawlPreviewResponse": {
3647
- "type": "object",
3648
- "properties": {
3649
- "sourceName": {
3650
- "type": "string"
3651
- },
3652
- "notices": {
3653
- "type": "array",
3654
- "items": {
3655
- "$ref": "#/components/schemas/crawledNotice"
3656
- }
3657
- },
3658
- "pattern": {
3659
- "$ref": "#/components/schemas/crawlPattern"
3660
- },
3661
- "startedAt": {
3662
- "type": "string",
3663
- "format": "date-time"
3664
- },
3665
- "finishedAt": {
3666
- "type": "string",
3667
- "format": "date-time"
3668
- },
3669
- "warnings": {
3670
- "type": "array",
3671
- "items": {
3672
- "type": "string"
3673
- }
3674
- }
3675
- }
3676
- },
3677
- "crawlScanResponse": {
3678
- "type": "object",
3679
- "properties": {
3680
- "sourceName": {
3681
- "type": "string"
3682
- },
3683
- "discovered": {
3684
- "type": "integer",
3685
- "format": "int32"
3686
- },
3687
- "queued": {
3688
- "type": "integer",
3689
- "format": "int32"
3690
- },
3691
- "merged": {
3692
- "type": "integer",
3693
- "format": "int32"
3694
- }
3695
- }
3696
- },
3697
- "crawlSourceConfig": {
3698
- "type": "object",
3699
- "properties": {
3700
- "name": {
3701
- "type": "string"
3702
- },
3703
- "seedUrl": {
3704
- "type": "string"
3705
- },
3706
- "maxPages": {
3707
- "type": "integer",
3708
- "format": "int32"
3709
- },
3710
- "enabled": {
3711
- "type": "boolean"
3712
- },
3713
- "createdAt": {
3714
- "type": "string",
3715
- "format": "date-time"
3716
- },
3717
- "updatedAt": {
3718
- "type": "string",
3719
- "format": "date-time"
3720
- }
3721
- }
3722
- },
3723
- "crawlSourceUpsertRequest": {
3724
- "type": "object",
3725
- "properties": {
3726
- "seedUrl": {
3727
- "type": "string"
3728
- },
3729
- "maxPages": {
3730
- "type": "integer",
3731
- "format": "int32",
3732
- "nullable": true
3733
- },
3734
- "enabled": {
3735
- "type": "boolean",
3736
- "nullable": true
3737
- }
3738
- }
3739
- },
3740
- "crawlSourceWithPattern": {
3741
- "type": "object",
3742
- "properties": {
3743
- "source": {
3744
- "$ref": "#/components/schemas/crawlSourceConfig"
3745
- },
3746
- "pattern": {
3747
- "$ref": "#/components/schemas/crawlPattern"
3748
- },
3749
- "lastActivityAt": {
3750
- "type": "string",
3751
- "format": "date-time",
3752
- "nullable": true
3753
- }
3754
- }
3755
- },
3756
- "crawlStatsResponse": {
3757
- "type": "object",
3758
- "properties": {
3759
- "sourceCount": {
3760
- "type": "integer",
3761
- "format": "int32"
3762
- },
3763
- "enabledSourceCount": {
3764
- "type": "integer",
3765
- "format": "int32"
3766
- },
3767
- "tendersActive": {
3768
- "type": "integer",
3769
- "format": "int32"
3770
- },
3771
- "tendersIrrelevant": {
3772
- "type": "integer",
3773
- "format": "int32"
3774
- },
3775
- "tendersIngestionFailed": {
3776
- "type": "integer",
3777
- "format": "int32"
3778
- },
3779
- "jobsPending": {
3780
- "type": "integer",
3781
- "format": "int32"
3782
- },
3783
- "jobsRunning": {
3784
- "type": "integer",
3785
- "format": "int32"
3786
- },
3787
- "jobsCompleted": {
3788
- "type": "integer",
3789
- "format": "int32"
3790
- },
3791
- "jobsFailed": {
3792
- "type": "integer",
3793
- "format": "int32"
3794
- },
3795
- "sources": {
3796
- "type": "array",
3797
- "items": {
3798
- "$ref": "#/components/schemas/sourceSummary"
3799
- }
3800
- }
3801
- }
3802
- },
3803
- "createBackupRequest": {
3804
- "type": "object",
3805
- "properties": {
3806
- "includeDocuments": {
3807
- "type": "boolean"
3808
- }
3809
- }
3810
- },
3811
- "crmOpportunity": {
3812
- "type": "object",
3813
- "properties": {
3814
- "id": {
3815
- "type": "string"
3816
- },
3817
- "name": {
3818
- "type": "string"
3819
- },
3820
- "stage": {
3821
- "type": "string"
3822
- },
3823
- "closeDate": {
3824
- "type": "string",
3825
- "format": "date-time",
3826
- "nullable": true
3827
- },
3828
- "isClosed": {
3829
- "type": "boolean"
3830
- },
3831
- "isWon": {
3832
- "type": "boolean"
3833
- },
3834
- "amount": {
3835
- "type": "number",
3836
- "format": "double",
3837
- "nullable": true
3838
- },
3839
- "account": {
3840
- "$ref": "#/components/schemas/crmParty"
3841
- },
3842
- "owner": {
3843
- "$ref": "#/components/schemas/crmParty"
3844
- },
3845
- "tenderId": {
3846
- "type": "string"
3847
- },
3848
- "locator": {
3849
- "$ref": "#/components/schemas/crmRecordLocator"
3850
- }
3851
- }
3852
- },
3853
- "crmParty": {
3854
- "type": "object",
3855
- "properties": {
3856
- "id": {
3857
- "type": "string"
3858
- },
3859
- "name": {
3860
- "type": "string"
3861
- },
3862
- "email": {
3863
- "type": "string"
3864
- }
3865
- }
3866
- },
3867
- "crmRecordLocator": {
3868
- "type": "object",
3869
- "properties": {
3870
- "type": {
3871
- "type": "string"
3872
- },
3873
- "url": {
3874
- "type": "string"
3875
- }
3876
- }
3877
- },
3878
- "crmRefreshResult": {
3879
- "type": "object",
3880
- "properties": {
3881
- "checked": {
3882
- "type": "integer",
3883
- "format": "int32"
3884
- },
3885
- "updated": {
3886
- "type": "integer",
3887
- "format": "int32"
3888
- }
3889
- }
3890
- },
3891
- "crmStage": {
3892
- "type": "object",
3893
- "properties": {
3894
- "label": {
3895
- "type": "string"
3896
- },
3897
- "apiName": {
3898
- "type": "string"
3899
- },
3900
- "isActive": {
3901
- "type": "boolean"
3902
- },
3903
- "isClosed": {
3904
- "type": "boolean"
3905
- },
3906
- "isWon": {
3907
- "type": "boolean"
3908
- },
3909
- "sortOrder": {
3910
- "type": "integer",
3911
- "format": "int32",
3912
- "nullable": true
3913
- }
3914
- }
3915
- },
3916
- "deleteFailedTendersResponse": {
3917
- "type": "object",
3918
- "properties": {
3919
- "sourceName": {
3920
- "type": "string"
3921
- },
3922
- "matched": {
3923
- "type": "integer",
3924
- "format": "int32"
3925
- },
3926
- "deleted": {
3927
- "type": "integer",
3928
- "format": "int32"
3929
- }
3930
- }
3931
- },
3932
- "discoverListingRequest": {
3933
- "type": "object",
3934
- "properties": {
3935
- "homeUrl": {
3936
- "type": "string"
3937
- }
3938
- }
3939
- },
3940
- "discoverListingResponse": {
3941
- "type": "object",
3942
- "properties": {
3943
- "candidates": {
3944
- "type": "array",
3945
- "items": {
3946
- "$ref": "#/components/schemas/listingCandidate"
3947
- }
3948
- }
3949
- }
3950
- },
3951
- "externalSourceRef": {
3952
- "type": "object",
3953
- "properties": {
3954
- "system": {
3955
- "type": "string",
3956
- "nullable": true
3957
- },
3958
- "externalId": {
3959
- "type": "string",
3960
- "nullable": true
3961
- },
3962
- "url": {
3963
- "type": "string",
3964
- "nullable": true
3965
- },
3966
- "discoveredAt": {
3967
- "type": "string",
3968
- "format": "date-time",
3969
- "nullable": true
3970
- }
3971
- }
3972
- },
3973
- "extractedQuestion": {
3974
- "type": "object",
3975
- "properties": {
3976
- "id": {
3977
- "type": "string",
3978
- "nullable": true
3979
- },
3980
- "text": {
3981
- "type": "string",
3982
- "nullable": true
3983
- },
3984
- "kind": {
3985
- "type": "string",
3986
- "nullable": true
3987
- },
3988
- "expectedAnswerShape": {
3989
- "type": "string",
3990
- "nullable": true
3991
- },
3992
- "section": {
3993
- "type": "string",
3994
- "nullable": true
3995
- },
3996
- "sourceExcerpt": {
3997
- "type": "string",
3998
- "nullable": true
3999
- },
4000
- "placeholder": {
4001
- "type": "string",
4002
- "nullable": true
4003
- },
4004
- "currentValue": {
4005
- "type": "string",
4006
- "nullable": true
4007
- },
4008
- "sourceStrategy": {
4009
- "type": "string",
4010
- "nullable": true
4011
- },
4012
- "suggestedDataSource": {
4013
- "type": "string",
4014
- "nullable": true
4015
- },
4016
- "location": {
4017
- "$ref": "#/components/schemas/questionLocation"
4018
- }
4019
- }
4020
- },
4021
- "extractedQuestionSet": {
4022
- "type": "object",
4023
- "properties": {
4024
- "isFillable": {
4025
- "type": "boolean",
4026
- "nullable": true
4027
- },
4028
- "questions": {
4029
- "type": "array",
4030
- "items": {
4031
- "$ref": "#/components/schemas/extractedQuestion"
4032
- },
4033
- "nullable": true
4034
- },
4035
- "extractedAt": {
4036
- "type": "string",
4037
- "format": "date-time",
4038
- "nullable": true
4039
- }
4040
- },
4041
- "nullable": true
4042
- },
4043
- "funnelResponse": {
4044
- "type": "object",
4045
- "properties": {
4046
- "windowDays": {
4047
- "type": "integer",
4048
- "format": "int32"
4049
- },
4050
- "countByStage": {
4051
- "type": "object",
4052
- "additionalProperties": {
4053
- "type": "integer",
4054
- "format": "int32"
4055
- }
4056
- },
4057
- "conversionRates": {
4058
- "type": "object",
4059
- "additionalProperties": {
4060
- "type": "number",
4061
- "format": "double"
4062
- }
4063
- },
4064
- "avgCycleDays": {
4065
- "type": "object",
4066
- "additionalProperties": {
4067
- "type": "number",
4068
- "format": "double"
4069
- }
4070
- },
4071
- "wonCount": {
4072
- "type": "integer",
4073
- "format": "int32"
4074
- },
4075
- "lostCount": {
4076
- "type": "integer",
4077
- "format": "int32"
4078
- },
4079
- "winRatePct": {
4080
- "type": "number",
4081
- "format": "double",
4082
- "nullable": true
4083
- },
4084
- "stageTransitionsInWindow": {
4085
- "type": "object",
4086
- "additionalProperties": {
4087
- "type": "integer",
4088
- "format": "int32"
4089
- }
4090
- }
4091
- }
4092
- },
4093
- "ingestionAttachment": {
4094
- "type": "object",
4095
- "properties": {
4096
- "name": {
4097
- "type": "string",
4098
- "nullable": true
4099
- },
4100
- "contentType": {
4101
- "type": "string",
4102
- "nullable": true
4103
- },
4104
- "blobPath": {
4105
- "type": "string",
4106
- "nullable": true
4107
- },
4108
- "sizeBytes": {
4109
- "type": "integer",
4110
- "format": "int64",
4111
- "nullable": true
4112
- }
4113
- }
4114
- },
4115
- "ingestionRequest": {
4116
- "type": "object",
4117
- "properties": {
4118
- "sourceType": {
4119
- "type": "string",
4120
- "nullable": true
4121
- },
4122
- "content": {
4123
- "type": "string",
4124
- "nullable": true
4125
- },
4126
- "title": {
4127
- "type": "string",
4128
- "nullable": true
4129
- },
4130
- "existingTenderId": {
4131
- "type": "string",
4132
- "nullable": true
4133
- },
4134
- "externalId": {
4135
- "type": "string",
4136
- "nullable": true
4137
- },
4138
- "attachments": {
4139
- "type": "array",
4140
- "items": {
4141
- "$ref": "#/components/schemas/ingestionAttachment"
4142
- },
4143
- "nullable": true
4144
- }
4145
- }
4146
- },
4147
- "integrationHealthResult": {
4148
- "type": "object",
4149
- "properties": {
4150
- "key": {
4151
- "type": "string"
4152
- },
4153
- "status": {
4154
- "type": "string"
4155
- },
4156
- "message": {
4157
- "type": "string"
4158
- }
4159
- }
4160
- },
4161
- "listingCandidate": {
4162
- "type": "object",
4163
- "properties": {
4164
- "url": {
4165
- "type": "string"
4166
- },
4167
- "label": {
4168
- "type": "string"
4169
- },
4170
- "confidence": {
4171
- "type": "number",
4172
- "format": "double"
4173
- }
4174
- }
4175
- },
4176
- "negotiateRequest": {
4177
- "type": "object",
4178
- "properties": {
4179
- "groups": {
4180
- "type": "array",
4181
- "items": {
4182
- "type": "string"
4183
- }
4184
- }
4185
- }
4186
- },
4187
- "negotiateResponse": {
4188
- "type": "object",
4189
- "properties": {
4190
- "url": {
4191
- "type": "string"
4192
- },
4193
- "accessToken": {
4194
- "type": "string"
4195
- },
4196
- "hubName": {
4197
- "type": "string"
4198
- },
4199
- "groups": {
4200
- "type": "array",
4201
- "items": {
4202
- "type": "string"
4203
- }
4204
- }
4205
- }
4206
- },
4207
- "patchDocumentRequest": {
4208
- "type": "object",
4209
- "properties": {
4210
- "isCompetenceMatrixSource": {
4211
- "type": "boolean",
4212
- "nullable": true
4213
- }
4214
- }
4215
- },
4216
- "patchDocumentResponse": {
4217
- "type": "object",
4218
- "properties": {
4219
- "document": {
4220
- "$ref": "#/components/schemas/tenderDocument"
4221
- },
4222
- "extractionJob": {
4223
- "$ref": "#/components/schemas/agentJob"
4224
- }
4225
- }
4226
- },
4227
- "questionFillRequest": {
4228
- "type": "object",
4229
- "properties": {
4230
- "consultantEmails": {
4231
- "type": "array",
4232
- "items": {
4233
- "type": "string"
4234
- },
4235
- "nullable": true
4236
- }
4237
- }
4238
- },
4239
- "questionLocation": {
4240
- "type": "object",
4241
- "properties": {
4242
- "xmlPart": {
4243
- "type": "string",
4244
- "nullable": true
4245
- },
4246
- "bodyIndex": {
4247
- "type": "integer",
4248
- "format": "int32",
4249
- "nullable": true
4250
- },
4251
- "tableIndex": {
4252
- "type": "integer",
4253
- "format": "int32",
4254
- "nullable": true
4255
- },
4256
- "rowIndex": {
4257
- "type": "integer",
4258
- "format": "int32",
4259
- "nullable": true
4260
- },
4261
- "colIndex": {
4262
- "type": "integer",
4263
- "format": "int32",
4264
- "nullable": true
4265
- },
4266
- "sdtId": {
4267
- "type": "string",
4268
- "nullable": true
4269
- },
4270
- "sheetName": {
4271
- "type": "string",
4272
- "nullable": true
4273
- },
4274
- "cellReference": {
4275
- "type": "string",
4276
- "nullable": true
4277
- }
4278
- },
4279
- "nullable": true
4280
- },
4281
- "sendTenderSlackMessageRequest": {
4282
- "type": "object",
4283
- "properties": {
4284
- "employeeName": {
4285
- "type": "string",
4286
- "nullable": true
4287
- },
4288
- "message": {
4289
- "type": "string",
4290
- "nullable": true
4291
- }
4292
- }
4293
- },
4294
- "sourceFile": {
4295
- "type": "object",
4296
- "properties": {
4297
- "name": {
4298
- "type": "string",
4299
- "nullable": true
4300
- },
4301
- "url": {
4302
- "type": "string",
4303
- "nullable": true
4304
- }
4305
- }
4306
- },
4307
- "sourceSummary": {
4308
- "type": "object",
4309
- "properties": {
4310
- "name": {
4311
- "type": "string"
4312
- },
4313
- "seedUrl": {
4314
- "type": "string"
4315
- },
4316
- "enabled": {
4317
- "type": "boolean"
4318
- },
4319
- "hasPattern": {
4320
- "type": "boolean"
4321
- },
4322
- "patternSampleCount": {
4323
- "type": "integer",
4324
- "format": "int32"
4325
- },
4326
- "patternBootstrappedAt": {
4327
- "type": "string",
4328
- "format": "date-time",
4329
- "nullable": true
4330
- }
4331
- }
4332
- },
4333
- "tenderAudit": {
4334
- "type": "object",
4335
- "properties": {
4336
- "createdAt": {
4337
- "type": "string",
4338
- "format": "date-time",
4339
- "nullable": true
4340
- },
4341
- "updatedAt": {
4342
- "type": "string",
4343
- "format": "date-time",
4344
- "nullable": true
4345
- },
4346
- "updatedBy": {
4347
- "type": "string",
4348
- "nullable": true
4349
- }
4350
- },
4351
- "nullable": true
4352
- },
4353
- "tenderClassification": {
4354
- "type": "object",
4355
- "properties": {
4356
- "technologies": {
4357
- "type": "array",
4358
- "items": {
4359
- "type": "string"
4360
- },
4361
- "nullable": true
4362
- },
4363
- "competenceAreas": {
4364
- "type": "array",
4365
- "items": {
4366
- "type": "string"
4367
- },
4368
- "nullable": true
4369
- },
4370
- "domains": {
4371
- "type": "array",
4372
- "items": {
4373
- "type": "string"
4374
- },
4375
- "nullable": true
4376
- },
4377
- "languageRequirements": {
4378
- "type": "array",
4379
- "items": {
4380
- "type": "string"
4381
- },
4382
- "nullable": true
4383
- },
4384
- "seniorityRequirements": {
4385
- "type": "array",
4386
- "items": {
4387
- "type": "string"
4388
- },
4389
- "nullable": true
4390
- },
4391
- "securityRequirements": {
4392
- "type": "array",
4393
- "items": {
4394
- "type": "string"
4395
- },
4396
- "nullable": true
4397
- }
4398
- },
4399
- "nullable": true
4400
- },
4401
- "tenderCvProposal": {
4402
- "type": "object",
4403
- "properties": {
4404
- "proposalId": {
4405
- "type": "string",
4406
- "nullable": true
4407
- },
4408
- "createdAt": {
4409
- "type": "string",
4410
- "format": "date-time",
4411
- "nullable": true
4412
- },
4413
- "createdBy": {
4414
- "type": "string",
4415
- "nullable": true
4416
- },
4417
- "variants": {
4418
- "type": "array",
4419
- "items": {
4420
- "$ref": "#/components/schemas/tenderCvVariant"
4421
- },
4422
- "nullable": true
4423
- }
4424
- }
4425
- },
4426
- "tenderCvVariant": {
4427
- "type": "object",
4428
- "properties": {
4429
- "consultantEmail": {
4430
- "type": "string",
4431
- "nullable": true
4432
- },
4433
- "consultantName": {
4434
- "type": "string",
4435
- "nullable": true
4436
- },
4437
- "userId": {
4438
- "type": "string",
4439
- "nullable": true
4440
- },
4441
- "tailoredCvId": {
4442
- "type": "string",
4443
- "nullable": true
4444
- },
4445
- "attachmentId": {
4446
- "type": "string",
4447
- "nullable": true
4448
- },
4449
- "createdAt": {
4450
- "type": "string",
4451
- "format": "date-time",
4452
- "nullable": true
4453
- }
4454
- }
4455
- },
4456
- "tenderDates": {
4457
- "type": "object",
4458
- "properties": {
4459
- "foundAt": {
4460
- "type": "string",
4461
- "format": "date-time",
4462
- "nullable": true
4463
- },
4464
- "publishedAt": {
4465
- "type": "string",
4466
- "format": "date-time",
4467
- "nullable": true
4468
- },
4469
- "deadlineAt": {
4470
- "type": "string",
4471
- "format": "date-time",
4472
- "nullable": true
4473
- },
4474
- "lastUpdatedAt": {
4475
- "type": "string",
4476
- "format": "date-time",
4477
- "nullable": true
4478
- }
4479
- },
4480
- "nullable": true
4481
- },
4482
- "tenderDocument": {
4483
- "type": "object",
4484
- "properties": {
4485
- "id": {
4486
- "type": "string",
4487
- "nullable": true
4488
- },
4489
- "type": {
4490
- "type": "string",
4491
- "nullable": true
4492
- },
4493
- "title": {
4494
- "type": "string",
4495
- "nullable": true
4496
- },
4497
- "consultantId": {
4498
- "type": "string",
4499
- "nullable": true
4500
- },
4501
- "status": {
4502
- "type": "string",
4503
- "nullable": true
4504
- },
4505
- "reviewStatus": {
4506
- "type": "string",
4507
- "nullable": true
4508
- },
4509
- "sharepointUrl": {
4510
- "type": "string",
4511
- "nullable": true
4512
- },
4513
- "generatedAt": {
4514
- "type": "string",
4515
- "format": "date-time",
4516
- "nullable": true
4517
- },
4518
- "lastReviewedAt": {
4519
- "type": "string",
4520
- "format": "date-time",
4521
- "nullable": true
4522
- },
4523
- "blobPath": {
4524
- "type": "string",
4525
- "nullable": true
4526
- },
4527
- "blobUrl": {
4528
- "type": "string",
4529
- "nullable": true
4530
- },
4531
- "sourceUrl": {
4532
- "type": "string",
4533
- "nullable": true
4534
- },
4535
- "mimeType": {
4536
- "type": "string",
4537
- "nullable": true
4538
- },
4539
- "sizeBytes": {
4540
- "type": "integer",
4541
- "format": "int64",
4542
- "nullable": true
4543
- },
4544
- "downloadedAt": {
4545
- "type": "string",
4546
- "format": "date-time",
4547
- "nullable": true
4548
- },
4549
- "textContent": {
4550
- "type": "string",
4551
- "nullable": true
4552
- },
4553
- "isCompetenceMatrixSource": {
4554
- "type": "boolean",
4555
- "nullable": true
4556
- },
4557
- "classificationReasoning": {
4558
- "type": "string",
4559
- "nullable": true
4560
- },
4561
- "extractedQuestions": {
4562
- "$ref": "#/components/schemas/extractedQuestionSet"
4563
- },
4564
- "questionAnswers": {
4565
- "type": "array",
4566
- "items": {
4567
- "$ref": "#/components/schemas/consultantAnswers"
4568
- },
4569
- "nullable": true
4570
- },
4571
- "extractionStatus": {
4572
- "type": "string",
4573
- "nullable": true
4574
- },
4575
- "extractionError": {
4576
- "type": "string",
4577
- "nullable": true
4578
- },
4579
- "extractionStartedAt": {
4580
- "type": "string",
4581
- "format": "date-time",
4582
- "nullable": true
4583
- }
4584
- }
4585
- },
4586
- "tenderInfo": {
4587
- "type": "object",
4588
- "properties": {
4589
- "title": {
4590
- "type": "string",
4591
- "nullable": true
4592
- },
4593
- "customer": {
4594
- "type": "string",
4595
- "nullable": true
4596
- },
4597
- "country": {
4598
- "type": "string",
4599
- "nullable": true
4600
- },
4601
- "location": {
4602
- "type": "string",
4603
- "nullable": true
4604
- },
4605
- "workMode": {
4606
- "type": "string",
4607
- "nullable": true
4608
- }
4609
- },
4610
- "nullable": true
4611
- },
4612
- "tenderParser": {
4613
- "type": "object",
4614
- "properties": {
4615
- "lastRunAt": {
4616
- "type": "string",
4617
- "format": "date-time",
4618
- "nullable": true
4619
- },
4620
- "status": {
4621
- "type": "string",
4622
- "nullable": true
4623
- },
4624
- "version": {
4625
- "type": "string",
4626
- "nullable": true
4627
- },
4628
- "confidence": {
4629
- "type": "number",
4630
- "format": "double",
4631
- "nullable": true
4632
- },
4633
- "warnings": {
4634
- "type": "array",
4635
- "items": {
4636
- "type": "string"
4637
- },
4638
- "nullable": true
4639
- }
4640
- },
4641
- "nullable": true
4642
- },
4643
- "tenderSalesforce": {
4644
- "type": "object",
4645
- "properties": {
4646
- "opportunityId": {
4647
- "type": "string",
4648
- "nullable": true
4649
- },
4650
- "stageName": {
4651
- "type": "string",
4652
- "nullable": true
4653
- },
4654
- "isClosed": {
4655
- "type": "boolean",
4656
- "nullable": true
4657
- },
4658
- "isWon": {
4659
- "type": "boolean",
4660
- "nullable": true
4661
- },
4662
- "url": {
4663
- "type": "string",
4664
- "nullable": true
4665
- },
4666
- "lastSyncedAt": {
4667
- "type": "string",
4668
- "format": "date-time",
4669
- "nullable": true
4670
- }
4671
- },
4672
- "nullable": true
4673
- },
4674
- "tenderSource": {
4675
- "type": "object",
4676
- "properties": {
4677
- "externalTenderId": {
4678
- "type": "string",
4679
- "nullable": true
4680
- },
4681
- "sourceSystem": {
4682
- "type": "string",
4683
- "nullable": true
4684
- },
4685
- "sourceUrl": {
4686
- "type": "string",
4687
- "nullable": true
4688
- },
4689
- "sourceFiles": {
4690
- "type": "array",
4691
- "items": {
4692
- "$ref": "#/components/schemas/sourceFile"
4693
- },
4694
- "nullable": true
4695
- },
4696
- "additionalSources": {
4697
- "type": "array",
4698
- "items": {
4699
- "$ref": "#/components/schemas/externalSourceRef"
4700
- },
4701
- "nullable": true
4702
- }
4703
- },
4704
- "nullable": true
4705
- },
4706
- "tenderStatsResponse": {
4707
- "type": "object",
4708
- "properties": {
4709
- "byStatus": {
4710
- "type": "object",
4711
- "additionalProperties": {
4712
- "type": "integer",
4713
- "format": "int32"
4714
- }
4715
- },
4716
- "byStage": {
4717
- "type": "object",
4718
- "additionalProperties": {
4719
- "type": "integer",
4720
- "format": "int32"
4721
- }
4722
- },
4723
- "byHealth": {
4724
- "type": "object",
4725
- "additionalProperties": {
4726
- "type": "integer",
4727
- "format": "int32"
4728
- }
4729
- },
4730
- "total": {
4731
- "type": "integer",
4732
- "format": "int32"
4733
- },
4734
- "windowDays": {
4735
- "type": "integer",
4736
- "format": "int32"
4737
- },
4738
- "tendersInWindow": {
4739
- "type": "integer",
4740
- "format": "int32"
4741
- },
4742
- "consultantsMatched": {
4743
- "type": "integer",
4744
- "format": "int32"
4745
- },
4746
- "avgTimeToMatchHours": {
4747
- "type": "number",
4748
- "format": "double",
4749
- "nullable": true
4750
- }
4751
- }
4752
- },
4753
- "tenderStatus": {
4754
- "type": "object",
4755
- "properties": {
4756
- "stage": {
4757
- "type": "string",
4758
- "nullable": true
4759
- },
4760
- "state": {
4761
- "type": "string",
4762
- "nullable": true
4763
- },
4764
- "health": {
4765
- "type": "string",
4766
- "nullable": true
4767
- }
4768
- },
4769
- "nullable": true
4770
- },
4771
- "tenderTodo": {
4772
- "type": "object",
4773
- "properties": {
4774
- "id": {
4775
- "type": "string",
4776
- "nullable": true
4777
- },
4778
- "title": {
4779
- "type": "string",
4780
- "nullable": true
4781
- },
4782
- "description": {
4783
- "type": "string",
4784
- "nullable": true
4785
- },
4786
- "source": {
4787
- "type": "string",
4788
- "nullable": true
4789
- },
4790
- "category": {
4791
- "type": "string",
4792
- "nullable": true
4793
- },
4794
- "priority": {
4795
- "type": "string",
4796
- "nullable": true
4797
- },
4798
- "status": {
4799
- "type": "string",
4800
- "nullable": true
4801
- },
4802
- "assignedTo": {
4803
- "type": "string",
4804
- "nullable": true
4805
- },
4806
- "dueAt": {
4807
- "type": "string",
4808
- "format": "date-time",
4809
- "nullable": true
4810
- },
4811
- "completedAt": {
4812
- "type": "string",
4813
- "format": "date-time",
4814
- "nullable": true
4815
- }
4816
- }
4817
- },
4818
- "tenderView": {
4819
- "type": "object",
4820
- "properties": {
4821
- "id": {
4822
- "type": "string",
4823
- "nullable": true
4824
- },
4825
- "type": {
4826
- "type": "string",
4827
- "nullable": true
4828
- },
4829
- "slug": {
4830
- "type": "string",
4831
- "nullable": true
4832
- },
4833
- "source": {
4834
- "$ref": "#/components/schemas/tenderSource"
4835
- },
4836
- "info": {
4837
- "$ref": "#/components/schemas/tenderInfo"
4838
- },
4839
- "dates": {
4840
- "$ref": "#/components/schemas/tenderDates"
4841
- },
4842
- "status": {
4843
- "$ref": "#/components/schemas/tenderStatus"
4844
- },
4845
- "classification": {
4846
- "$ref": "#/components/schemas/tenderClassification"
4847
- },
4848
- "parser": {
4849
- "$ref": "#/components/schemas/tenderParser"
4850
- },
4851
- "todos": {
4852
- "type": "array",
4853
- "items": {
4854
- "$ref": "#/components/schemas/tenderTodo"
4855
- },
4856
- "nullable": true
4857
- },
4858
- "documents": {
4859
- "type": "array",
4860
- "items": {
4861
- "$ref": "#/components/schemas/tenderDocument"
4862
- },
4863
- "nullable": true
4864
- },
4865
- "businessIds": {
4866
- "type": "array",
4867
- "items": {
4868
- "type": "string"
4869
- },
4870
- "nullable": true
4871
- },
4872
- "consultantMatches": {
4873
- "type": "array",
4874
- "items": {
4875
- "$ref": "#/components/schemas/consultantMatch"
4876
- },
4877
- "nullable": true
4878
- },
4879
- "assignedConsultants": {
4880
- "type": "array",
4881
- "items": {
4882
- "$ref": "#/components/schemas/assignedConsultant"
4883
- },
4884
- "nullable": true
4885
- },
4886
- "cvProposal": {
4887
- "$ref": "#/components/schemas/tenderCvProposal"
4888
- },
4889
- "audit": {
4890
- "$ref": "#/components/schemas/tenderAudit"
4891
- },
4892
- "description": {
4893
- "type": "string",
4894
- "nullable": true
4895
- },
4896
- "summary": {
4897
- "type": "string",
4898
- "nullable": true
4899
- },
4900
- "timeline": {
4901
- "type": "array",
4902
- "items": {
4903
- "$ref": "#/components/schemas/timelineEvent"
4904
- },
4905
- "nullable": true
4906
- },
4907
- "blobContainer": {
4908
- "type": "string",
4909
- "nullable": true
4910
- },
4911
- "salesforce": {
4912
- "$ref": "#/components/schemas/tenderSalesforce"
4913
- }
4914
- }
4915
- },
4916
- "timelineEvent": {
4917
- "type": "object",
4918
- "properties": {
4919
- "id": {
4920
- "type": "string",
4921
- "nullable": true
4922
- },
4923
- "title": {
4924
- "type": "string",
4925
- "nullable": true
4926
- },
4927
- "description": {
4928
- "type": "string",
4929
- "nullable": true
4930
- },
4931
- "dueAt": {
4932
- "type": "string",
4933
- "format": "date-time",
4934
- "nullable": true
4935
- },
4936
- "category": {
4937
- "type": "string",
4938
- "nullable": true
4939
- },
4940
- "mandatory": {
4941
- "type": "boolean",
4942
- "nullable": true
4943
- },
4944
- "status": {
4945
- "type": "string",
4946
- "nullable": true
4947
- }
4948
- }
4949
- },
4950
- "updateSalesforceStageRequest": {
4951
- "type": "object",
4952
- "properties": {
4953
- "stageName": {
4954
- "type": "string"
4955
- }
4956
- }
4957
- },
4958
- "zombieReapResult": {
4959
- "type": "object",
4960
- "properties": {
4961
- "scanned": {
4962
- "type": "integer",
4963
- "format": "int32"
4964
- },
4965
- "reaped": {
4966
- "type": "integer",
4967
- "format": "int32"
4968
- },
4969
- "reapedJobIds": {
4970
- "type": "array",
4971
- "items": {
4972
- "type": "string"
4973
- }
4974
- }
4975
- }
4976
- }
4977
- },
4978
- "securitySchemes": {
4979
- "Implicit": {
4980
- "type": "oauth2",
4981
- "flows": {
4982
- "implicit": {
4983
- "authorizationUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
4984
- "tokenUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
4985
- "refreshUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
4986
- "scopes": {
4987
- "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default": "Default function scope"
4988
- }
4989
- }
4990
- }
4991
- },
4992
- "ApiKey": {
4993
- "type": "http",
4994
- "scheme": "bearer",
4995
- "bearerFormat": "JWT"
4996
- }
4997
- }
4998
- }
4999
- }