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