@cryptotaxi247 / CoPilot / commits / d42d1e71

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.