]> git.proxmox.com Git - pmg-docs.git/blame - api-viewer/apidata.js
update installer scrots, add summary one
[pmg-docs.git] / api-viewer / apidata.js
CommitLineData
410dc2c9
DM
1var pmgapi = [
2 {
3 "children" : [
4 {
5 "children" : [
d7cd791b
DM
6 {
7 "info" : {
8 "GET" : {
9 "description" : "Returns the rule database digest. This is used internally for cluster synchronization.",
10 "method" : "GET",
11 "name" : "ruledb_digest",
12 "parameters" : {
13 "additionalProperties" : 0
14 },
732d76e1
DM
15 "permissions" : {
16 "check" : [
17 "admin",
18 "audit"
19 ]
20 },
d7cd791b
DM
21 "returns" : {
22 "type" : "string"
23 }
24 }
25 },
26 "leaf" : 1,
27 "path" : "/config/ruledb/digest",
28 "text" : "digest"
29 },
410dc2c9 30 {
f245a28c
DM
31 "children" : [
32 {
33 "children" : [
34 {
35 "info" : {
36 "GET" : {
37 "description" : "Get common rule properties.",
38 "method" : "GET",
39 "name" : "config",
40 "parameters" : {
41 "additionalProperties" : 0,
42 "properties" : {
43 "id" : {
44 "description" : "Rule ID.",
45 "type" : "integer",
46 "typetext" : "<integer>"
47 }
48 }
49 },
732d76e1
DM
50 "permissions" : {
51 "check" : [
52 "admin",
53 "audit"
54 ]
55 },
f245a28c
DM
56 "proxyto" : "master",
57 "returns" : {
58 "properties" : {
59 "active" : {
60 "type" : "boolean"
61 },
62 "direction" : {
63 "type" : "integer"
64 },
65 "id" : {
66 "type" : "integer"
67 },
68 "name" : {
69 "type" : "string"
70 },
71 "priority" : {
72 "type" : "integer"
73 }
74 },
75 "type" : "object"
76 }
77 },
78 "PUT" : {
79 "description" : "Set rule properties.",
80 "method" : "PUT",
81 "name" : "update_config",
82 "parameters" : {
83 "additionalProperties" : 0,
84 "properties" : {
85 "active" : {
86 "description" : "Flag to activate rule.",
87 "optional" : 1,
88 "type" : "boolean",
89 "typetext" : "<boolean>"
90 },
91 "direction" : {
92 "description" : "Rule direction. Value `0` matches incomming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
93 "maximum" : 2,
94 "minimum" : 0,
95 "optional" : 1,
96 "type" : "integer",
97 "typetext" : "<integer> (0 - 2)"
98 },
99 "id" : {
100 "description" : "Rule ID.",
101 "type" : "integer",
102 "typetext" : "<integer>"
103 },
104 "name" : {
105 "description" : "Rule name",
106 "optional" : 1,
107 "type" : "string",
108 "typetext" : "<string>"
109 },
110 "priority" : {
111 "description" : "Rule priotity.",
112 "maximum" : 100,
113 "minimum" : 0,
114 "optional" : 1,
115 "type" : "integer",
116 "typetext" : "<integer> (0 - 100)"
117 }
118 }
119 },
732d76e1
DM
120 "permissions" : {
121 "check" : [
122 "admin"
123 ]
124 },
f245a28c
DM
125 "protected" : 1,
126 "proxyto" : "master",
127 "returns" : {
128 "type" : "null"
129 }
130 }
131 },
132 "leaf" : 1,
133 "path" : "/config/ruledb/rules/{id}/config",
134 "text" : "config"
135 },
136 {
137 "children" : [
138 {
139 "info" : {
140 "DELETE" : {
141 "description" : "Delete group from 'from' list.",
142 "method" : "DELETE",
143 "name" : "delete_from_group",
144 "parameters" : {
145 "additionalProperties" : 0,
146 "properties" : {
147 "id" : {
148 "description" : "Rule ID.",
149 "type" : "integer",
150 "typetext" : "<integer>"
151 },
152 "ogroup" : {
153 "description" : "Groups ID.",
154 "type" : "integer",
155 "typetext" : "<integer>"
156 }
157 }
158 },
732d76e1
DM
159 "permissions" : {
160 "check" : [
161 "admin"
162 ]
163 },
f245a28c
DM
164 "protected" : 1,
165 "proxyto" : "master",
166 "returns" : {
167 "type" : "null"
168 }
169 }
170 },
171 "leaf" : 1,
172 "path" : "/config/ruledb/rules/{id}/from/{ogroup}",
173 "text" : "{ogroup}"
174 }
175 ],
176 "info" : {
177 "GET" : {
178 "description" : "Get 'from' group list.",
179 "method" : "GET",
180 "name" : "from",
181 "parameters" : {
182 "additionalProperties" : 0,
183 "properties" : {
184 "id" : {
185 "description" : "Rule ID.",
186 "type" : "integer",
187 "typetext" : "<integer>"
188 }
189 }
190 },
732d76e1
DM
191 "permissions" : {
192 "check" : [
193 "admin",
194 "audit"
195 ]
196 },
f245a28c
DM
197 "proxyto" : "master",
198 "returns" : {
199 "items" : {
200 "properties" : {
201 "id" : {
202 "type" : "integer"
203 }
204 },
205 "type" : "object"
206 },
207 "type" : "array"
208 }
209 },
210 "POST" : {
211 "description" : "Add group to 'from' list.",
212 "method" : "POST",
213 "name" : "add_from_group",
214 "parameters" : {
215 "additionalProperties" : 0,
216 "properties" : {
217 "id" : {
218 "description" : "Rule ID.",
219 "type" : "integer",
220 "typetext" : "<integer>"
221 },
222 "ogroup" : {
223 "description" : "Groups ID.",
224 "type" : "integer",
225 "typetext" : "<integer>"
226 }
227 }
228 },
732d76e1
DM
229 "permissions" : {
230 "check" : [
231 "admin"
232 ]
233 },
f245a28c
DM
234 "protected" : 1,
235 "proxyto" : "master",
236 "returns" : {
237 "type" : "null"
238 }
239 }
240 },
241 "leaf" : 0,
242 "path" : "/config/ruledb/rules/{id}/from",
243 "text" : "from"
244 },
245 {
246 "children" : [
247 {
248 "info" : {
249 "DELETE" : {
250 "description" : "Delete group from 'to' list.",
251 "method" : "DELETE",
252 "name" : "delete_to_group",
253 "parameters" : {
254 "additionalProperties" : 0,
255 "properties" : {
256 "id" : {
257 "description" : "Rule ID.",
258 "type" : "integer",
259 "typetext" : "<integer>"
260 },
261 "ogroup" : {
262 "description" : "Groups ID.",
263 "type" : "integer",
264 "typetext" : "<integer>"
265 }
266 }
267 },
732d76e1
DM
268 "permissions" : {
269 "check" : [
270 "admin"
271 ]
272 },
f245a28c
DM
273 "protected" : 1,
274 "proxyto" : "master",
275 "returns" : {
276 "type" : "null"
277 }
278 }
279 },
280 "leaf" : 1,
281 "path" : "/config/ruledb/rules/{id}/to/{ogroup}",
282 "text" : "{ogroup}"
283 }
284 ],
285 "info" : {
286 "GET" : {
287 "description" : "Get 'to' group list.",
288 "method" : "GET",
289 "name" : "to",
290 "parameters" : {
291 "additionalProperties" : 0,
292 "properties" : {
293 "id" : {
294 "description" : "Rule ID.",
295 "type" : "integer",
296 "typetext" : "<integer>"
297 }
298 }
299 },
732d76e1
DM
300 "permissions" : {
301 "check" : [
302 "admin",
303 "audit"
304 ]
305 },
f245a28c
DM
306 "proxyto" : "master",
307 "returns" : {
308 "items" : {
309 "properties" : {
310 "id" : {
311 "type" : "integer"
312 }
313 },
314 "type" : "object"
315 },
316 "type" : "array"
317 }
318 },
319 "POST" : {
320 "description" : "Add group to 'to' list.",
321 "method" : "POST",
322 "name" : "add_to_group",
323 "parameters" : {
324 "additionalProperties" : 0,
325 "properties" : {
326 "id" : {
327 "description" : "Rule ID.",
328 "type" : "integer",
329 "typetext" : "<integer>"
330 },
331 "ogroup" : {
332 "description" : "Groups ID.",
333 "type" : "integer",
334 "typetext" : "<integer>"
335 }
336 }
337 },
732d76e1
DM
338 "permissions" : {
339 "check" : [
340 "admin"
341 ]
342 },
f245a28c
DM
343 "protected" : 1,
344 "proxyto" : "master",
345 "returns" : {
346 "type" : "null"
347 }
348 }
349 },
350 "leaf" : 0,
351 "path" : "/config/ruledb/rules/{id}/to",
352 "text" : "to"
353 },
354 {
355 "children" : [
356 {
357 "info" : {
358 "DELETE" : {
359 "description" : "Delete group from 'when' list.",
360 "method" : "DELETE",
361 "name" : "delete_when_group",
362 "parameters" : {
363 "additionalProperties" : 0,
364 "properties" : {
365 "id" : {
366 "description" : "Rule ID.",
367 "type" : "integer",
368 "typetext" : "<integer>"
369 },
370 "ogroup" : {
371 "description" : "Groups ID.",
372 "type" : "integer",
373 "typetext" : "<integer>"
374 }
375 }
376 },
732d76e1
DM
377 "permissions" : {
378 "check" : [
379 "admin"
380 ]
381 },
f245a28c
DM
382 "protected" : 1,
383 "proxyto" : "master",
384 "returns" : {
385 "type" : "null"
386 }
387 }
388 },
389 "leaf" : 1,
390 "path" : "/config/ruledb/rules/{id}/when/{ogroup}",
391 "text" : "{ogroup}"
392 }
393 ],
394 "info" : {
395 "GET" : {
396 "description" : "Get 'when' group list.",
397 "method" : "GET",
398 "name" : "when",
399 "parameters" : {
400 "additionalProperties" : 0,
401 "properties" : {
402 "id" : {
403 "description" : "Rule ID.",
404 "type" : "integer",
405 "typetext" : "<integer>"
406 }
407 }
408 },
732d76e1
DM
409 "permissions" : {
410 "check" : [
411 "admin",
412 "audit"
413 ]
414 },
f245a28c
DM
415 "proxyto" : "master",
416 "returns" : {
417 "items" : {
418 "properties" : {
419 "id" : {
420 "type" : "integer"
421 }
422 },
423 "type" : "object"
424 },
425 "type" : "array"
426 }
427 },
428 "POST" : {
429 "description" : "Add group to 'when' list.",
430 "method" : "POST",
431 "name" : "add_when_group",
432 "parameters" : {
433 "additionalProperties" : 0,
434 "properties" : {
435 "id" : {
436 "description" : "Rule ID.",
437 "type" : "integer",
438 "typetext" : "<integer>"
439 },
440 "ogroup" : {
441 "description" : "Groups ID.",
442 "type" : "integer",
443 "typetext" : "<integer>"
444 }
445 }
446 },
732d76e1
DM
447 "permissions" : {
448 "check" : [
449 "admin"
450 ]
451 },
f245a28c
DM
452 "protected" : 1,
453 "proxyto" : "master",
454 "returns" : {
455 "type" : "null"
456 }
457 }
458 },
459 "leaf" : 0,
460 "path" : "/config/ruledb/rules/{id}/when",
461 "text" : "when"
462 },
463 {
464 "children" : [
465 {
466 "info" : {
467 "DELETE" : {
468 "description" : "Delete group from 'what' list.",
469 "method" : "DELETE",
470 "name" : "delete_what_group",
471 "parameters" : {
472 "additionalProperties" : 0,
473 "properties" : {
474 "id" : {
475 "description" : "Rule ID.",
476 "type" : "integer",
477 "typetext" : "<integer>"
478 },
479 "ogroup" : {
480 "description" : "Groups ID.",
481 "type" : "integer",
482 "typetext" : "<integer>"
483 }
484 }
485 },
732d76e1
DM
486 "permissions" : {
487 "check" : [
488 "admin"
489 ]
490 },
f245a28c
DM
491 "protected" : 1,
492 "proxyto" : "master",
493 "returns" : {
494 "type" : "null"
495 }
496 }
497 },
498 "leaf" : 1,
499 "path" : "/config/ruledb/rules/{id}/what/{ogroup}",
500 "text" : "{ogroup}"
501 }
502 ],
503 "info" : {
504 "GET" : {
505 "description" : "Get 'what' group list.",
506 "method" : "GET",
507 "name" : "what",
508 "parameters" : {
509 "additionalProperties" : 0,
510 "properties" : {
511 "id" : {
512 "description" : "Rule ID.",
513 "type" : "integer",
514 "typetext" : "<integer>"
515 }
516 }
517 },
732d76e1
DM
518 "permissions" : {
519 "check" : [
520 "admin",
521 "audit"
522 ]
523 },
f245a28c
DM
524 "proxyto" : "master",
525 "returns" : {
526 "items" : {
527 "properties" : {
528 "id" : {
529 "type" : "integer"
530 }
531 },
532 "type" : "object"
533 },
534 "type" : "array"
535 }
536 },
537 "POST" : {
538 "description" : "Add group to 'what' list.",
539 "method" : "POST",
540 "name" : "add_what_group",
541 "parameters" : {
542 "additionalProperties" : 0,
543 "properties" : {
544 "id" : {
545 "description" : "Rule ID.",
546 "type" : "integer",
547 "typetext" : "<integer>"
548 },
549 "ogroup" : {
550 "description" : "Groups ID.",
551 "type" : "integer",
552 "typetext" : "<integer>"
553 }
554 }
555 },
732d76e1
DM
556 "permissions" : {
557 "check" : [
558 "admin"
559 ]
560 },
f245a28c
DM
561 "protected" : 1,
562 "proxyto" : "master",
563 "returns" : {
564 "type" : "null"
565 }
566 }
567 },
568 "leaf" : 0,
569 "path" : "/config/ruledb/rules/{id}/what",
570 "text" : "what"
571 },
572 {
573 "children" : [
574 {
575 "info" : {
576 "DELETE" : {
577 "description" : "Delete group from 'action' list.",
578 "method" : "DELETE",
579 "name" : "delete_action_group",
580 "parameters" : {
581 "additionalProperties" : 0,
582 "properties" : {
583 "id" : {
584 "description" : "Rule ID.",
585 "type" : "integer",
586 "typetext" : "<integer>"
587 },
588 "ogroup" : {
589 "description" : "Groups ID.",
590 "type" : "integer",
591 "typetext" : "<integer>"
592 }
593 }
594 },
732d76e1
DM
595 "permissions" : {
596 "check" : [
597 "admin"
598 ]
599 },
f245a28c
DM
600 "protected" : 1,
601 "proxyto" : "master",
602 "returns" : {
603 "type" : "null"
604 }
605 }
606 },
607 "leaf" : 1,
608 "path" : "/config/ruledb/rules/{id}/action/{ogroup}",
609 "text" : "{ogroup}"
610 }
611 ],
612 "info" : {
613 "GET" : {
614 "description" : "Get 'action' group list.",
615 "method" : "GET",
616 "name" : "action",
617 "parameters" : {
618 "additionalProperties" : 0,
619 "properties" : {
620 "id" : {
621 "description" : "Rule ID.",
622 "type" : "integer",
623 "typetext" : "<integer>"
624 }
625 }
626 },
732d76e1
DM
627 "permissions" : {
628 "check" : [
629 "admin",
630 "audit"
631 ]
632 },
f245a28c
DM
633 "proxyto" : "master",
634 "returns" : {
635 "items" : {
636 "properties" : {
637 "id" : {
638 "type" : "integer"
639 }
640 },
641 "type" : "object"
642 },
643 "type" : "array"
644 }
645 },
646 "POST" : {
647 "description" : "Add group to 'action' list.",
648 "method" : "POST",
649 "name" : "add_action_group",
650 "parameters" : {
651 "additionalProperties" : 0,
652 "properties" : {
653 "id" : {
654 "description" : "Rule ID.",
655 "type" : "integer",
656 "typetext" : "<integer>"
657 },
658 "ogroup" : {
659 "description" : "Groups ID.",
660 "type" : "integer",
661 "typetext" : "<integer>"
662 }
663 }
664 },
732d76e1
DM
665 "permissions" : {
666 "check" : [
667 "admin"
668 ]
669 },
f245a28c
DM
670 "protected" : 1,
671 "proxyto" : "master",
672 "returns" : {
673 "type" : "null"
674 }
675 }
676 },
677 "leaf" : 0,
678 "path" : "/config/ruledb/rules/{id}/action",
679 "text" : "action"
680 }
681 ],
682 "info" : {
683 "DELETE" : {
684 "description" : "Delete rule.",
685 "method" : "DELETE",
686 "name" : "delete_rule",
687 "parameters" : {
688 "additionalProperties" : 0,
689 "properties" : {
690 "id" : {
691 "description" : "Rule ID.",
692 "type" : "integer",
693 "typetext" : "<integer>"
694 }
695 }
696 },
732d76e1
DM
697 "permissions" : {
698 "check" : [
699 "admin"
700 ]
701 },
d7cd791b
DM
702 "protected" : 1,
703 "proxyto" : "master",
f245a28c
DM
704 "returns" : {
705 "type" : "null"
706 }
707 },
708 "GET" : {
709 "description" : "Directory index.",
710 "method" : "GET",
711 "name" : "index",
712 "parameters" : {
713 "additionalProperties" : 0,
714 "properties" : {
715 "id" : {
716 "description" : "Rule ID.",
717 "type" : "integer",
718 "typetext" : "<integer>"
719 }
720 }
721 },
732d76e1
DM
722 "permissions" : {
723 "check" : [
724 "admin",
725 "audit"
726 ]
727 },
f245a28c
DM
728 "returns" : {
729 "items" : {
730 "properties" : {
731 "subdir" : {
732 "type" : "string"
733 }
734 },
735 "type" : "object"
736 },
737 "links" : [
738 {
739 "href" : "{subdir}",
740 "rel" : "child"
741 }
742 ],
743 "type" : "array"
744 }
745 }
746 },
747 "leaf" : 0,
748 "path" : "/config/ruledb/rules/{id}",
749 "text" : "{id}"
750 }
751 ],
752 "info" : {
753 "GET" : {
754 "description" : "Get list of rules.",
755 "method" : "GET",
756 "name" : "list_rules",
757 "parameters" : {
758 "additionalProperties" : 0
759 },
732d76e1
DM
760 "permissions" : {
761 "check" : [
762 "admin",
763 "audit"
764 ]
765 },
f245a28c
DM
766 "proxyto" : "master",
767 "returns" : {
768 "items" : {
769 "properties" : {
770 "id" : {
771 "type" : "integer"
772 }
773 },
774 "type" : "object"
775 },
776 "links" : [
777 {
778 "href" : "{id}",
779 "rel" : "child"
780 }
781 ],
782 "type" : "array"
783 }
784 },
785 "POST" : {
786 "description" : "Create new rule.",
787 "method" : "POST",
788 "name" : "create_rule",
789 "parameters" : {
790 "additionalProperties" : 0,
791 "properties" : {
792 "active" : {
793 "description" : "Flag to activate rule.",
794 "optional" : 1,
795 "type" : "boolean",
796 "typetext" : "<boolean>"
797 },
798 "direction" : {
799 "description" : "Rule direction. Value `0` matches incomming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
800 "maximum" : 2,
801 "minimum" : 0,
802 "optional" : 1,
803 "type" : "integer",
804 "typetext" : "<integer> (0 - 2)"
805 },
806 "name" : {
807 "description" : "Rule name",
808 "type" : "string",
809 "typetext" : "<string>"
810 },
811 "priority" : {
812 "description" : "Rule priotity.",
813 "maximum" : 100,
814 "minimum" : 0,
815 "type" : "integer",
816 "typetext" : "<integer> (0 - 100)"
817 }
818 }
819 },
732d76e1
DM
820 "permissions" : {
821 "check" : [
822 "admin"
823 ]
824 },
f245a28c
DM
825 "protected" : 1,
826 "proxyto" : "master",
827 "returns" : {
828 "type" : "integer"
829 }
830 }
831 },
832 "leaf" : 0,
833 "path" : "/config/ruledb/rules",
834 "text" : "rules"
835 },
836 {
837 "children" : [
838 {
839 "children" : [
840 {
841 "info" : {
842 "DELETE" : {
843 "description" : "Delete 'actions' object.",
844 "method" : "DELETE",
845 "name" : "delete_action",
846 "parameters" : {
847 "additionalProperties" : 0,
848 "properties" : {
849 "id" : {
850 "description" : "Action Object ID.",
851 "pattern" : "\\d+_\\d+",
852 "type" : "string"
853 }
854 }
855 },
732d76e1
DM
856 "permissions" : {
857 "check" : [
858 "admin"
859 ]
860 },
d7cd791b
DM
861 "protected" : 1,
862 "proxyto" : "master",
f245a28c
DM
863 "returns" : {
864 "type" : "null"
865 }
866 }
867 },
868 "leaf" : 1,
869 "path" : "/config/ruledb/action/objects/{id}",
870 "text" : "{id}"
871 }
872 ],
873 "info" : {
874 "GET" : {
875 "description" : "List 'actions' objects.",
876 "method" : "GET",
877 "name" : "list_actions",
878 "parameters" : {
879 "additionalProperties" : 0
880 },
732d76e1
DM
881 "permissions" : {
882 "check" : [
883 "admin",
884 "audit"
885 ]
886 },
d7cd791b 887 "proxyto" : "master",
f245a28c
DM
888 "returns" : {
889 "items" : {
890 "properties" : {
891 "id" : {
892 "description" : "Action Object ID.",
893 "pattern" : "\\d+_\\d+",
894 "type" : "string"
895 }
896 },
897 "type" : "object"
898 },
899 "links" : [
900 {
901 "href" : "{id}",
902 "rel" : "child"
903 }
904 ],
905 "type" : "array"
906 }
907 }
908 },
909 "leaf" : 0,
910 "path" : "/config/ruledb/action/objects",
911 "text" : "objects"
912 },
913 {
914 "children" : [
915 {
916 "info" : {
917 "GET" : {
918 "description" : "Read 'BCC' object settings.",
919 "method" : "GET",
920 "name" : "read_bcc",
921 "parameters" : {
922 "additionalProperties" : 0,
923 "properties" : {
924 "id" : {
925 "description" : "Action Object ID.",
926 "pattern" : "\\d+_\\d+",
927 "type" : "string"
928 }
929 }
930 },
732d76e1
DM
931 "permissions" : {
932 "check" : [
933 "admin",
934 "audit"
935 ]
936 },
f245a28c
DM
937 "proxyto" : "master",
938 "returns" : {
939 "properties" : {
940 "id" : {
941 "type" : "string"
942 }
943 },
944 "type" : "object"
945 }
946 },
947 "PUT" : {
948 "description" : "Update 'BCC' object.",
949 "method" : "PUT",
950 "name" : "update_bcc",
951 "parameters" : {
952 "additionalProperties" : 0,
953 "properties" : {
954 "id" : {
955 "description" : "Action Object ID.",
956 "pattern" : "\\d+_\\d+",
957 "type" : "string"
958 },
959 "info" : {
960 "description" : "Informational comment.",
961 "maxLength" : 255,
962 "optional" : 1,
963 "type" : "string",
964 "typetext" : "<string>"
965 },
966 "name" : {
967 "description" : "Action name.",
968 "maxLength" : 255,
969 "optional" : 1,
970 "type" : "string",
971 "typetext" : "<string>"
972 },
973 "original" : {
974 "default" : 1,
975 "description" : "Send the original, unmodified mail.",
976 "optional" : 1,
977 "type" : "boolean",
978 "typetext" : "<boolean>"
979 },
980 "target" : {
981 "description" : "Send a Blind Carbon Copy to this email address.",
982 "format" : "email",
983 "type" : "string",
984 "typetext" : "<string>"
985 }
986 }
987 },
732d76e1
DM
988 "permissions" : {
989 "check" : [
990 "admin"
991 ]
992 },
d7cd791b 993 "protected" : 1,
f245a28c
DM
994 "proxyto" : "master",
995 "returns" : {
996 "type" : "null"
997 }
998 }
999 },
1000 "leaf" : 1,
1001 "path" : "/config/ruledb/action/bcc/{id}",
1002 "text" : "{id}"
1003 }
1004 ],
1005 "info" : {
1006 "POST" : {
1007 "description" : "Create 'BCC' object.",
1008 "method" : "POST",
1009 "name" : "bcc",
1010 "parameters" : {
1011 "additionalProperties" : 0,
1012 "properties" : {
1013 "info" : {
1014 "description" : "Informational comment.",
1015 "maxLength" : 255,
1016 "optional" : 1,
1017 "type" : "string",
1018 "typetext" : "<string>"
1019 },
1020 "name" : {
1021 "description" : "Action name.",
1022 "maxLength" : 255,
1023 "type" : "string",
1024 "typetext" : "<string>"
1025 },
1026 "original" : {
1027 "default" : 1,
1028 "description" : "Send the original, unmodified mail.",
1029 "optional" : 1,
1030 "type" : "boolean",
1031 "typetext" : "<boolean>"
1032 },
1033 "target" : {
1034 "description" : "Send a Blind Carbon Copy to this email address.",
1035 "format" : "email",
1036 "type" : "string",
1037 "typetext" : "<string>"
1038 }
1039 }
1040 },
732d76e1
DM
1041 "permissions" : {
1042 "check" : [
1043 "admin"
1044 ]
1045 },
d7cd791b 1046 "protected" : 1,
f245a28c
DM
1047 "proxyto" : "master",
1048 "returns" : {
1049 "description" : "The object ID.",
1050 "type" : "string"
1051 }
1052 }
1053 },
1054 "leaf" : 0,
1055 "path" : "/config/ruledb/action/bcc",
1056 "text" : "bcc"
732d76e1 1057 },
f245a28c
DM
1058 {
1059 "children" : [
1060 {
1061 "info" : {
1062 "GET" : {
732d76e1 1063 "description" : "Read 'Header Attribute' object settings.",
f245a28c 1064 "method" : "GET",
732d76e1 1065 "name" : "read_field",
f245a28c
DM
1066 "parameters" : {
1067 "additionalProperties" : 0,
1068 "properties" : {
732d76e1
DM
1069 "id" : {
1070 "description" : "Action Object ID.",
1071 "pattern" : "\\d+_\\d+",
1072 "type" : "string"
f245a28c
DM
1073 }
1074 }
1075 },
732d76e1
DM
1076 "permissions" : {
1077 "check" : [
1078 "admin",
1079 "audit"
1080 ]
1081 },
f245a28c
DM
1082 "proxyto" : "master",
1083 "returns" : {
1084 "properties" : {
1085 "id" : {
f245a28c
DM
1086 "type" : "string"
1087 }
1088 },
1089 "type" : "object"
1090 }
1091 },
1092 "PUT" : {
732d76e1 1093 "description" : "Update 'Header Attribute' object.",
f245a28c 1094 "method" : "PUT",
732d76e1 1095 "name" : "update_field",
f245a28c
DM
1096 "parameters" : {
1097 "additionalProperties" : 0,
1098 "properties" : {
732d76e1
DM
1099 "field" : {
1100 "description" : "The Field",
1101 "maxLength" : 1024,
1102 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1103 "type" : "string"
1104 },
1105 "id" : {
1106 "description" : "Action Object ID.",
1107 "pattern" : "\\d+_\\d+",
1108 "type" : "string"
1109 },
f245a28c
DM
1110 "info" : {
1111 "description" : "Informational comment.",
1112 "maxLength" : 255,
1113 "optional" : 1,
1114 "type" : "string",
1115 "typetext" : "<string>"
1116 },
1117 "name" : {
732d76e1 1118 "description" : "Action name.",
f245a28c
DM
1119 "maxLength" : 255,
1120 "optional" : 1,
1121 "type" : "string",
1122 "typetext" : "<string>"
1123 },
732d76e1
DM
1124 "value" : {
1125 "description" : "The Value",
1126 "maxLength" : 1024,
4a46ced6
DM
1127 "type" : "string",
1128 "typetext" : "<string>"
f245a28c
DM
1129 }
1130 }
1131 },
732d76e1
DM
1132 "permissions" : {
1133 "check" : [
1134 "admin"
1135 ]
1136 },
d7cd791b 1137 "protected" : 1,
f245a28c
DM
1138 "proxyto" : "master",
1139 "returns" : {
1140 "type" : "null"
1141 }
1142 }
1143 },
1144 "leaf" : 1,
732d76e1
DM
1145 "path" : "/config/ruledb/action/field/{id}",
1146 "text" : "{id}"
1147 }
1148 ],
1149 "info" : {
1150 "POST" : {
1151 "description" : "Create 'Header Attribute' object.",
1152 "method" : "POST",
1153 "name" : "field",
1154 "parameters" : {
1155 "additionalProperties" : 0,
1156 "properties" : {
1157 "field" : {
1158 "description" : "The Field",
1159 "maxLength" : 1024,
1160 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1161 "type" : "string"
1162 },
f245a28c 1163 "info" : {
732d76e1
DM
1164 "description" : "Informational comment.",
1165 "maxLength" : 255,
1166 "optional" : 1,
1167 "type" : "string",
1168 "typetext" : "<string>"
1169 },
1170 "name" : {
1171 "description" : "Action name.",
1172 "maxLength" : 255,
1173 "type" : "string",
1174 "typetext" : "<string>"
1175 },
1176 "value" : {
1177 "description" : "The Value",
1178 "maxLength" : 1024,
4a46ced6
DM
1179 "type" : "string",
1180 "typetext" : "<string>"
732d76e1
DM
1181 }
1182 }
1183 },
1184 "permissions" : {
1185 "check" : [
1186 "admin"
1187 ]
1188 },
1189 "protected" : 1,
1190 "proxyto" : "master",
1191 "returns" : {
1192 "description" : "The object ID.",
1193 "type" : "string"
1194 }
1195 }
1196 },
1197 "leaf" : 0,
1198 "path" : "/config/ruledb/action/field",
1199 "text" : "field"
1200 },
1201 {
1202 "children" : [
1203 {
1204 "info" : {
1205 "GET" : {
1206 "description" : "Read 'Notification' object settings.",
1207 "method" : "GET",
1208 "name" : "read_notification",
1209 "parameters" : {
1210 "additionalProperties" : 0,
1211 "properties" : {
1212 "id" : {
1213 "description" : "Action Object ID.",
1214 "pattern" : "\\d+_\\d+",
1215 "type" : "string"
1216 }
1217 }
1218 },
1219 "permissions" : {
1220 "check" : [
1221 "admin",
1222 "audit"
1223 ]
1224 },
1225 "proxyto" : "master",
1226 "returns" : {
1227 "properties" : {
1228 "id" : {
1229 "type" : "string"
1230 }
1231 },
1232 "type" : "object"
1233 }
1234 },
1235 "PUT" : {
1236 "description" : "Update 'Notification' object.",
1237 "method" : "PUT",
1238 "name" : "update_notification",
1239 "parameters" : {
1240 "additionalProperties" : 0,
1241 "properties" : {
1242 "attach" : {
1243 "default" : 0,
1244 "description" : "Attach original E-Mail",
1245 "optional" : 1,
1246 "type" : "boolean",
1247 "typetext" : "<boolean>"
1248 },
1249 "body" : {
1250 "description" : "The Notification Body",
1251 "maxLength" : 2048,
1252 "type" : "string",
1253 "typetext" : "<string>"
1254 },
1255 "id" : {
1256 "description" : "Action Object ID.",
1257 "pattern" : "\\d+_\\d+",
1258 "type" : "string"
1259 },
1260 "info" : {
1261 "description" : "Informational comment.",
1262 "maxLength" : 255,
1263 "optional" : 1,
1264 "type" : "string",
1265 "typetext" : "<string>"
1266 },
1267 "name" : {
1268 "description" : "Action name.",
1269 "maxLength" : 255,
1270 "optional" : 1,
1271 "type" : "string",
1272 "typetext" : "<string>"
1273 },
1274 "subject" : {
1275 "description" : "The Notification subject",
1276 "maxLength" : 100,
1277 "type" : "string",
1278 "typetext" : "<string>"
1279 },
1280 "to" : {
1281 "description" : "The Receiver E-Mail address",
1282 "maxLength" : 200,
1283 "type" : "string",
1284 "typetext" : "<string>"
1285 }
1286 }
1287 },
1288 "permissions" : {
1289 "check" : [
1290 "admin"
1291 ]
1292 },
1293 "protected" : 1,
1294 "proxyto" : "master",
1295 "returns" : {
1296 "type" : "null"
1297 }
1298 }
1299 },
1300 "leaf" : 1,
1301 "path" : "/config/ruledb/action/notification/{id}",
1302 "text" : "{id}"
1303 }
1304 ],
1305 "info" : {
1306 "POST" : {
1307 "description" : "Create 'Notification' object.",
1308 "method" : "POST",
1309 "name" : "notification",
1310 "parameters" : {
1311 "additionalProperties" : 0,
1312 "properties" : {
1313 "attach" : {
1314 "default" : 0,
1315 "description" : "Attach original E-Mail",
1316 "optional" : 1,
1317 "type" : "boolean",
1318 "typetext" : "<boolean>"
1319 },
1320 "body" : {
1321 "description" : "The Notification Body",
1322 "maxLength" : 2048,
1323 "type" : "string",
1324 "typetext" : "<string>"
1325 },
1326 "info" : {
1327 "description" : "Informational comment.",
1328 "maxLength" : 255,
1329 "optional" : 1,
1330 "type" : "string",
1331 "typetext" : "<string>"
1332 },
1333 "name" : {
1334 "description" : "Action name.",
1335 "maxLength" : 255,
1336 "type" : "string",
1337 "typetext" : "<string>"
1338 },
1339 "subject" : {
1340 "description" : "The Notification subject",
1341 "maxLength" : 100,
1342 "type" : "string",
1343 "typetext" : "<string>"
1344 },
1345 "to" : {
1346 "description" : "The Receiver E-Mail address",
1347 "maxLength" : 200,
1348 "type" : "string",
1349 "typetext" : "<string>"
1350 }
1351 }
1352 },
1353 "permissions" : {
1354 "check" : [
1355 "admin"
1356 ]
1357 },
1358 "protected" : 1,
1359 "proxyto" : "master",
1360 "returns" : {
1361 "description" : "The object ID.",
1362 "type" : "string"
1363 }
1364 }
1365 },
1366 "leaf" : 0,
1367 "path" : "/config/ruledb/action/notification",
1368 "text" : "notification"
1369 },
1370 {
1371 "children" : [
1372 {
1373 "info" : {
1374 "GET" : {
1375 "description" : "Read 'Disclaimer' object settings.",
1376 "method" : "GET",
1377 "name" : "read_disclaimer",
1378 "parameters" : {
1379 "additionalProperties" : 0,
1380 "properties" : {
1381 "id" : {
1382 "description" : "Action Object ID.",
1383 "pattern" : "\\d+_\\d+",
1384 "type" : "string"
1385 }
1386 }
1387 },
1388 "permissions" : {
1389 "check" : [
1390 "admin",
1391 "audit"
1392 ]
1393 },
1394 "proxyto" : "master",
1395 "returns" : {
1396 "properties" : {
1397 "id" : {
1398 "type" : "string"
1399 }
1400 },
1401 "type" : "object"
1402 }
1403 },
1404 "PUT" : {
1405 "description" : "Update 'Disclaimer' object.",
1406 "method" : "PUT",
1407 "name" : "update_disclaimer",
1408 "parameters" : {
1409 "additionalProperties" : 0,
1410 "properties" : {
1411 "disclaimer" : {
1412 "description" : "The Disclaimer",
1413 "maxLength" : 2048,
1414 "type" : "string",
1415 "typetext" : "<string>"
1416 },
1417 "id" : {
1418 "description" : "Action Object ID.",
1419 "pattern" : "\\d+_\\d+",
1420 "type" : "string"
1421 },
1422 "info" : {
1423 "description" : "Informational comment.",
1424 "maxLength" : 255,
1425 "optional" : 1,
1426 "type" : "string",
1427 "typetext" : "<string>"
1428 },
1429 "name" : {
1430 "description" : "Action name.",
1431 "maxLength" : 255,
1432 "optional" : 1,
1433 "type" : "string",
1434 "typetext" : "<string>"
1435 }
1436 }
1437 },
1438 "permissions" : {
1439 "check" : [
1440 "admin"
1441 ]
1442 },
1443 "protected" : 1,
1444 "proxyto" : "master",
1445 "returns" : {
1446 "type" : "null"
1447 }
1448 }
1449 },
1450 "leaf" : 1,
1451 "path" : "/config/ruledb/action/disclaimer/{id}",
1452 "text" : "{id}"
1453 }
1454 ],
1455 "info" : {
1456 "POST" : {
1457 "description" : "Create 'Disclaimer' object.",
1458 "method" : "POST",
1459 "name" : "disclaimer",
1460 "parameters" : {
1461 "additionalProperties" : 0,
1462 "properties" : {
1463 "disclaimer" : {
1464 "description" : "The Disclaimer",
1465 "maxLength" : 2048,
1466 "type" : "string",
1467 "typetext" : "<string>"
1468 },
1469 "info" : {
1470 "description" : "Informational comment.",
1471 "maxLength" : 255,
1472 "optional" : 1,
1473 "type" : "string",
1474 "typetext" : "<string>"
1475 },
1476 "name" : {
1477 "description" : "Action name.",
1478 "maxLength" : 255,
1479 "type" : "string",
1480 "typetext" : "<string>"
1481 }
1482 }
1483 },
1484 "permissions" : {
1485 "check" : [
1486 "admin"
1487 ]
1488 },
1489 "protected" : 1,
1490 "proxyto" : "master",
1491 "returns" : {
1492 "description" : "The object ID.",
1493 "type" : "string"
1494 }
1495 }
1496 },
1497 "leaf" : 0,
1498 "path" : "/config/ruledb/action/disclaimer",
1499 "text" : "disclaimer"
1500 },
1501 {
1502 "children" : [
1503 {
1504 "info" : {
1505 "GET" : {
1506 "description" : "Read 'Remove attachments' object settings.",
1507 "method" : "GET",
1508 "name" : "read_removeattachments",
1509 "parameters" : {
1510 "additionalProperties" : 0,
1511 "properties" : {
1512 "id" : {
1513 "description" : "Action Object ID.",
1514 "pattern" : "\\d+_\\d+",
1515 "type" : "string"
1516 }
1517 }
1518 },
1519 "permissions" : {
1520 "check" : [
1521 "admin",
1522 "audit"
1523 ]
1524 },
1525 "proxyto" : "master",
1526 "returns" : {
1527 "properties" : {
1528 "id" : {
1529 "type" : "string"
1530 }
1531 },
1532 "type" : "object"
1533 }
1534 },
1535 "PUT" : {
1536 "description" : "Update 'Remove attachments' object.",
1537 "method" : "PUT",
1538 "name" : "update_removeattachments",
1539 "parameters" : {
1540 "additionalProperties" : 0,
1541 "properties" : {
1542 "all" : {
1543 "description" : "Remove all attachments",
1544 "optional" : 1,
1545 "type" : "boolean",
1546 "typetext" : "<boolean>"
1547 },
1548 "id" : {
1549 "description" : "Action Object ID.",
1550 "pattern" : "\\d+_\\d+",
1551 "type" : "string"
1552 },
1553 "info" : {
1554 "description" : "Informational comment.",
1555 "maxLength" : 255,
1556 "optional" : 1,
1557 "type" : "string",
1558 "typetext" : "<string>"
1559 },
1560 "name" : {
1561 "description" : "Action name.",
1562 "maxLength" : 255,
1563 "optional" : 1,
1564 "type" : "string",
1565 "typetext" : "<string>"
1566 },
1567 "text" : {
1568 "description" : "The replacement text.",
1569 "maxLength" : 2048,
1570 "type" : "string",
1571 "typetext" : "<string>"
1572 }
1573 }
1574 },
1575 "permissions" : {
1576 "check" : [
1577 "admin"
1578 ]
1579 },
1580 "protected" : 1,
1581 "proxyto" : "master",
1582 "returns" : {
1583 "type" : "null"
1584 }
1585 }
1586 },
1587 "leaf" : 1,
1588 "path" : "/config/ruledb/action/removeattachments/{id}",
1589 "text" : "{id}"
1590 }
1591 ],
1592 "info" : {
1593 "POST" : {
1594 "description" : "Create 'Remove attachments' object.",
1595 "method" : "POST",
1596 "name" : "removeattachments",
1597 "parameters" : {
1598 "additionalProperties" : 0,
1599 "properties" : {
1600 "all" : {
1601 "description" : "Remove all attachments",
1602 "optional" : 1,
1603 "type" : "boolean",
1604 "typetext" : "<boolean>"
1605 },
1606 "info" : {
1607 "description" : "Informational comment.",
1608 "maxLength" : 255,
1609 "optional" : 1,
1610 "type" : "string",
1611 "typetext" : "<string>"
1612 },
1613 "name" : {
1614 "description" : "Action name.",
1615 "maxLength" : 255,
1616 "type" : "string",
1617 "typetext" : "<string>"
1618 },
1619 "text" : {
1620 "description" : "The replacement text.",
1621 "maxLength" : 2048,
1622 "type" : "string",
1623 "typetext" : "<string>"
1624 }
1625 }
1626 },
1627 "permissions" : {
1628 "check" : [
1629 "admin"
1630 ]
1631 },
1632 "protected" : 1,
1633 "proxyto" : "master",
1634 "returns" : {
1635 "description" : "The object ID.",
1636 "type" : "string"
1637 }
1638 }
1639 },
1640 "leaf" : 0,
1641 "path" : "/config/ruledb/action/removeattachments",
1642 "text" : "removeattachments"
1643 }
1644 ],
1645 "info" : {
1646 "GET" : {
1647 "description" : "Directory index.",
1648 "method" : "GET",
1649 "name" : "index",
1650 "parameters" : {
1651 "additionalProperties" : 0
1652 },
1653 "permissions" : {
1654 "check" : [
1655 "admin",
1656 "audit"
1657 ]
1658 },
1659 "returns" : {
1660 "items" : {
1661 "properties" : {
1662 "subdir" : {
1663 "type" : "string"
1664 }
1665 },
1666 "type" : "object"
1667 },
1668 "links" : [
1669 {
1670 "href" : "{subdir}",
1671 "rel" : "child"
1672 }
1673 ],
1674 "type" : "array"
1675 }
1676 }
1677 },
1678 "leaf" : 0,
1679 "path" : "/config/ruledb/action",
1680 "text" : "action"
1681 },
1682 {
1683 "children" : [
1684 {
1685 "children" : [
1686 {
1687 "info" : {
1688 "GET" : {
1689 "description" : "Get 'what' group properties",
1690 "method" : "GET",
1691 "name" : "get_config",
1692 "parameters" : {
1693 "additionalProperties" : 0,
1694 "properties" : {
1695 "ogroup" : {
1696 "description" : "Object Group ID.",
1697 "type" : "integer",
1698 "typetext" : "<integer>"
1699 }
1700 }
1701 },
1702 "permissions" : {
1703 "check" : [
1704 "admin",
1705 "audit"
1706 ]
1707 },
1708 "proxyto" : "master",
1709 "returns" : {
1710 "properties" : {
1711 "id" : {
1712 "type" : "integer"
1713 },
1714 "info" : {
1715 "type" : "string"
1716 },
1717 "name" : {
1718 "type" : "string"
1719 }
1720 },
1721 "type" : "object"
1722 }
1723 },
1724 "PUT" : {
1725 "description" : "Modify 'what' group properties",
1726 "method" : "PUT",
1727 "name" : "set_config",
1728 "parameters" : {
1729 "additionalProperties" : 0,
1730 "properties" : {
1731 "info" : {
1732 "description" : "Informational comment.",
1733 "maxLength" : 255,
1734 "optional" : 1,
1735 "type" : "string",
1736 "typetext" : "<string>"
1737 },
1738 "name" : {
1739 "description" : "Group name.",
1740 "maxLength" : 255,
1741 "optional" : 1,
1742 "type" : "string",
1743 "typetext" : "<string>"
1744 },
1745 "ogroup" : {
1746 "description" : "Object Group ID.",
1747 "type" : "integer",
1748 "typetext" : "<integer>"
1749 }
1750 }
1751 },
1752 "permissions" : {
1753 "check" : [
1754 "admin"
1755 ]
1756 },
1757 "protected" : 1,
1758 "proxyto" : "master",
1759 "returns" : {
1760 "type" : "null"
1761 }
1762 }
1763 },
1764 "leaf" : 1,
1765 "path" : "/config/ruledb/what/{ogroup}/config",
1766 "text" : "config"
1767 },
1768 {
1769 "children" : [
1770 {
1771 "info" : {
1772 "DELETE" : {
1773 "description" : "Remove an object from the 'what' group.",
1774 "method" : "DELETE",
1775 "name" : "delete_object",
1776 "parameters" : {
1777 "additionalProperties" : 0,
1778 "properties" : {
1779 "id" : {
1780 "description" : "Object ID.",
1781 "type" : "integer",
1782 "typetext" : "<integer>"
1783 },
1784 "ogroup" : {
1785 "description" : "Object Group ID.",
1786 "type" : "integer",
1787 "typetext" : "<integer>"
1788 }
1789 }
1790 },
1791 "permissions" : {
1792 "check" : [
1793 "admin"
1794 ]
1795 },
1796 "protected" : 1,
1797 "proxyto" : "master",
f245a28c
DM
1798 "returns" : {
1799 "type" : "null"
1800 }
1801 }
1802 },
1803 "leaf" : 1,
1804 "path" : "/config/ruledb/what/{ogroup}/objects/{id}",
1805 "text" : "{id}"
1806 }
1807 ],
1808 "info" : {
1809 "GET" : {
1810 "description" : "List 'what' group objects.",
1811 "method" : "GET",
1812 "name" : "objects",
1813 "parameters" : {
1814 "additionalProperties" : 0,
1815 "properties" : {
1816 "ogroup" : {
1817 "description" : "Object Group ID.",
1818 "type" : "integer",
1819 "typetext" : "<integer>"
1820 }
1821 }
1822 },
732d76e1
DM
1823 "permissions" : {
1824 "check" : [
1825 "admin",
1826 "audit"
1827 ]
1828 },
f245a28c
DM
1829 "proxyto" : "master",
1830 "returns" : {
1831 "items" : {
1832 "properties" : {
1833 "id" : {
1834 "type" : "integer"
1835 }
1836 },
1837 "type" : "object"
1838 },
1839 "links" : [
1840 {
1841 "href" : "{id}",
1842 "rel" : "child"
1843 }
1844 ],
1845 "type" : "array"
1846 }
1847 }
1848 },
1849 "leaf" : 0,
1850 "path" : "/config/ruledb/what/{ogroup}/objects",
1851 "text" : "objects"
f245a28c 1852 },
9fda36b0
DM
1853 {
1854 "children" : [
1855 {
1856 "info" : {
1857 "GET" : {
1858 "description" : "Read 'ContentType Filter' object settings.",
1859 "method" : "GET",
1860 "name" : "read_contenttype",
1861 "parameters" : {
1862 "additionalProperties" : 0,
1863 "properties" : {
1864 "id" : {
1865 "description" : "Object ID.",
1866 "type" : "integer",
1867 "typetext" : "<integer>"
1868 },
1869 "ogroup" : {
1870 "description" : "Object Groups ID.",
1871 "type" : "integer",
1872 "typetext" : "<integer>"
1873 }
1874 }
1875 },
c061d61d
DM
1876 "permissions" : {
1877 "check" : [
1878 "admin",
1879 "audit"
1880 ]
1881 },
9fda36b0
DM
1882 "proxyto" : "master",
1883 "returns" : {
1884 "properties" : {
1885 "id" : {
1886 "type" : "integer"
1887 }
1888 },
1889 "type" : "object"
1890 }
1891 },
1892 "PUT" : {
1893 "description" : "Update 'ContentType Filter' object.",
1894 "method" : "PUT",
1895 "name" : "update_contenttype",
1896 "parameters" : {
1897 "additionalProperties" : 0,
1898 "properties" : {
1899 "contenttype" : {
1900 "description" : "Content Type",
1901 "maxLength" : 1024,
1902 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1903 "type" : "string"
1904 },
1905 "id" : {
1906 "description" : "Object ID.",
1907 "type" : "integer",
1908 "typetext" : "<integer>"
1909 },
1910 "ogroup" : {
1911 "description" : "Object Groups ID.",
1912 "type" : "integer",
1913 "typetext" : "<integer>"
1914 }
1915 }
1916 },
c061d61d
DM
1917 "permissions" : {
1918 "check" : [
1919 "admin"
1920 ]
1921 },
9fda36b0
DM
1922 "protected" : 1,
1923 "proxyto" : "master",
1924 "returns" : {
1925 "type" : "null"
1926 }
f245a28c
DM
1927 }
1928 },
9fda36b0
DM
1929 "leaf" : 1,
1930 "path" : "/config/ruledb/what/{ogroup}/contenttype/{id}",
1931 "text" : "{id}"
eff914dc 1932 }
9fda36b0 1933 ],
f245a28c 1934 "info" : {
9fda36b0
DM
1935 "POST" : {
1936 "description" : "Add 'ContentType Filter' object.",
1937 "method" : "POST",
1938 "name" : "contenttype",
f245a28c
DM
1939 "parameters" : {
1940 "additionalProperties" : 0,
1941 "properties" : {
9fda36b0
DM
1942 "contenttype" : {
1943 "description" : "Content Type",
1944 "maxLength" : 1024,
1945 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
f245a28c 1946 "type" : "string"
f245a28c
DM
1947 },
1948 "ogroup" : {
9fda36b0 1949 "description" : "Object Groups ID.",
f245a28c
DM
1950 "type" : "integer",
1951 "typetext" : "<integer>"
1952 }
1953 }
1954 },
c061d61d
DM
1955 "permissions" : {
1956 "check" : [
1957 "admin"
1958 ]
1959 },
d7cd791b 1960 "protected" : 1,
f245a28c
DM
1961 "proxyto" : "master",
1962 "returns" : {
9fda36b0
DM
1963 "description" : "The object ID.",
1964 "type" : "integer"
f245a28c
DM
1965 }
1966 }
1967 },
9fda36b0
DM
1968 "leaf" : 0,
1969 "path" : "/config/ruledb/what/{ogroup}/contenttype",
1970 "text" : "contenttype"
f245a28c
DM
1971 },
1972 {
1973 "children" : [
1974 {
1975 "info" : {
9fda36b0
DM
1976 "GET" : {
1977 "description" : "Read 'Match Field' object settings.",
1978 "method" : "GET",
1979 "name" : "read_matchfield",
f245a28c
DM
1980 "parameters" : {
1981 "additionalProperties" : 0,
1982 "properties" : {
1983 "id" : {
1984 "description" : "Object ID.",
1985 "type" : "integer",
1986 "typetext" : "<integer>"
1987 },
1988 "ogroup" : {
9fda36b0 1989 "description" : "Object Groups ID.",
f245a28c
DM
1990 "type" : "integer",
1991 "typetext" : "<integer>"
1992 }
1993 }
1994 },
c061d61d
DM
1995 "permissions" : {
1996 "check" : [
1997 "admin",
1998 "audit"
1999 ]
2000 },
f245a28c
DM
2001 "proxyto" : "master",
2002 "returns" : {
9fda36b0
DM
2003 "properties" : {
2004 "id" : {
2005 "type" : "integer"
2006 }
2007 },
2008 "type" : "object"
f245a28c 2009 }
9fda36b0
DM
2010 },
2011 "PUT" : {
2012 "description" : "Update 'Match Field' object.",
2013 "method" : "PUT",
2014 "name" : "update_matchfield",
2015 "parameters" : {
2016 "additionalProperties" : 0,
2017 "properties" : {
2018 "field" : {
2019 "description" : "The Field",
2020 "maxLength" : 1024,
2021 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2022 "type" : "string"
2023 },
2024 "id" : {
2025 "description" : "Object ID.",
2026 "type" : "integer",
2027 "typetext" : "<integer>"
2028 },
2029 "ogroup" : {
2030 "description" : "Object Groups ID.",
2031 "type" : "integer",
2032 "typetext" : "<integer>"
2033 },
2034 "value" : {
2035 "description" : "The Value",
2036 "maxLength" : 1024,
4a46ced6
DM
2037 "type" : "string",
2038 "typetext" : "<string>"
9fda36b0
DM
2039 }
2040 }
2041 },
c061d61d
DM
2042 "permissions" : {
2043 "check" : [
2044 "admin"
2045 ]
2046 },
9fda36b0
DM
2047 "protected" : 1,
2048 "proxyto" : "master",
2049 "returns" : {
2050 "type" : "null"
2051 }
2052 }
2053 },
2054 "leaf" : 1,
2055 "path" : "/config/ruledb/what/{ogroup}/matchfield/{id}",
2056 "text" : "{id}"
2057 }
2058 ],
f245a28c 2059 "info" : {
9fda36b0
DM
2060 "POST" : {
2061 "description" : "Add 'Match Field' object.",
2062 "method" : "POST",
2063 "name" : "matchfield",
f245a28c
DM
2064 "parameters" : {
2065 "additionalProperties" : 0,
2066 "properties" : {
9fda36b0
DM
2067 "field" : {
2068 "description" : "The Field",
2069 "maxLength" : 1024,
2070 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2071 "type" : "string"
2072 },
f245a28c 2073 "ogroup" : {
9fda36b0 2074 "description" : "Object Groups ID.",
f245a28c
DM
2075 "type" : "integer",
2076 "typetext" : "<integer>"
9fda36b0
DM
2077 },
2078 "value" : {
2079 "description" : "The Value",
2080 "maxLength" : 1024,
4a46ced6
DM
2081 "type" : "string",
2082 "typetext" : "<string>"
f245a28c
DM
2083 }
2084 }
2085 },
c061d61d
DM
2086 "permissions" : {
2087 "check" : [
2088 "admin"
2089 ]
2090 },
9fda36b0 2091 "protected" : 1,
f245a28c
DM
2092 "proxyto" : "master",
2093 "returns" : {
9fda36b0
DM
2094 "description" : "The object ID.",
2095 "type" : "integer"
f245a28c
DM
2096 }
2097 }
2098 },
2099 "leaf" : 0,
9fda36b0
DM
2100 "path" : "/config/ruledb/what/{ogroup}/matchfield",
2101 "text" : "matchfield"
f245a28c
DM
2102 },
2103 {
2104 "children" : [
2105 {
2106 "info" : {
2107 "GET" : {
9fda36b0 2108 "description" : "Read 'Spam Filter' object settings.",
f245a28c 2109 "method" : "GET",
9fda36b0 2110 "name" : "read_spamfilter",
f245a28c
DM
2111 "parameters" : {
2112 "additionalProperties" : 0,
2113 "properties" : {
2114 "id" : {
2115 "description" : "Object ID.",
2116 "type" : "integer",
2117 "typetext" : "<integer>"
2118 },
2119 "ogroup" : {
2120 "description" : "Object Groups ID.",
2121 "type" : "integer",
2122 "typetext" : "<integer>"
2123 }
2124 }
2125 },
c061d61d
DM
2126 "permissions" : {
2127 "check" : [
2128 "admin",
2129 "audit"
2130 ]
2131 },
f245a28c
DM
2132 "proxyto" : "master",
2133 "returns" : {
2134 "properties" : {
2135 "id" : {
2136 "type" : "integer"
2137 }
2138 },
2139 "type" : "object"
2140 }
2141 },
2142 "PUT" : {
9fda36b0 2143 "description" : "Update 'Spam Filter' object.",
f245a28c 2144 "method" : "PUT",
9fda36b0 2145 "name" : "update_spamfilter",
f245a28c
DM
2146 "parameters" : {
2147 "additionalProperties" : 0,
2148 "properties" : {
f245a28c
DM
2149 "id" : {
2150 "description" : "Object ID.",
2151 "type" : "integer",
2152 "typetext" : "<integer>"
2153 },
2154 "ogroup" : {
2155 "description" : "Object Groups ID.",
2156 "type" : "integer",
2157 "typetext" : "<integer>"
2158 },
9fda36b0
DM
2159 "spamlevel" : {
2160 "description" : "Spam Level",
2161 "minimum" : 0,
2162 "type" : "integer",
2163 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2164 }
2165 }
2166 },
c061d61d
DM
2167 "permissions" : {
2168 "check" : [
2169 "admin"
2170 ]
2171 },
a55e94a6 2172 "protected" : 1,
f245a28c
DM
2173 "proxyto" : "master",
2174 "returns" : {
2175 "type" : "null"
2176 }
2177 }
2178 },
2179 "leaf" : 1,
9fda36b0 2180 "path" : "/config/ruledb/what/{ogroup}/spamfilter/{id}",
f245a28c
DM
2181 "text" : "{id}"
2182 }
2183 ],
2184 "info" : {
2185 "POST" : {
9fda36b0 2186 "description" : "Add 'Spam Filter' object.",
f245a28c 2187 "method" : "POST",
9fda36b0 2188 "name" : "spamfilter",
f245a28c
DM
2189 "parameters" : {
2190 "additionalProperties" : 0,
2191 "properties" : {
f245a28c
DM
2192 "ogroup" : {
2193 "description" : "Object Groups ID.",
2194 "type" : "integer",
2195 "typetext" : "<integer>"
2196 },
9fda36b0
DM
2197 "spamlevel" : {
2198 "description" : "Spam Level",
2199 "minimum" : 0,
2200 "type" : "integer",
2201 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2202 }
2203 }
2204 },
c061d61d
DM
2205 "permissions" : {
2206 "check" : [
2207 "admin"
2208 ]
2209 },
a55e94a6 2210 "protected" : 1,
f245a28c
DM
2211 "proxyto" : "master",
2212 "returns" : {
2213 "description" : "The object ID.",
2214 "type" : "integer"
2215 }
2216 }
2217 },
2218 "leaf" : 0,
9fda36b0
DM
2219 "path" : "/config/ruledb/what/{ogroup}/spamfilter",
2220 "text" : "spamfilter"
410dc2c9 2221 },
9fda36b0
DM
2222 {
2223 "children" : [
2224 {
2225 "info" : {
2226 "GET" : {
2227 "description" : "Read 'Archive Filter' object settings.",
2228 "method" : "GET",
2229 "name" : "read_archivefilter",
2230 "parameters" : {
2231 "additionalProperties" : 0,
2232 "properties" : {
2233 "id" : {
2234 "description" : "Object ID.",
2235 "type" : "integer",
2236 "typetext" : "<integer>"
2237 },
2238 "ogroup" : {
2239 "description" : "Object Groups ID.",
2240 "type" : "integer",
2241 "typetext" : "<integer>"
2242 }
2243 }
2244 },
c061d61d
DM
2245 "permissions" : {
2246 "check" : [
2247 "admin",
2248 "audit"
2249 ]
2250 },
9fda36b0
DM
2251 "proxyto" : "master",
2252 "returns" : {
2253 "properties" : {
2254 "id" : {
2255 "type" : "integer"
2256 }
2257 },
2258 "type" : "object"
2259 }
2260 },
2261 "PUT" : {
2262 "description" : "Update 'Archive Filter' object.",
2263 "method" : "PUT",
2264 "name" : "update_archivefilter",
2265 "parameters" : {
2266 "additionalProperties" : 0,
2267 "properties" : {
2268 "contenttype" : {
2269 "description" : "Content Type",
2270 "maxLength" : 1024,
2271 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2272 "type" : "string"
2273 },
2274 "id" : {
2275 "description" : "Object ID.",
2276 "type" : "integer",
2277 "typetext" : "<integer>"
2278 },
2279 "ogroup" : {
2280 "description" : "Object Groups ID.",
2281 "type" : "integer",
2282 "typetext" : "<integer>"
2283 }
2284 }
2285 },
c061d61d
DM
2286 "permissions" : {
2287 "check" : [
2288 "admin"
2289 ]
2290 },
9fda36b0
DM
2291 "protected" : 1,
2292 "proxyto" : "master",
2293 "returns" : {
2294 "type" : "null"
2295 }
2296 }
2297 },
2298 "leaf" : 1,
2299 "path" : "/config/ruledb/what/{ogroup}/archivefilter/{id}",
2300 "text" : "{id}"
f245a28c 2301 }
9fda36b0
DM
2302 ],
2303 "info" : {
2304 "POST" : {
2305 "description" : "Add 'Archive Filter' object.",
2306 "method" : "POST",
2307 "name" : "archivefilter",
2308 "parameters" : {
2309 "additionalProperties" : 0,
2310 "properties" : {
2311 "contenttype" : {
2312 "description" : "Content Type",
2313 "maxLength" : 1024,
2314 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2315 "type" : "string"
2316 },
2317 "ogroup" : {
2318 "description" : "Object Groups ID.",
2319 "type" : "integer",
2320 "typetext" : "<integer>"
2321 }
f245a28c
DM
2322 }
2323 },
c061d61d
DM
2324 "permissions" : {
2325 "check" : [
2326 "admin"
2327 ]
2328 },
9fda36b0
DM
2329 "protected" : 1,
2330 "proxyto" : "master",
2331 "returns" : {
2332 "description" : "The object ID.",
2333 "type" : "integer"
f245a28c 2334 }
eff914dc
DM
2335 }
2336 },
9fda36b0 2337 "leaf" : 0,
732d76e1
DM
2338 "path" : "/config/ruledb/what/{ogroup}/archivefilter",
2339 "text" : "archivefilter"
2340 },
2341 {
2342 "children" : [
2343 {
2344 "info" : {
2345 "GET" : {
2346 "description" : "Read 'Match Filename' object settings.",
2347 "method" : "GET",
2348 "name" : "read_filenamefilter",
2349 "parameters" : {
2350 "additionalProperties" : 0,
2351 "properties" : {
2352 "id" : {
2353 "description" : "Object ID.",
2354 "type" : "integer",
2355 "typetext" : "<integer>"
2356 },
2357 "ogroup" : {
2358 "description" : "Object Groups ID.",
2359 "type" : "integer",
2360 "typetext" : "<integer>"
2361 }
2362 }
2363 },
c061d61d
DM
2364 "permissions" : {
2365 "check" : [
2366 "admin",
2367 "audit"
2368 ]
2369 },
732d76e1
DM
2370 "proxyto" : "master",
2371 "returns" : {
2372 "properties" : {
2373 "id" : {
2374 "type" : "integer"
2375 }
2376 },
2377 "type" : "object"
2378 }
2379 },
2380 "PUT" : {
2381 "description" : "Update 'Match Filename' object.",
2382 "method" : "PUT",
2383 "name" : "update_filenamefilter",
2384 "parameters" : {
2385 "additionalProperties" : 0,
2386 "properties" : {
2387 "filename" : {
2388 "description" : "Filename filter",
2389 "maxLength" : 1024,
2390 "type" : "string",
2391 "typetext" : "<string>"
2392 },
2393 "id" : {
2394 "description" : "Object ID.",
2395 "type" : "integer",
2396 "typetext" : "<integer>"
2397 },
2398 "ogroup" : {
2399 "description" : "Object Groups ID.",
2400 "type" : "integer",
2401 "typetext" : "<integer>"
2402 }
2403 }
2404 },
c061d61d
DM
2405 "permissions" : {
2406 "check" : [
2407 "admin"
2408 ]
2409 },
732d76e1
DM
2410 "protected" : 1,
2411 "proxyto" : "master",
2412 "returns" : {
2413 "type" : "null"
2414 }
2415 }
2416 },
2417 "leaf" : 1,
2418 "path" : "/config/ruledb/what/{ogroup}/filenamefilter/{id}",
2419 "text" : "{id}"
2420 }
2421 ],
2422 "info" : {
2423 "POST" : {
2424 "description" : "Add 'Match Filename' object.",
2425 "method" : "POST",
2426 "name" : "filenamefilter",
2427 "parameters" : {
2428 "additionalProperties" : 0,
2429 "properties" : {
2430 "filename" : {
2431 "description" : "Filename filter",
2432 "maxLength" : 1024,
2433 "type" : "string",
2434 "typetext" : "<string>"
2435 },
2436 "ogroup" : {
2437 "description" : "Object Groups ID.",
2438 "type" : "integer",
2439 "typetext" : "<integer>"
2440 }
2441 }
2442 },
c061d61d
DM
2443 "permissions" : {
2444 "check" : [
2445 "admin"
2446 ]
2447 },
732d76e1
DM
2448 "protected" : 1,
2449 "proxyto" : "master",
2450 "returns" : {
2451 "description" : "The object ID.",
2452 "type" : "integer"
2453 }
2454 }
2455 },
2456 "leaf" : 0,
2457 "path" : "/config/ruledb/what/{ogroup}/filenamefilter",
2458 "text" : "filenamefilter"
410dc2c9 2459 },
9fda36b0
DM
2460 {
2461 "children" : [
2462 {
2463 "info" : {
2464 "GET" : {
732d76e1 2465 "description" : "Read 'Virus Filter' object settings.",
9fda36b0 2466 "method" : "GET",
732d76e1 2467 "name" : "read_virusfilter",
9fda36b0
DM
2468 "parameters" : {
2469 "additionalProperties" : 0,
2470 "properties" : {
2471 "id" : {
2472 "description" : "Object ID.",
2473 "type" : "integer",
2474 "typetext" : "<integer>"
2475 },
2476 "ogroup" : {
2477 "description" : "Object Groups ID.",
2478 "type" : "integer",
2479 "typetext" : "<integer>"
2480 }
2481 }
2482 },
c061d61d
DM
2483 "permissions" : {
2484 "check" : [
2485 "admin",
2486 "audit"
2487 ]
2488 },
9fda36b0
DM
2489 "proxyto" : "master",
2490 "returns" : {
2491 "properties" : {
2492 "id" : {
2493 "type" : "integer"
2494 }
2495 },
2496 "type" : "object"
2497 }
2498 },
2499 "PUT" : {
732d76e1 2500 "description" : "Update 'Virus Filter' object.",
9fda36b0 2501 "method" : "PUT",
732d76e1 2502 "name" : "update_virusfilter",
9fda36b0
DM
2503 "parameters" : {
2504 "additionalProperties" : 0,
2505 "properties" : {
9fda36b0
DM
2506 "id" : {
2507 "description" : "Object ID.",
2508 "type" : "integer",
2509 "typetext" : "<integer>"
2510 },
2511 "ogroup" : {
2512 "description" : "Object Groups ID.",
2513 "type" : "integer",
2514 "typetext" : "<integer>"
2515 }
2516 }
2517 },
c061d61d
DM
2518 "permissions" : {
2519 "check" : [
2520 "admin"
2521 ]
2522 },
9fda36b0
DM
2523 "protected" : 1,
2524 "proxyto" : "master",
2525 "returns" : {
2526 "type" : "null"
2527 }
2528 }
2529 },
2530 "leaf" : 1,
732d76e1 2531 "path" : "/config/ruledb/what/{ogroup}/virusfilter/{id}",
9fda36b0
DM
2532 "text" : "{id}"
2533 }
2534 ],
2535 "info" : {
2536 "POST" : {
732d76e1 2537 "description" : "Add 'Virus Filter' object.",
9fda36b0 2538 "method" : "POST",
732d76e1 2539 "name" : "virusfilter",
9fda36b0
DM
2540 "parameters" : {
2541 "additionalProperties" : 0,
2542 "properties" : {
9fda36b0
DM
2543 "ogroup" : {
2544 "description" : "Object Groups ID.",
2545 "type" : "integer",
2546 "typetext" : "<integer>"
2547 }
2548 }
2549 },
c061d61d
DM
2550 "permissions" : {
2551 "check" : [
2552 "admin"
2553 ]
2554 },
9fda36b0
DM
2555 "protected" : 1,
2556 "proxyto" : "master",
2557 "returns" : {
2558 "description" : "The object ID.",
2559 "type" : "integer"
2560 }
2561 }
2562 },
2563 "leaf" : 0,
732d76e1
DM
2564 "path" : "/config/ruledb/what/{ogroup}/virusfilter",
2565 "text" : "virusfilter"
9fda36b0
DM
2566 }
2567 ],
2568 "info" : {
2569 "DELETE" : {
2570 "description" : "Delete a 'what' group.",
2571 "method" : "DELETE",
2572 "name" : "delete_{$oclass}_group",
2573 "parameters" : {
2574 "additionalProperties" : 0,
2575 "properties" : {
2576 "ogroup" : {
2577 "description" : "Object Group ID.",
2578 "type" : "integer",
2579 "typetext" : "<integer>"
2580 }
2581 }
2582 },
732d76e1
DM
2583 "permissions" : {
2584 "check" : [
2585 "admin"
2586 ]
2587 },
9fda36b0
DM
2588 "protected" : 1,
2589 "proxyto" : "master",
2590 "returns" : {
2591 "type" : "null"
2592 }
2593 },
2594 "GET" : {
2595 "description" : "Directory index.",
2596 "method" : "GET",
2597 "name" : "index",
2598 "parameters" : {
2599 "additionalProperties" : 0,
2600 "properties" : {
2601 "ogroup" : {
2602 "description" : "Object Group ID.",
2603 "type" : "integer",
2604 "typetext" : "<integer>"
2605 }
2606 }
2607 },
732d76e1
DM
2608 "permissions" : {
2609 "check" : [
2610 "admin",
2611 "audit"
2612 ]
2613 },
9fda36b0
DM
2614 "returns" : {
2615 "items" : {
2616 "properties" : {
2617 "subdir" : {
2618 "type" : "string"
2619 }
2620 },
2621 "type" : "object"
2622 },
2623 "links" : [
2624 {
2625 "href" : "{subdir}",
2626 "rel" : "child"
2627 }
2628 ],
2629 "type" : "array"
2630 }
2631 }
2632 },
2633 "leaf" : 0,
2634 "path" : "/config/ruledb/what/{ogroup}",
2635 "text" : "{ogroup}"
2636 }
2637 ],
2638 "info" : {
2639 "GET" : {
2640 "description" : "Get list of 'what' groups.",
2641 "method" : "GET",
2642 "name" : "list_what_groups",
2643 "parameters" : {
2644 "additionalProperties" : 0
2645 },
732d76e1
DM
2646 "permissions" : {
2647 "check" : [
2648 "admin",
2649 "audit"
2650 ]
2651 },
9fda36b0
DM
2652 "proxyto" : "master",
2653 "returns" : {
2654 "items" : {
2655 "properties" : {
2656 "id" : {
2657 "type" : "integer"
2658 }
2659 },
2660 "type" : "object"
2661 },
2662 "type" : "array"
2663 }
2664 },
2665 "POST" : {
2666 "description" : "Create a new 'what' group.",
eff914dc 2667 "method" : "POST",
9fda36b0 2668 "name" : "create_what_group",
eff914dc
DM
2669 "parameters" : {
2670 "additionalProperties" : 0,
2671 "properties" : {
2672 "info" : {
2673 "description" : "Informational comment.",
2674 "maxLength" : 255,
2675 "optional" : 1,
2676 "type" : "string",
2677 "typetext" : "<string>"
2678 },
2679 "name" : {
2680 "description" : "Group name.",
2681 "maxLength" : 255,
2682 "type" : "string",
2683 "typetext" : "<string>"
2684 }
2685 }
2686 },
732d76e1
DM
2687 "permissions" : {
2688 "check" : [
2689 "admin"
2690 ]
2691 },
eff914dc
DM
2692 "protected" : 1,
2693 "proxyto" : "master",
2694 "returns" : {
2695 "type" : "integer"
2696 }
410dc2c9
DM
2697 }
2698 },
f245a28c 2699 "leaf" : 0,
9fda36b0
DM
2700 "path" : "/config/ruledb/what",
2701 "text" : "what"
410dc2c9
DM
2702 },
2703 {
f245a28c
DM
2704 "children" : [
2705 {
2706 "children" : [
2707 {
eff914dc 2708 "info" : {
f245a28c 2709 "GET" : {
9fda36b0 2710 "description" : "Get 'when' group properties",
f245a28c
DM
2711 "method" : "GET",
2712 "name" : "get_config",
2713 "parameters" : {
2714 "additionalProperties" : 0,
2715 "properties" : {
2716 "ogroup" : {
2717 "description" : "Object Group ID.",
2718 "type" : "integer",
2719 "typetext" : "<integer>"
2720 }
2721 }
2722 },
732d76e1
DM
2723 "permissions" : {
2724 "check" : [
2725 "admin",
2726 "audit"
2727 ]
2728 },
f245a28c
DM
2729 "proxyto" : "master",
2730 "returns" : {
2731 "properties" : {
2732 "id" : {
2733 "type" : "integer"
2734 },
2735 "info" : {
2736 "type" : "string"
2737 },
2738 "name" : {
2739 "type" : "string"
2740 }
2741 },
2742 "type" : "object"
2743 }
2744 },
2745 "PUT" : {
9fda36b0 2746 "description" : "Modify 'when' group properties",
f245a28c
DM
2747 "method" : "PUT",
2748 "name" : "set_config",
2749 "parameters" : {
2750 "additionalProperties" : 0,
2751 "properties" : {
2752 "info" : {
2753 "description" : "Informational comment.",
2754 "maxLength" : 255,
2755 "optional" : 1,
2756 "type" : "string",
2757 "typetext" : "<string>"
2758 },
2759 "name" : {
2760 "description" : "Group name.",
2761 "maxLength" : 255,
2762 "optional" : 1,
2763 "type" : "string",
2764 "typetext" : "<string>"
2765 },
2766 "ogroup" : {
2767 "description" : "Object Group ID.",
2768 "type" : "integer",
2769 "typetext" : "<integer>"
2770 }
2771 }
2772 },
732d76e1
DM
2773 "permissions" : {
2774 "check" : [
2775 "admin"
2776 ]
2777 },
d7cd791b 2778 "protected" : 1,
f245a28c
DM
2779 "proxyto" : "master",
2780 "returns" : {
2781 "type" : "null"
2782 }
2783 }
eff914dc 2784 },
f245a28c 2785 "leaf" : 1,
9fda36b0 2786 "path" : "/config/ruledb/when/{ogroup}/config",
f245a28c
DM
2787 "text" : "config"
2788 },
eff914dc
DM
2789 {
2790 "children" : [
2791 {
2792 "info" : {
2793 "DELETE" : {
9fda36b0 2794 "description" : "Remove an object from the 'when' group.",
eff914dc
DM
2795 "method" : "DELETE",
2796 "name" : "delete_object",
2797 "parameters" : {
2798 "additionalProperties" : 0,
2799 "properties" : {
2800 "id" : {
2801 "description" : "Object ID.",
2802 "type" : "integer",
2803 "typetext" : "<integer>"
2804 },
2805 "ogroup" : {
2806 "description" : "Object Group ID.",
2807 "type" : "integer",
2808 "typetext" : "<integer>"
2809 }
2810 }
2811 },
732d76e1
DM
2812 "permissions" : {
2813 "check" : [
2814 "admin"
2815 ]
2816 },
a55e94a6 2817 "protected" : 1,
eff914dc
DM
2818 "proxyto" : "master",
2819 "returns" : {
2820 "type" : "null"
2821 }
2822 }
2823 },
2824 "leaf" : 1,
9fda36b0 2825 "path" : "/config/ruledb/when/{ogroup}/objects/{id}",
eff914dc
DM
2826 "text" : "{id}"
2827 }
2828 ],
2829 "info" : {
2830 "GET" : {
9fda36b0 2831 "description" : "List 'when' group objects.",
eff914dc
DM
2832 "method" : "GET",
2833 "name" : "objects",
2834 "parameters" : {
2835 "additionalProperties" : 0,
2836 "properties" : {
2837 "ogroup" : {
2838 "description" : "Object Group ID.",
2839 "type" : "integer",
2840 "typetext" : "<integer>"
2841 }
2842 }
2843 },
732d76e1
DM
2844 "permissions" : {
2845 "check" : [
2846 "admin",
2847 "audit"
2848 ]
2849 },
eff914dc
DM
2850 "proxyto" : "master",
2851 "returns" : {
2852 "items" : {
2853 "properties" : {
2854 "id" : {
2855 "type" : "integer"
2856 }
2857 },
2858 "type" : "object"
2859 },
2860 "links" : [
2861 {
2862 "href" : "{id}",
2863 "rel" : "child"
2864 }
2865 ],
2866 "type" : "array"
2867 }
2868 }
2869 },
2870 "leaf" : 0,
9fda36b0 2871 "path" : "/config/ruledb/when/{ogroup}/objects",
eff914dc
DM
2872 "text" : "objects"
2873 },
2874 {
2875 "children" : [
2876 {
2877 "info" : {
2878 "GET" : {
9fda36b0 2879 "description" : "Read 'TimeFrame' object settings.",
eff914dc 2880 "method" : "GET",
9fda36b0 2881 "name" : "read_timeframe",
eff914dc
DM
2882 "parameters" : {
2883 "additionalProperties" : 0,
2884 "properties" : {
2885 "id" : {
2886 "description" : "Object ID.",
2887 "type" : "integer",
2888 "typetext" : "<integer>"
2889 },
2890 "ogroup" : {
2891 "description" : "Object Groups ID.",
2892 "type" : "integer",
2893 "typetext" : "<integer>"
2894 }
2895 }
2896 },
c061d61d
DM
2897 "permissions" : {
2898 "check" : [
2899 "admin",
2900 "audit"
2901 ]
2902 },
eff914dc
DM
2903 "proxyto" : "master",
2904 "returns" : {
2905 "properties" : {
2906 "id" : {
2907 "type" : "integer"
2908 }
2909 },
2910 "type" : "object"
2911 }
2912 },
2913 "PUT" : {
9fda36b0 2914 "description" : "Update 'TimeFrame' object.",
eff914dc 2915 "method" : "PUT",
9fda36b0 2916 "name" : "update_timeframe",
eff914dc
DM
2917 "parameters" : {
2918 "additionalProperties" : 0,
2919 "properties" : {
9fda36b0
DM
2920 "end" : {
2921 "description" : "End time in `H:i` format (00:00).",
2922 "pattern" : "\\d?\\d:\\d?\\d",
2923 "type" : "string"
eff914dc
DM
2924 },
2925 "id" : {
2926 "description" : "Object ID.",
2927 "type" : "integer",
2928 "typetext" : "<integer>"
2929 },
2930 "ogroup" : {
2931 "description" : "Object Groups ID.",
2932 "type" : "integer",
2933 "typetext" : "<integer>"
9fda36b0
DM
2934 },
2935 "start" : {
2936 "description" : "Start time in `H:i` format (00:00).",
2937 "pattern" : "\\d?\\d:\\d?\\d",
2938 "type" : "string"
eff914dc
DM
2939 }
2940 }
2941 },
c061d61d
DM
2942 "permissions" : {
2943 "check" : [
2944 "admin"
2945 ]
2946 },
a55e94a6 2947 "protected" : 1,
eff914dc
DM
2948 "proxyto" : "master",
2949 "returns" : {
2950 "type" : "null"
2951 }
2952 }
2953 },
2954 "leaf" : 1,
9fda36b0 2955 "path" : "/config/ruledb/when/{ogroup}/timeframe/{id}",
eff914dc
DM
2956 "text" : "{id}"
2957 }
2958 ],
2959 "info" : {
2960 "POST" : {
9fda36b0 2961 "description" : "Add 'TimeFrame' object.",
eff914dc 2962 "method" : "POST",
9fda36b0 2963 "name" : "timeframe",
eff914dc
DM
2964 "parameters" : {
2965 "additionalProperties" : 0,
2966 "properties" : {
9fda36b0
DM
2967 "end" : {
2968 "description" : "End time in `H:i` format (00:00).",
2969 "pattern" : "\\d?\\d:\\d?\\d",
2970 "type" : "string"
eff914dc
DM
2971 },
2972 "ogroup" : {
2973 "description" : "Object Groups ID.",
2974 "type" : "integer",
2975 "typetext" : "<integer>"
9fda36b0
DM
2976 },
2977 "start" : {
2978 "description" : "Start time in `H:i` format (00:00).",
2979 "pattern" : "\\d?\\d:\\d?\\d",
2980 "type" : "string"
eff914dc
DM
2981 }
2982 }
2983 },
c061d61d
DM
2984 "permissions" : {
2985 "check" : [
2986 "admin"
2987 ]
2988 },
a55e94a6 2989 "protected" : 1,
eff914dc
DM
2990 "proxyto" : "master",
2991 "returns" : {
2992 "description" : "The object ID.",
2993 "type" : "integer"
2994 }
2995 }
2996 },
2997 "leaf" : 0,
9fda36b0
DM
2998 "path" : "/config/ruledb/when/{ogroup}/timeframe",
2999 "text" : "timeframe"
3000 }
3001 ],
3002 "info" : {
3003 "DELETE" : {
3004 "description" : "Delete a 'when' group.",
3005 "method" : "DELETE",
3006 "name" : "delete_{$oclass}_group",
3007 "parameters" : {
3008 "additionalProperties" : 0,
3009 "properties" : {
3010 "ogroup" : {
3011 "description" : "Object Group ID.",
3012 "type" : "integer",
3013 "typetext" : "<integer>"
3014 }
3015 }
3016 },
732d76e1
DM
3017 "permissions" : {
3018 "check" : [
3019 "admin"
3020 ]
3021 },
9fda36b0
DM
3022 "protected" : 1,
3023 "proxyto" : "master",
3024 "returns" : {
3025 "type" : "null"
3026 }
3027 },
3028 "GET" : {
3029 "description" : "Directory index.",
3030 "method" : "GET",
3031 "name" : "index",
3032 "parameters" : {
3033 "additionalProperties" : 0,
3034 "properties" : {
3035 "ogroup" : {
3036 "description" : "Object Group ID.",
3037 "type" : "integer",
3038 "typetext" : "<integer>"
3039 }
3040 }
3041 },
732d76e1
DM
3042 "permissions" : {
3043 "check" : [
3044 "admin",
3045 "audit"
3046 ]
3047 },
9fda36b0
DM
3048 "returns" : {
3049 "items" : {
3050 "properties" : {
3051 "subdir" : {
3052 "type" : "string"
eff914dc
DM
3053 }
3054 },
9fda36b0
DM
3055 "type" : "object"
3056 },
3057 "links" : [
3058 {
3059 "href" : "{subdir}",
3060 "rel" : "child"
3061 }
3062 ],
3063 "type" : "array"
3064 }
3065 }
3066 },
3067 "leaf" : 0,
3068 "path" : "/config/ruledb/when/{ogroup}",
3069 "text" : "{ogroup}"
3070 }
3071 ],
3072 "info" : {
3073 "GET" : {
3074 "description" : "Get list of 'when' groups.",
3075 "method" : "GET",
3076 "name" : "list_when_groups",
3077 "parameters" : {
3078 "additionalProperties" : 0
3079 },
732d76e1
DM
3080 "permissions" : {
3081 "check" : [
3082 "admin",
3083 "audit"
3084 ]
3085 },
9fda36b0
DM
3086 "proxyto" : "master",
3087 "returns" : {
3088 "items" : {
3089 "properties" : {
3090 "id" : {
3091 "type" : "integer"
eff914dc 3092 }
9fda36b0
DM
3093 },
3094 "type" : "object"
3095 },
3096 "type" : "array"
3097 }
3098 },
3099 "POST" : {
3100 "description" : "Create a new 'when' group.",
3101 "method" : "POST",
3102 "name" : "create_when_group",
3103 "parameters" : {
3104 "additionalProperties" : 0,
3105 "properties" : {
eff914dc 3106 "info" : {
9fda36b0
DM
3107 "description" : "Informational comment.",
3108 "maxLength" : 255,
3109 "optional" : 1,
3110 "type" : "string",
3111 "typetext" : "<string>"
3112 },
3113 "name" : {
3114 "description" : "Group name.",
3115 "maxLength" : 255,
3116 "type" : "string",
3117 "typetext" : "<string>"
3118 }
3119 }
3120 },
732d76e1
DM
3121 "permissions" : {
3122 "check" : [
3123 "admin"
3124 ]
3125 },
9fda36b0
DM
3126 "protected" : 1,
3127 "proxyto" : "master",
3128 "returns" : {
3129 "type" : "integer"
3130 }
3131 }
3132 },
3133 "leaf" : 0,
3134 "path" : "/config/ruledb/when",
3135 "text" : "when"
3136 },
3137 {
3138 "children" : [
3139 {
3140 "children" : [
3141 {
3142 "info" : {
3143 "GET" : {
3144 "description" : "Get 'who' group properties",
3145 "method" : "GET",
3146 "name" : "get_config",
eff914dc
DM
3147 "parameters" : {
3148 "additionalProperties" : 0,
3149 "properties" : {
9fda36b0
DM
3150 "ogroup" : {
3151 "description" : "Object Group ID.",
3152 "type" : "integer",
3153 "typetext" : "<integer>"
3154 }
3155 }
3156 },
732d76e1
DM
3157 "permissions" : {
3158 "check" : [
3159 "admin",
3160 "audit"
3161 ]
3162 },
9fda36b0
DM
3163 "proxyto" : "master",
3164 "returns" : {
3165 "properties" : {
3166 "id" : {
3167 "type" : "integer"
3168 },
3169 "info" : {
3170 "type" : "string"
3171 },
3172 "name" : {
3173 "type" : "string"
3174 }
3175 },
3176 "type" : "object"
3177 }
3178 },
3179 "PUT" : {
3180 "description" : "Modify 'who' group properties",
3181 "method" : "PUT",
3182 "name" : "set_config",
3183 "parameters" : {
3184 "additionalProperties" : 0,
3185 "properties" : {
3186 "info" : {
3187 "description" : "Informational comment.",
3188 "maxLength" : 255,
3189 "optional" : 1,
3190 "type" : "string",
3191 "typetext" : "<string>"
3192 },
3193 "name" : {
3194 "description" : "Group name.",
3195 "maxLength" : 255,
3196 "optional" : 1,
eff914dc
DM
3197 "type" : "string",
3198 "typetext" : "<string>"
3199 },
3200 "ogroup" : {
9fda36b0 3201 "description" : "Object Group ID.",
eff914dc
DM
3202 "type" : "integer",
3203 "typetext" : "<integer>"
3204 }
3205 }
3206 },
732d76e1
DM
3207 "permissions" : {
3208 "check" : [
3209 "admin"
3210 ]
3211 },
a55e94a6 3212 "protected" : 1,
eff914dc
DM
3213 "proxyto" : "master",
3214 "returns" : {
9fda36b0 3215 "type" : "null"
eff914dc
DM
3216 }
3217 }
3218 },
9fda36b0
DM
3219 "leaf" : 1,
3220 "path" : "/config/ruledb/who/{ogroup}/config",
3221 "text" : "config"
eff914dc
DM
3222 },
3223 {
3224 "children" : [
3225 {
3226 "info" : {
9fda36b0
DM
3227 "DELETE" : {
3228 "description" : "Remove an object from the 'who' group.",
3229 "method" : "DELETE",
3230 "name" : "delete_object",
eff914dc
DM
3231 "parameters" : {
3232 "additionalProperties" : 0,
3233 "properties" : {
3234 "id" : {
3235 "description" : "Object ID.",
3236 "type" : "integer",
3237 "typetext" : "<integer>"
3238 },
3239 "ogroup" : {
9fda36b0 3240 "description" : "Object Group ID.",
eff914dc
DM
3241 "type" : "integer",
3242 "typetext" : "<integer>"
3243 }
3244 }
3245 },
732d76e1
DM
3246 "permissions" : {
3247 "check" : [
3248 "admin"
3249 ]
3250 },
9fda36b0 3251 "protected" : 1,
eff914dc
DM
3252 "proxyto" : "master",
3253 "returns" : {
9fda36b0 3254 "type" : "null"
eff914dc
DM
3255 }
3256 }
3257 },
3258 "leaf" : 1,
9fda36b0 3259 "path" : "/config/ruledb/who/{ogroup}/objects/{id}",
eff914dc
DM
3260 "text" : "{id}"
3261 }
3262 ],
3263 "info" : {
9fda36b0
DM
3264 "GET" : {
3265 "description" : "List 'who' group objects.",
3266 "method" : "GET",
3267 "name" : "objects",
eff914dc
DM
3268 "parameters" : {
3269 "additionalProperties" : 0,
3270 "properties" : {
3271 "ogroup" : {
9fda36b0 3272 "description" : "Object Group ID.",
eff914dc
DM
3273 "type" : "integer",
3274 "typetext" : "<integer>"
eff914dc
DM
3275 }
3276 }
3277 },
732d76e1
DM
3278 "permissions" : {
3279 "check" : [
3280 "admin",
3281 "audit"
3282 ]
3283 },
eff914dc
DM
3284 "proxyto" : "master",
3285 "returns" : {
9fda36b0
DM
3286 "items" : {
3287 "properties" : {
3288 "id" : {
3289 "type" : "integer"
3290 }
3291 },
3292 "type" : "object"
3293 },
3294 "links" : [
3295 {
3296 "href" : "{id}",
3297 "rel" : "child"
3298 }
3299 ],
3300 "type" : "array"
eff914dc
DM
3301 }
3302 }
3303 },
3304 "leaf" : 0,
9fda36b0
DM
3305 "path" : "/config/ruledb/who/{ogroup}/objects",
3306 "text" : "objects"
eff914dc
DM
3307 },
3308 {
3309 "children" : [
3310 {
3311 "info" : {
3312 "GET" : {
9fda36b0 3313 "description" : "Read 'Mail address' object settings.",
eff914dc 3314 "method" : "GET",
9fda36b0 3315 "name" : "read_email",
eff914dc
DM
3316 "parameters" : {
3317 "additionalProperties" : 0,
3318 "properties" : {
3319 "id" : {
3320 "description" : "Object ID.",
3321 "type" : "integer",
3322 "typetext" : "<integer>"
3323 },
3324 "ogroup" : {
3325 "description" : "Object Groups ID.",
3326 "type" : "integer",
3327 "typetext" : "<integer>"
3328 }
3329 }
3330 },
c061d61d
DM
3331 "permissions" : {
3332 "check" : [
3333 "admin",
3334 "audit"
3335 ]
3336 },
eff914dc
DM
3337 "proxyto" : "master",
3338 "returns" : {
3339 "properties" : {
3340 "id" : {
3341 "type" : "integer"
3342 }
3343 },
3344 "type" : "object"
3345 }
3346 },
3347 "PUT" : {
9fda36b0 3348 "description" : "Update 'Mail address' object.",
eff914dc 3349 "method" : "PUT",
9fda36b0 3350 "name" : "update_email",
eff914dc
DM
3351 "parameters" : {
3352 "additionalProperties" : 0,
3353 "properties" : {
9fda36b0
DM
3354 "email" : {
3355 "description" : "Email address.",
3356 "format" : "email",
3357 "type" : "string",
3358 "typetext" : "<string>"
3359 },
eff914dc
DM
3360 "id" : {
3361 "description" : "Object ID.",
3362 "type" : "integer",
3363 "typetext" : "<integer>"
3364 },
eff914dc
DM
3365 "ogroup" : {
3366 "description" : "Object Groups ID.",
3367 "type" : "integer",
3368 "typetext" : "<integer>"
3369 }
3370 }
3371 },
c061d61d
DM
3372 "permissions" : {
3373 "check" : [
3374 "admin"
3375 ]
3376 },
a55e94a6 3377 "protected" : 1,
eff914dc
DM
3378 "proxyto" : "master",
3379 "returns" : {
3380 "type" : "null"
3381 }
3382 }
3383 },
3384 "leaf" : 1,
9fda36b0 3385 "path" : "/config/ruledb/who/{ogroup}/email/{id}",
eff914dc
DM
3386 "text" : "{id}"
3387 }
3388 ],
3389 "info" : {
3390 "POST" : {
9fda36b0 3391 "description" : "Add 'Mail address' object.",
eff914dc 3392 "method" : "POST",
9fda36b0 3393 "name" : "email",
eff914dc
DM
3394 "parameters" : {
3395 "additionalProperties" : 0,
3396 "properties" : {
9fda36b0
DM
3397 "email" : {
3398 "description" : "Email address.",
3399 "format" : "email",
eff914dc
DM
3400 "type" : "string",
3401 "typetext" : "<string>"
3402 },
3403 "ogroup" : {
3404 "description" : "Object Groups ID.",
3405 "type" : "integer",
3406 "typetext" : "<integer>"
3407 }
3408 }
3409 },
c061d61d
DM
3410 "permissions" : {
3411 "check" : [
3412 "admin"
3413 ]
3414 },
a55e94a6 3415 "protected" : 1,
eff914dc
DM
3416 "proxyto" : "master",
3417 "returns" : {
3418 "description" : "The object ID.",
3419 "type" : "integer"
3420 }
3421 }
3422 },
3423 "leaf" : 0,
9fda36b0
DM
3424 "path" : "/config/ruledb/who/{ogroup}/email",
3425 "text" : "email"
eff914dc
DM
3426 },
3427 {
3428 "children" : [
3429 {
3430 "info" : {
3431 "GET" : {
9fda36b0 3432 "description" : "Read 'Domain' object settings.",
eff914dc 3433 "method" : "GET",
9fda36b0 3434 "name" : "read_domain",
eff914dc
DM
3435 "parameters" : {
3436 "additionalProperties" : 0,
3437 "properties" : {
3438 "id" : {
3439 "description" : "Object ID.",
3440 "type" : "integer",
3441 "typetext" : "<integer>"
3442 },
3443 "ogroup" : {
3444 "description" : "Object Groups ID.",
3445 "type" : "integer",
3446 "typetext" : "<integer>"
3447 }
3448 }
3449 },
c061d61d
DM
3450 "permissions" : {
3451 "check" : [
3452 "admin",
3453 "audit"
3454 ]
3455 },
eff914dc
DM
3456 "proxyto" : "master",
3457 "returns" : {
3458 "properties" : {
3459 "id" : {
3460 "type" : "integer"
3461 }
3462 },
3463 "type" : "object"
3464 }
3465 },
3466 "PUT" : {
9fda36b0 3467 "description" : "Update 'Domain' object.",
eff914dc 3468 "method" : "PUT",
9fda36b0 3469 "name" : "update_domain",
eff914dc
DM
3470 "parameters" : {
3471 "additionalProperties" : 0,
3472 "properties" : {
9fda36b0
DM
3473 "domain" : {
3474 "description" : "DNS domain name (Sender).",
3475 "format" : "dns-name",
eff914dc
DM
3476 "type" : "string",
3477 "typetext" : "<string>"
3478 },
3479 "id" : {
3480 "description" : "Object ID.",
3481 "type" : "integer",
3482 "typetext" : "<integer>"
3483 },
3484 "ogroup" : {
3485 "description" : "Object Groups ID.",
3486 "type" : "integer",
3487 "typetext" : "<integer>"
3488 }
3489 }
3490 },
c061d61d
DM
3491 "permissions" : {
3492 "check" : [
3493 "admin"
3494 ]
3495 },
a55e94a6 3496 "protected" : 1,
eff914dc
DM
3497 "proxyto" : "master",
3498 "returns" : {
3499 "type" : "null"
3500 }
3501 }
3502 },
3503 "leaf" : 1,
9fda36b0 3504 "path" : "/config/ruledb/who/{ogroup}/domain/{id}",
eff914dc
DM
3505 "text" : "{id}"
3506 }
3507 ],
3508 "info" : {
3509 "POST" : {
9fda36b0 3510 "description" : "Add 'Domain' object.",
eff914dc 3511 "method" : "POST",
9fda36b0 3512 "name" : "domain",
eff914dc
DM
3513 "parameters" : {
3514 "additionalProperties" : 0,
3515 "properties" : {
9fda36b0
DM
3516 "domain" : {
3517 "description" : "DNS domain name (Sender).",
3518 "format" : "dns-name",
eff914dc
DM
3519 "type" : "string",
3520 "typetext" : "<string>"
3521 },
3522 "ogroup" : {
3523 "description" : "Object Groups ID.",
3524 "type" : "integer",
3525 "typetext" : "<integer>"
3526 }
3527 }
3528 },
c061d61d
DM
3529 "permissions" : {
3530 "check" : [
3531 "admin"
3532 ]
3533 },
a55e94a6 3534 "protected" : 1,
eff914dc
DM
3535 "proxyto" : "master",
3536 "returns" : {
3537 "description" : "The object ID.",
3538 "type" : "integer"
3539 }
3540 }
3541 },
3542 "leaf" : 0,
9fda36b0
DM
3543 "path" : "/config/ruledb/who/{ogroup}/domain",
3544 "text" : "domain"
a55e94a6
DM
3545 },
3546 {
3547 "children" : [
3548 {
3549 "info" : {
3550 "GET" : {
9fda36b0 3551 "description" : "Read 'Regular Expression' object settings.",
a55e94a6 3552 "method" : "GET",
9fda36b0 3553 "name" : "read_regex",
a55e94a6
DM
3554 "parameters" : {
3555 "additionalProperties" : 0,
3556 "properties" : {
3557 "id" : {
3558 "description" : "Object ID.",
3559 "type" : "integer",
3560 "typetext" : "<integer>"
3561 },
3562 "ogroup" : {
3563 "description" : "Object Groups ID.",
3564 "type" : "integer",
3565 "typetext" : "<integer>"
3566 }
3567 }
3568 },
c061d61d
DM
3569 "permissions" : {
3570 "check" : [
3571 "admin",
3572 "audit"
3573 ]
3574 },
a55e94a6
DM
3575 "proxyto" : "master",
3576 "returns" : {
3577 "properties" : {
3578 "id" : {
3579 "type" : "integer"
3580 }
3581 },
3582 "type" : "object"
3583 }
3584 },
3585 "PUT" : {
9fda36b0 3586 "description" : "Update 'Regular Expression' object.",
a55e94a6 3587 "method" : "PUT",
9fda36b0 3588 "name" : "update_regex",
a55e94a6
DM
3589 "parameters" : {
3590 "additionalProperties" : 0,
3591 "properties" : {
a55e94a6
DM
3592 "id" : {
3593 "description" : "Object ID.",
3594 "type" : "integer",
3595 "typetext" : "<integer>"
3596 },
a55e94a6
DM
3597 "ogroup" : {
3598 "description" : "Object Groups ID.",
3599 "type" : "integer",
3600 "typetext" : "<integer>"
3601 },
9fda36b0
DM
3602 "regex" : {
3603 "description" : "Email address regular expression.",
3604 "maxLength" : 1024,
a55e94a6
DM
3605 "type" : "string",
3606 "typetext" : "<string>"
3607 }
3608 }
3609 },
c061d61d
DM
3610 "permissions" : {
3611 "check" : [
3612 "admin"
3613 ]
3614 },
a55e94a6
DM
3615 "protected" : 1,
3616 "proxyto" : "master",
3617 "returns" : {
3618 "type" : "null"
3619 }
3620 }
3621 },
3622 "leaf" : 1,
9fda36b0 3623 "path" : "/config/ruledb/who/{ogroup}/regex/{id}",
a55e94a6
DM
3624 "text" : "{id}"
3625 }
3626 ],
3627 "info" : {
3628 "POST" : {
9fda36b0 3629 "description" : "Add 'Regular Expression' object.",
a55e94a6 3630 "method" : "POST",
9fda36b0 3631 "name" : "regex",
a55e94a6
DM
3632 "parameters" : {
3633 "additionalProperties" : 0,
3634 "properties" : {
a55e94a6
DM
3635 "ogroup" : {
3636 "description" : "Object Groups ID.",
3637 "type" : "integer",
3638 "typetext" : "<integer>"
3639 },
9fda36b0
DM
3640 "regex" : {
3641 "description" : "Email address regular expression.",
3642 "maxLength" : 1024,
a55e94a6
DM
3643 "type" : "string",
3644 "typetext" : "<string>"
3645 }
3646 }
3647 },
c061d61d
DM
3648 "permissions" : {
3649 "check" : [
3650 "admin"
3651 ]
3652 },
a55e94a6
DM
3653 "protected" : 1,
3654 "proxyto" : "master",
3655 "returns" : {
3656 "description" : "The object ID.",
3657 "type" : "integer"
3658 }
3659 }
3660 },
3661 "leaf" : 0,
9fda36b0
DM
3662 "path" : "/config/ruledb/who/{ogroup}/regex",
3663 "text" : "regex"
a55e94a6
DM
3664 },
3665 {
3666 "children" : [
3667 {
3668 "info" : {
3669 "GET" : {
9fda36b0 3670 "description" : "Read 'IP Address' object settings.",
a55e94a6 3671 "method" : "GET",
9fda36b0 3672 "name" : "read_ip",
a55e94a6
DM
3673 "parameters" : {
3674 "additionalProperties" : 0,
3675 "properties" : {
3676 "id" : {
3677 "description" : "Object ID.",
3678 "type" : "integer",
3679 "typetext" : "<integer>"
3680 },
3681 "ogroup" : {
3682 "description" : "Object Groups ID.",
3683 "type" : "integer",
3684 "typetext" : "<integer>"
3685 }
3686 }
3687 },
c061d61d
DM
3688 "permissions" : {
3689 "check" : [
3690 "admin",
3691 "audit"
3692 ]
3693 },
a55e94a6
DM
3694 "proxyto" : "master",
3695 "returns" : {
3696 "properties" : {
3697 "id" : {
3698 "type" : "integer"
3699 }
3700 },
3701 "type" : "object"
3702 }
3703 },
3704 "PUT" : {
9fda36b0 3705 "description" : "Update 'IP Address' object.",
a55e94a6 3706 "method" : "PUT",
9fda36b0 3707 "name" : "update_ip",
a55e94a6
DM
3708 "parameters" : {
3709 "additionalProperties" : 0,
3710 "properties" : {
a55e94a6
DM
3711 "id" : {
3712 "description" : "Object ID.",
3713 "type" : "integer",
3714 "typetext" : "<integer>"
3715 },
9fda36b0
DM
3716 "ip" : {
3717 "description" : "IP address",
3718 "format" : "ip",
3719 "type" : "string",
3720 "typetext" : "<string>"
3721 },
a55e94a6
DM
3722 "ogroup" : {
3723 "description" : "Object Groups ID.",
3724 "type" : "integer",
3725 "typetext" : "<integer>"
a55e94a6
DM
3726 }
3727 }
3728 },
c061d61d
DM
3729 "permissions" : {
3730 "check" : [
3731 "admin"
3732 ]
3733 },
a55e94a6
DM
3734 "protected" : 1,
3735 "proxyto" : "master",
3736 "returns" : {
3737 "type" : "null"
3738 }
3739 }
3740 },
3741 "leaf" : 1,
9fda36b0 3742 "path" : "/config/ruledb/who/{ogroup}/ip/{id}",
a55e94a6
DM
3743 "text" : "{id}"
3744 }
3745 ],
3746 "info" : {
3747 "POST" : {
9fda36b0 3748 "description" : "Add 'IP Address' object.",
a55e94a6 3749 "method" : "POST",
9fda36b0 3750 "name" : "ip",
a55e94a6
DM
3751 "parameters" : {
3752 "additionalProperties" : 0,
3753 "properties" : {
9fda36b0
DM
3754 "ip" : {
3755 "description" : "IP address",
3756 "format" : "ip",
a55e94a6
DM
3757 "type" : "string",
3758 "typetext" : "<string>"
3759 },
3760 "ogroup" : {
3761 "description" : "Object Groups ID.",
3762 "type" : "integer",
3763 "typetext" : "<integer>"
a55e94a6
DM
3764 }
3765 }
3766 },
c061d61d
DM
3767 "permissions" : {
3768 "check" : [
3769 "admin"
3770 ]
3771 },
a55e94a6
DM
3772 "protected" : 1,
3773 "proxyto" : "master",
3774 "returns" : {
3775 "description" : "The object ID.",
3776 "type" : "integer"
3777 }
3778 }
3779 },
3780 "leaf" : 0,
9fda36b0
DM
3781 "path" : "/config/ruledb/who/{ogroup}/ip",
3782 "text" : "ip"
eff914dc 3783 },
9fda36b0
DM
3784 {
3785 "children" : [
3786 {
3787 "info" : {
3788 "GET" : {
3789 "description" : "Read 'IP Network' object settings.",
3790 "method" : "GET",
3791 "name" : "read_network",
3792 "parameters" : {
3793 "additionalProperties" : 0,
3794 "properties" : {
3795 "id" : {
3796 "description" : "Object ID.",
3797 "type" : "integer",
3798 "typetext" : "<integer>"
3799 },
3800 "ogroup" : {
3801 "description" : "Object Groups ID.",
3802 "type" : "integer",
3803 "typetext" : "<integer>"
3804 }
3805 }
3806 },
c061d61d
DM
3807 "permissions" : {
3808 "check" : [
3809 "admin",
3810 "audit"
3811 ]
3812 },
9fda36b0
DM
3813 "proxyto" : "master",
3814 "returns" : {
3815 "properties" : {
3816 "id" : {
3817 "type" : "integer"
3818 }
3819 },
3820 "type" : "object"
3821 }
3822 },
3823 "PUT" : {
3824 "description" : "Update 'IP Network' object.",
3825 "method" : "PUT",
3826 "name" : "update_network",
3827 "parameters" : {
3828 "additionalProperties" : 0,
3829 "properties" : {
3830 "cidr" : {
3831 "description" : "Network address in CIDR notation.",
3832 "format" : "CIDR",
3833 "type" : "string",
3834 "typetext" : "<string>"
3835 },
3836 "id" : {
3837 "description" : "Object ID.",
3838 "type" : "integer",
3839 "typetext" : "<integer>"
3840 },
3841 "ogroup" : {
3842 "description" : "Object Groups ID.",
3843 "type" : "integer",
3844 "typetext" : "<integer>"
3845 }
3846 }
3847 },
c061d61d
DM
3848 "permissions" : {
3849 "check" : [
3850 "admin"
3851 ]
3852 },
9fda36b0
DM
3853 "protected" : 1,
3854 "proxyto" : "master",
3855 "returns" : {
3856 "type" : "null"
3857 }
3858 }
3859 },
3860 "leaf" : 1,
3861 "path" : "/config/ruledb/who/{ogroup}/network/{id}",
3862 "text" : "{id}"
eff914dc 3863 }
9fda36b0
DM
3864 ],
3865 "info" : {
3866 "POST" : {
3867 "description" : "Add 'IP Network' object.",
3868 "method" : "POST",
3869 "name" : "network",
3870 "parameters" : {
3871 "additionalProperties" : 0,
3872 "properties" : {
3873 "cidr" : {
3874 "description" : "Network address in CIDR notation.",
3875 "format" : "CIDR",
3876 "type" : "string",
3877 "typetext" : "<string>"
3878 },
3879 "ogroup" : {
3880 "description" : "Object Groups ID.",
3881 "type" : "integer",
3882 "typetext" : "<integer>"
3883 }
eff914dc
DM
3884 }
3885 },
c061d61d
DM
3886 "permissions" : {
3887 "check" : [
3888 "admin"
3889 ]
3890 },
9fda36b0
DM
3891 "protected" : 1,
3892 "proxyto" : "master",
3893 "returns" : {
3894 "description" : "The object ID.",
3895 "type" : "integer"
eff914dc 3896 }
eff914dc
DM
3897 }
3898 },
9fda36b0
DM
3899 "leaf" : 0,
3900 "path" : "/config/ruledb/who/{ogroup}/network",
3901 "text" : "network"
410dc2c9 3902 },
9fda36b0
DM
3903 {
3904 "children" : [
3905 {
3906 "info" : {
3907 "GET" : {
3908 "description" : "Read 'LDAP Group' object settings.",
3909 "method" : "GET",
3910 "name" : "read_ldap",
3911 "parameters" : {
3912 "additionalProperties" : 0,
3913 "properties" : {
3914 "id" : {
3915 "description" : "Object ID.",
3916 "type" : "integer",
3917 "typetext" : "<integer>"
3918 },
3919 "ogroup" : {
3920 "description" : "Object Groups ID.",
3921 "type" : "integer",
3922 "typetext" : "<integer>"
3923 }
3924 }
3925 },
c061d61d
DM
3926 "permissions" : {
3927 "check" : [
3928 "admin",
3929 "audit"
3930 ]
3931 },
9fda36b0
DM
3932 "proxyto" : "master",
3933 "returns" : {
3934 "properties" : {
3935 "id" : {
3936 "type" : "integer"
3937 }
3938 },
3939 "type" : "object"
3940 }
3941 },
3942 "PUT" : {
3943 "description" : "Update 'LDAP Group' object.",
3944 "method" : "PUT",
3945 "name" : "update_ldap",
3946 "parameters" : {
3947 "additionalProperties" : 0,
3948 "properties" : {
3949 "group" : {
3950 "description" : "LDAP Group DN",
3951 "maxLength" : 1024,
3952 "minLength" : 1,
3953 "optional" : 1,
3954 "type" : "string",
3955 "typetext" : "<string>"
3956 },
3957 "id" : {
3958 "description" : "Object ID.",
3959 "type" : "integer",
3960 "typetext" : "<integer>"
3961 },
3962 "mode" : {
3963 "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
3964 "enum" : [
3965 "any",
3966 "none",
3967 "group"
3968 ],
3969 "type" : "string"
3970 },
3971 "ogroup" : {
3972 "description" : "Object Groups ID.",
3973 "type" : "integer",
3974 "typetext" : "<integer>"
3975 },
3976 "profile" : {
3977 "description" : "Profile ID.",
3978 "format" : "pve-configid",
3979 "optional" : 1,
3980 "type" : "string",
3981 "typetext" : "<string>"
3982 }
3983 }
3984 },
c061d61d
DM
3985 "permissions" : {
3986 "check" : [
3987 "admin"
3988 ]
3989 },
9fda36b0
DM
3990 "protected" : 1,
3991 "proxyto" : "master",
3992 "returns" : {
3993 "type" : "null"
3994 }
3995 }
3996 },
3997 "leaf" : 1,
3998 "path" : "/config/ruledb/who/{ogroup}/ldap/{id}",
3999 "text" : "{id}"
4000 }
4001 ],
4002 "info" : {
4003 "POST" : {
4004 "description" : "Add 'LDAP Group' object.",
4005 "method" : "POST",
4006 "name" : "ldap",
4007 "parameters" : {
4008 "additionalProperties" : 0,
4009 "properties" : {
4010 "group" : {
4011 "description" : "LDAP Group DN",
4012 "maxLength" : 1024,
4013 "minLength" : 1,
4014 "optional" : 1,
4015 "type" : "string",
4016 "typetext" : "<string>"
4017 },
4018 "mode" : {
4019 "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
4020 "enum" : [
4021 "any",
4022 "none",
4023 "group"
4024 ],
4025 "type" : "string"
4026 },
4027 "ogroup" : {
4028 "description" : "Object Groups ID.",
4029 "type" : "integer",
4030 "typetext" : "<integer>"
4031 },
4032 "profile" : {
4033 "description" : "Profile ID.",
4034 "format" : "pve-configid",
4035 "optional" : 1,
4036 "type" : "string",
4037 "typetext" : "<string>"
4038 }
4039 }
4040 },
c061d61d
DM
4041 "permissions" : {
4042 "check" : [
4043 "admin"
4044 ]
4045 },
9fda36b0
DM
4046 "protected" : 1,
4047 "proxyto" : "master",
4048 "returns" : {
4049 "description" : "The object ID.",
4050 "type" : "integer"
4051 }
4052 }
4053 },
4054 "leaf" : 0,
4055 "path" : "/config/ruledb/who/{ogroup}/ldap",
4056 "text" : "ldap"
4057 },
4058 {
4059 "children" : [
4060 {
4061 "info" : {
4062 "GET" : {
4063 "description" : "Read 'LDAP User' object settings.",
4064 "method" : "GET",
4065 "name" : "read_ldapuser",
4066 "parameters" : {
4067 "additionalProperties" : 0,
4068 "properties" : {
4069 "id" : {
4070 "description" : "Object ID.",
4071 "type" : "integer",
4072 "typetext" : "<integer>"
4073 },
4074 "ogroup" : {
4075 "description" : "Object Groups ID.",
4076 "type" : "integer",
4077 "typetext" : "<integer>"
4078 }
4079 }
4080 },
c061d61d
DM
4081 "permissions" : {
4082 "check" : [
4083 "admin",
4084 "audit"
4085 ]
4086 },
9fda36b0
DM
4087 "proxyto" : "master",
4088 "returns" : {
4089 "properties" : {
4090 "id" : {
4091 "type" : "integer"
4092 }
4093 },
4094 "type" : "object"
4095 }
4096 },
4097 "PUT" : {
4098 "description" : "Update 'LDAP User' object.",
4099 "method" : "PUT",
4100 "name" : "update_ldapuser",
4101 "parameters" : {
4102 "additionalProperties" : 0,
4103 "properties" : {
4104 "account" : {
4105 "description" : "LDAP user account name.",
4106 "maxLength" : 1024,
4107 "minLength" : 1,
4108 "type" : "string",
4109 "typetext" : "<string>"
4110 },
4111 "id" : {
4112 "description" : "Object ID.",
4113 "type" : "integer",
4114 "typetext" : "<integer>"
4115 },
4116 "ogroup" : {
4117 "description" : "Object Groups ID.",
4118 "type" : "integer",
4119 "typetext" : "<integer>"
4120 },
4121 "profile" : {
4122 "description" : "Profile ID.",
4123 "format" : "pve-configid",
4124 "type" : "string",
4125 "typetext" : "<string>"
4126 }
4127 }
4128 },
c061d61d
DM
4129 "permissions" : {
4130 "check" : [
4131 "admin"
4132 ]
4133 },
9fda36b0
DM
4134 "protected" : 1,
4135 "proxyto" : "master",
4136 "returns" : {
4137 "type" : "null"
4138 }
4139 }
4140 },
4141 "leaf" : 1,
4142 "path" : "/config/ruledb/who/{ogroup}/ldapuser/{id}",
4143 "text" : "{id}"
4144 }
4145 ],
4146 "info" : {
4147 "POST" : {
4148 "description" : "Add 'LDAP User' object.",
4149 "method" : "POST",
4150 "name" : "ldapuser",
4151 "parameters" : {
4152 "additionalProperties" : 0,
4153 "properties" : {
4154 "account" : {
4155 "description" : "LDAP user account name.",
4156 "maxLength" : 1024,
4157 "minLength" : 1,
4158 "type" : "string",
4159 "typetext" : "<string>"
4160 },
4161 "ogroup" : {
4162 "description" : "Object Groups ID.",
4163 "type" : "integer",
4164 "typetext" : "<integer>"
4165 },
4166 "profile" : {
4167 "description" : "Profile ID.",
4168 "format" : "pve-configid",
4169 "type" : "string",
4170 "typetext" : "<string>"
4171 }
4172 }
4173 },
c061d61d
DM
4174 "permissions" : {
4175 "check" : [
4176 "admin"
4177 ]
4178 },
9fda36b0
DM
4179 "protected" : 1,
4180 "proxyto" : "master",
4181 "returns" : {
4182 "description" : "The object ID.",
4183 "type" : "integer"
4184 }
4185 }
4186 },
4187 "leaf" : 0,
4188 "path" : "/config/ruledb/who/{ogroup}/ldapuser",
4189 "text" : "ldapuser"
4190 }
4191 ],
4192 "info" : {
4193 "DELETE" : {
4194 "description" : "Delete a 'who' group.",
4195 "method" : "DELETE",
4196 "name" : "delete_{$oclass}_group",
4197 "parameters" : {
4198 "additionalProperties" : 0,
4199 "properties" : {
4200 "ogroup" : {
4201 "description" : "Object Group ID.",
4202 "type" : "integer",
4203 "typetext" : "<integer>"
4204 }
4205 }
4206 },
732d76e1
DM
4207 "permissions" : {
4208 "check" : [
4209 "admin"
4210 ]
4211 },
9fda36b0
DM
4212 "protected" : 1,
4213 "proxyto" : "master",
4214 "returns" : {
4215 "type" : "null"
4216 }
4217 },
4218 "GET" : {
4219 "description" : "Directory index.",
4220 "method" : "GET",
4221 "name" : "index",
4222 "parameters" : {
4223 "additionalProperties" : 0,
4224 "properties" : {
4225 "ogroup" : {
4226 "description" : "Object Group ID.",
4227 "type" : "integer",
4228 "typetext" : "<integer>"
4229 }
4230 }
4231 },
732d76e1
DM
4232 "permissions" : {
4233 "check" : [
4234 "admin",
4235 "audit"
4236 ]
4237 },
9fda36b0
DM
4238 "returns" : {
4239 "items" : {
4240 "properties" : {
4241 "subdir" : {
4242 "type" : "string"
4243 }
4244 },
4245 "type" : "object"
4246 },
4247 "links" : [
4248 {
4249 "href" : "{subdir}",
4250 "rel" : "child"
4251 }
4252 ],
4253 "type" : "array"
4254 }
4255 }
4256 },
4257 "leaf" : 0,
4258 "path" : "/config/ruledb/who/{ogroup}",
4259 "text" : "{ogroup}"
4260 }
4261 ],
4262 "info" : {
4263 "GET" : {
4264 "description" : "Get list of 'who' groups.",
4265 "method" : "GET",
4266 "name" : "list_who_groups",
4267 "parameters" : {
4268 "additionalProperties" : 0
4269 },
732d76e1
DM
4270 "permissions" : {
4271 "check" : [
4272 "admin",
4273 "audit"
4274 ]
4275 },
9fda36b0
DM
4276 "proxyto" : "master",
4277 "returns" : {
4278 "items" : {
4279 "properties" : {
4280 "id" : {
4281 "type" : "integer"
4282 }
4283 },
4284 "type" : "object"
4285 },
4286 "type" : "array"
4287 }
4288 },
4289 "POST" : {
4290 "description" : "Create a new 'who' group.",
4291 "method" : "POST",
4292 "name" : "create_who_group",
4293 "parameters" : {
4294 "additionalProperties" : 0,
4295 "properties" : {
eff914dc
DM
4296 "info" : {
4297 "description" : "Informational comment.",
4298 "maxLength" : 255,
4299 "optional" : 1,
4300 "type" : "string",
4301 "typetext" : "<string>"
4302 },
4303 "name" : {
4304 "description" : "Group name.",
4305 "maxLength" : 255,
4306 "type" : "string",
4307 "typetext" : "<string>"
4308 }
4309 }
4310 },
732d76e1
DM
4311 "permissions" : {
4312 "check" : [
4313 "admin"
4314 ]
4315 },
eff914dc
DM
4316 "protected" : 1,
4317 "proxyto" : "master",
4318 "returns" : {
4319 "type" : "integer"
4320 }
410dc2c9
DM
4321 }
4322 },
eff914dc 4323 "leaf" : 0,
410dc2c9
DM
4324 "path" : "/config/ruledb/who",
4325 "text" : "who"
4326 }
4327 ],
4328 "info" : {
4329 "GET" : {
4330 "description" : "Directory index.",
4331 "method" : "GET",
4332 "name" : "index",
4333 "parameters" : {
4334 "additionalProperties" : 0
4335 },
732d76e1
DM
4336 "permissions" : {
4337 "check" : [
4338 "admin",
4339 "audit"
4340 ]
4341 },
410dc2c9
DM
4342 "returns" : {
4343 "items" : {
4344 "properties" : {},
4345 "type" : "object"
4346 },
4347 "links" : [
4348 {
4349 "href" : "{name}",
4350 "rel" : "child"
4351 }
4352 ],
4353 "type" : "array"
4354 }
d7cd791b
DM
4355 },
4356 "POST" : {
4357 "description" : "Reset PMG rule database back to factory defaults.",
4358 "method" : "POST",
4359 "name" : "reset_ruledb",
4360 "parameters" : {
4361 "additionalProperties" : 0
4362 },
4a46ced6
DM
4363 "permissions" : {
4364 "check" : [
4365 "admin"
4366 ]
4367 },
d7cd791b
DM
4368 "protected" : 1,
4369 "returns" : {
4370 "type" : "null"
4371 }
410dc2c9
DM
4372 }
4373 },
4374 "leaf" : 0,
4375 "path" : "/config/ruledb",
4376 "text" : "ruledb"
4377 },
4378 {
4379 "children" : [
4380 {
eff914dc
DM
4381 "children" : [
4382 {
4383 "info" : {
4384 "DELETE" : {
4385 "description" : "Remove an object from the SMTP whitelist.",
4386 "method" : "DELETE",
4387 "name" : "delete_object",
4388 "parameters" : {
4389 "additionalProperties" : 0,
4390 "properties" : {
4391 "id" : {
4392 "description" : "Object ID.",
4393 "type" : "integer",
4394 "typetext" : "<integer>"
4395 }
4396 }
4397 },
732d76e1
DM
4398 "permissions" : {
4399 "check" : [
4400 "admin"
4401 ]
4402 },
bb6e6e0d 4403 "protected" : 1,
eff914dc
DM
4404 "proxyto" : "master",
4405 "returns" : {
4406 "type" : "null"
4407 }
4408 }
4409 },
4410 "leaf" : 1,
4411 "path" : "/config/whitelist/objects/{id}",
4412 "text" : "{id}"
4413 }
4414 ],
410dc2c9 4415 "info" : {
eff914dc
DM
4416 "GET" : {
4417 "description" : "Get list of all SMTP whitelist entries.",
4418 "method" : "GET",
4419 "name" : "objects",
4420 "parameters" : {
4421 "additionalProperties" : 0
4422 },
732d76e1
DM
4423 "permissions" : {
4424 "check" : [
4425 "admin",
4426 "audit"
4427 ]
4428 },
eff914dc
DM
4429 "proxyto" : "master",
4430 "returns" : {
4431 "items" : {
4432 "properties" : {
4433 "id" : {
4434 "type" : "integer"
4435 }
4436 },
4437 "type" : "object"
4438 },
4439 "links" : [
4440 {
4441 "href" : "{id}",
4442 "rel" : "child"
4443 }
4444 ],
4445 "type" : "array"
4446 }
4447 }
4448 },
4449 "leaf" : 0,
4450 "path" : "/config/whitelist/objects",
4451 "text" : "objects"
4452 },
4453 {
4454 "children" : [
4455 {
4456 "info" : {
4457 "GET" : {
4458 "description" : "Read 'Mail address' object settings.",
4459 "method" : "GET",
4460 "name" : "read_email",
4461 "parameters" : {
4462 "additionalProperties" : 0,
4463 "properties" : {
4464 "id" : {
4465 "description" : "Object ID.",
4466 "type" : "integer",
4467 "typetext" : "<integer>"
4468 }
4469 }
4470 },
c061d61d
DM
4471 "permissions" : {
4472 "check" : [
4473 "admin",
4474 "audit"
4475 ]
4476 },
eff914dc
DM
4477 "proxyto" : "master",
4478 "returns" : {
4479 "properties" : {
4480 "id" : {
4481 "type" : "integer"
4482 }
4483 },
4484 "type" : "object"
4485 }
4486 },
4487 "PUT" : {
4488 "description" : "Update 'Mail address' object.",
4489 "method" : "PUT",
4490 "name" : "update_email",
4491 "parameters" : {
4492 "additionalProperties" : 0,
4493 "properties" : {
4494 "email" : {
4495 "description" : "Email address.",
4496 "format" : "email",
4497 "type" : "string",
4498 "typetext" : "<string>"
4499 },
4500 "id" : {
4501 "description" : "Object ID.",
4502 "type" : "integer",
4503 "typetext" : "<integer>"
4504 }
4505 }
4506 },
c061d61d
DM
4507 "permissions" : {
4508 "check" : [
4509 "admin"
4510 ]
4511 },
a55e94a6 4512 "protected" : 1,
eff914dc
DM
4513 "proxyto" : "master",
4514 "returns" : {
4515 "type" : "null"
4516 }
4517 }
4518 },
4519 "leaf" : 1,
4520 "path" : "/config/whitelist/email/{id}",
4521 "text" : "{id}"
4522 }
4523 ],
4524 "info" : {
4525 "POST" : {
4526 "description" : "Add 'Mail address' object.",
4527 "method" : "POST",
4528 "name" : "email",
410dc2c9
DM
4529 "parameters" : {
4530 "additionalProperties" : 0,
4531 "properties" : {
eff914dc
DM
4532 "email" : {
4533 "description" : "Email address.",
4534 "format" : "email",
410dc2c9
DM
4535 "type" : "string",
4536 "typetext" : "<string>"
4537 }
4538 }
4539 },
c061d61d
DM
4540 "permissions" : {
4541 "check" : [
4542 "admin"
4543 ]
4544 },
a55e94a6 4545 "protected" : 1,
410dc2c9
DM
4546 "proxyto" : "master",
4547 "returns" : {
eff914dc
DM
4548 "description" : "The object ID.",
4549 "type" : "integer"
410dc2c9 4550 }
eff914dc
DM
4551 }
4552 },
4553 "leaf" : 0,
4554 "path" : "/config/whitelist/email",
4555 "text" : "email"
4556 },
4557 {
4558 "children" : [
4559 {
4560 "info" : {
4561 "GET" : {
4562 "description" : "Read 'Mail address' object settings.",
4563 "method" : "GET",
4564 "name" : "read_receiver",
4565 "parameters" : {
4566 "additionalProperties" : 0,
4567 "properties" : {
4568 "id" : {
4569 "description" : "Object ID.",
4570 "type" : "integer",
4571 "typetext" : "<integer>"
4572 }
4573 }
4574 },
c061d61d
DM
4575 "permissions" : {
4576 "check" : [
4577 "admin",
4578 "audit"
4579 ]
4580 },
eff914dc
DM
4581 "proxyto" : "master",
4582 "returns" : {
4583 "properties" : {
4584 "id" : {
4585 "type" : "integer"
4586 }
4587 },
4588 "type" : "object"
4589 }
4590 },
4591 "PUT" : {
4592 "description" : "Update 'Mail address' object.",
4593 "method" : "PUT",
4594 "name" : "update_receiver",
4595 "parameters" : {
4596 "additionalProperties" : 0,
4597 "properties" : {
4598 "email" : {
4599 "description" : "Email address.",
4600 "format" : "email",
4601 "type" : "string",
4602 "typetext" : "<string>"
4603 },
4604 "id" : {
4605 "description" : "Object ID.",
4606 "type" : "integer",
4607 "typetext" : "<integer>"
4608 }
4609 }
4610 },
c061d61d
DM
4611 "permissions" : {
4612 "check" : [
4613 "admin"
4614 ]
4615 },
a55e94a6 4616 "protected" : 1,
eff914dc
DM
4617 "proxyto" : "master",
4618 "returns" : {
4619 "type" : "null"
4620 }
4621 }
4622 },
4623 "leaf" : 1,
4624 "path" : "/config/whitelist/receiver/{id}",
4625 "text" : "{id}"
4626 }
4627 ],
4628 "info" : {
4629 "POST" : {
4630 "description" : "Add 'Mail address' object.",
4631 "method" : "POST",
4632 "name" : "receiver",
410dc2c9
DM
4633 "parameters" : {
4634 "additionalProperties" : 0,
4635 "properties" : {
eff914dc
DM
4636 "email" : {
4637 "description" : "Email address.",
4638 "format" : "email",
410dc2c9
DM
4639 "type" : "string",
4640 "typetext" : "<string>"
4641 }
4642 }
4643 },
c061d61d
DM
4644 "permissions" : {
4645 "check" : [
4646 "admin"
4647 ]
4648 },
a55e94a6 4649 "protected" : 1,
410dc2c9 4650 "proxyto" : "master",
eff914dc
DM
4651 "returns" : {
4652 "description" : "The object ID.",
4653 "type" : "integer"
4654 }
4655 }
4656 },
4657 "leaf" : 0,
4658 "path" : "/config/whitelist/receiver",
4659 "text" : "receiver"
4660 },
4661 {
4662 "children" : [
4663 {
4664 "info" : {
4665 "GET" : {
4666 "description" : "Read 'Domain' object settings.",
4667 "method" : "GET",
4668 "name" : "read_domain",
4669 "parameters" : {
4670 "additionalProperties" : 0,
4671 "properties" : {
4672 "id" : {
4673 "description" : "Object ID.",
4674 "type" : "integer",
4675 "typetext" : "<integer>"
4676 }
4677 }
4678 },
c061d61d
DM
4679 "permissions" : {
4680 "check" : [
4681 "admin",
4682 "audit"
4683 ]
4684 },
eff914dc
DM
4685 "proxyto" : "master",
4686 "returns" : {
4687 "properties" : {
4688 "id" : {
4689 "type" : "integer"
4690 }
4691 },
4692 "type" : "object"
4693 }
4694 },
4695 "PUT" : {
4696 "description" : "Update 'Domain' object.",
4697 "method" : "PUT",
4698 "name" : "update_domain",
4699 "parameters" : {
4700 "additionalProperties" : 0,
4701 "properties" : {
4702 "domain" : {
4703 "description" : "DNS domain name (Sender).",
4704 "format" : "dns-name",
4705 "type" : "string",
4706 "typetext" : "<string>"
4707 },
4708 "id" : {
4709 "description" : "Object ID.",
4710 "type" : "integer",
4711 "typetext" : "<integer>"
4712 }
4713 }
4714 },
c061d61d
DM
4715 "permissions" : {
4716 "check" : [
4717 "admin"
4718 ]
4719 },
a55e94a6 4720 "protected" : 1,
eff914dc
DM
4721 "proxyto" : "master",
4722 "returns" : {
4723 "type" : "null"
4724 }
4725 }
4726 },
4727 "leaf" : 1,
4728 "path" : "/config/whitelist/domain/{id}",
4729 "text" : "{id}"
4730 }
4731 ],
4732 "info" : {
4733 "POST" : {
4734 "description" : "Add 'Domain' object.",
4735 "method" : "POST",
4736 "name" : "domain",
410dc2c9
DM
4737 "parameters" : {
4738 "additionalProperties" : 0,
4739 "properties" : {
eff914dc
DM
4740 "domain" : {
4741 "description" : "DNS domain name (Sender).",
4742 "format" : "dns-name",
410dc2c9
DM
4743 "type" : "string",
4744 "typetext" : "<string>"
eff914dc
DM
4745 }
4746 }
4747 },
c061d61d
DM
4748 "permissions" : {
4749 "check" : [
4750 "admin"
4751 ]
4752 },
a55e94a6 4753 "protected" : 1,
eff914dc
DM
4754 "proxyto" : "master",
4755 "returns" : {
4756 "description" : "The object ID.",
4757 "type" : "integer"
4758 }
4759 }
4760 },
4761 "leaf" : 0,
4762 "path" : "/config/whitelist/domain",
4763 "text" : "domain"
4764 },
4765 {
4766 "children" : [
4767 {
4768 "info" : {
4769 "GET" : {
4770 "description" : "Read 'Domain' object settings.",
4771 "method" : "GET",
4772 "name" : "read_receiver_domain",
4773 "parameters" : {
4774 "additionalProperties" : 0,
4775 "properties" : {
4776 "id" : {
4777 "description" : "Object ID.",
4778 "type" : "integer",
4779 "typetext" : "<integer>"
4780 }
4781 }
410dc2c9 4782 },
c061d61d
DM
4783 "permissions" : {
4784 "check" : [
4785 "admin",
4786 "audit"
4787 ]
4788 },
eff914dc
DM
4789 "proxyto" : "master",
4790 "returns" : {
4791 "properties" : {
4792 "id" : {
4793 "type" : "integer"
4794 }
4795 },
4796 "type" : "object"
4797 }
4798 },
4799 "PUT" : {
4800 "description" : "Update 'Domain' object.",
4801 "method" : "PUT",
4802 "name" : "update_receiver_domain",
4803 "parameters" : {
4804 "additionalProperties" : 0,
4805 "properties" : {
4806 "domain" : {
4807 "description" : "DNS domain name (Sender).",
4808 "format" : "dns-name",
4809 "type" : "string",
4810 "typetext" : "<string>"
4811 },
4812 "id" : {
4813 "description" : "Object ID.",
4814 "type" : "integer",
4815 "typetext" : "<integer>"
4816 }
4817 }
410dc2c9 4818 },
c061d61d
DM
4819 "permissions" : {
4820 "check" : [
4821 "admin"
4822 ]
4823 },
a55e94a6 4824 "protected" : 1,
eff914dc
DM
4825 "proxyto" : "master",
4826 "returns" : {
4827 "type" : "null"
4828 }
4829 }
4830 },
4831 "leaf" : 1,
4832 "path" : "/config/whitelist/receiver_domain/{id}",
4833 "text" : "{id}"
4834 }
4835 ],
4836 "info" : {
4837 "POST" : {
4838 "description" : "Add 'Domain' object.",
4839 "method" : "POST",
4840 "name" : "receiver_domain",
4841 "parameters" : {
4842 "additionalProperties" : 0,
4843 "properties" : {
4844 "domain" : {
4845 "description" : "DNS domain name (Sender).",
4846 "format" : "dns-name",
410dc2c9
DM
4847 "type" : "string",
4848 "typetext" : "<string>"
eff914dc
DM
4849 }
4850 }
4851 },
c061d61d
DM
4852 "permissions" : {
4853 "check" : [
4854 "admin"
4855 ]
4856 },
a55e94a6 4857 "protected" : 1,
eff914dc
DM
4858 "proxyto" : "master",
4859 "returns" : {
4860 "description" : "The object ID.",
4861 "type" : "integer"
4862 }
4863 }
4864 },
4865 "leaf" : 0,
4866 "path" : "/config/whitelist/receiver_domain",
4867 "text" : "receiver_domain"
4868 },
4869 {
4870 "children" : [
4871 {
4872 "info" : {
4873 "GET" : {
4874 "description" : "Read 'Regular Expression' object settings.",
4875 "method" : "GET",
4876 "name" : "read_regex",
4877 "parameters" : {
4878 "additionalProperties" : 0,
4879 "properties" : {
4880 "id" : {
4881 "description" : "Object ID.",
4882 "type" : "integer",
4883 "typetext" : "<integer>"
4884 }
4885 }
410dc2c9 4886 },
c061d61d
DM
4887 "permissions" : {
4888 "check" : [
4889 "admin",
4890 "audit"
4891 ]
4892 },
eff914dc
DM
4893 "proxyto" : "master",
4894 "returns" : {
4895 "properties" : {
4896 "id" : {
4897 "type" : "integer"
4898 }
4899 },
4900 "type" : "object"
4901 }
4902 },
4903 "PUT" : {
4904 "description" : "Update 'Regular Expression' object.",
4905 "method" : "PUT",
4906 "name" : "update_regex",
4907 "parameters" : {
4908 "additionalProperties" : 0,
4909 "properties" : {
4910 "id" : {
4911 "description" : "Object ID.",
4912 "type" : "integer",
4913 "typetext" : "<integer>"
4914 },
4915 "regex" : {
4916 "description" : "Email address regular expression.",
4917 "maxLength" : 1024,
4918 "type" : "string",
4919 "typetext" : "<string>"
4920 }
4921 }
4922 },
c061d61d
DM
4923 "permissions" : {
4924 "check" : [
4925 "admin"
4926 ]
4927 },
a55e94a6 4928 "protected" : 1,
eff914dc
DM
4929 "proxyto" : "master",
4930 "returns" : {
4931 "type" : "null"
4932 }
4933 }
4934 },
4935 "leaf" : 1,
4936 "path" : "/config/whitelist/regex/{id}",
4937 "text" : "{id}"
4938 }
4939 ],
4940 "info" : {
4941 "POST" : {
4942 "description" : "Add 'Regular Expression' object.",
4943 "method" : "POST",
4944 "name" : "regex",
4945 "parameters" : {
4946 "additionalProperties" : 0,
4947 "properties" : {
4948 "regex" : {
4949 "description" : "Email address regular expression.",
4950 "maxLength" : 1024,
410dc2c9
DM
4951 "type" : "string",
4952 "typetext" : "<string>"
eff914dc
DM
4953 }
4954 }
4955 },
c061d61d
DM
4956 "permissions" : {
4957 "check" : [
4958 "admin"
4959 ]
4960 },
a55e94a6 4961 "protected" : 1,
eff914dc
DM
4962 "proxyto" : "master",
4963 "returns" : {
4964 "description" : "The object ID.",
4965 "type" : "integer"
4966 }
4967 }
4968 },
4969 "leaf" : 0,
4970 "path" : "/config/whitelist/regex",
4971 "text" : "regex"
4972 },
4973 {
4974 "children" : [
4975 {
4976 "info" : {
4977 "GET" : {
4978 "description" : "Read 'Regular Expression' object settings.",
4979 "method" : "GET",
4980 "name" : "read_receiver_regex",
4981 "parameters" : {
4982 "additionalProperties" : 0,
4983 "properties" : {
4984 "id" : {
4985 "description" : "Object ID.",
4986 "type" : "integer",
4987 "typetext" : "<integer>"
4988 }
4989 }
4990 },
c061d61d
DM
4991 "permissions" : {
4992 "check" : [
4993 "admin",
4994 "audit"
4995 ]
4996 },
eff914dc
DM
4997 "proxyto" : "master",
4998 "returns" : {
4999 "properties" : {
5000 "id" : {
5001 "type" : "integer"
5002 }
5003 },
5004 "type" : "object"
5005 }
5006 },
5007 "PUT" : {
5008 "description" : "Update 'Regular Expression' object.",
5009 "method" : "PUT",
5010 "name" : "update_receiver_regex",
5011 "parameters" : {
5012 "additionalProperties" : 0,
5013 "properties" : {
5014 "id" : {
5015 "description" : "Object ID.",
5016 "type" : "integer",
5017 "typetext" : "<integer>"
5018 },
5019 "regex" : {
5020 "description" : "Email address regular expression.",
5021 "maxLength" : 1024,
5022 "type" : "string",
5023 "typetext" : "<string>"
5024 }
5025 }
5026 },
c061d61d
DM
5027 "permissions" : {
5028 "check" : [
5029 "admin"
5030 ]
5031 },
a55e94a6 5032 "protected" : 1,
eff914dc
DM
5033 "proxyto" : "master",
5034 "returns" : {
5035 "type" : "null"
5036 }
5037 }
5038 },
5039 "leaf" : 1,
5040 "path" : "/config/whitelist/receiver_regex/{id}",
5041 "text" : "{id}"
5042 }
5043 ],
5044 "info" : {
5045 "POST" : {
5046 "description" : "Add 'Regular Expression' object.",
5047 "method" : "POST",
5048 "name" : "receiver_regex",
5049 "parameters" : {
5050 "additionalProperties" : 0,
5051 "properties" : {
5052 "regex" : {
5053 "description" : "Email address regular expression.",
5054 "maxLength" : 1024,
5055 "type" : "string",
5056 "typetext" : "<string>"
5057 }
5058 }
5059 },
c061d61d
DM
5060 "permissions" : {
5061 "check" : [
5062 "admin"
5063 ]
5064 },
a55e94a6 5065 "protected" : 1,
eff914dc
DM
5066 "proxyto" : "master",
5067 "returns" : {
5068 "description" : "The object ID.",
5069 "type" : "integer"
5070 }
5071 }
5072 },
5073 "leaf" : 0,
5074 "path" : "/config/whitelist/receiver_regex",
5075 "text" : "receiver_regex"
5076 },
5077 {
5078 "children" : [
5079 {
5080 "info" : {
5081 "GET" : {
5082 "description" : "Read 'IP Address' object settings.",
5083 "method" : "GET",
5084 "name" : "read_ip",
5085 "parameters" : {
5086 "additionalProperties" : 0,
5087 "properties" : {
5088 "id" : {
5089 "description" : "Object ID.",
5090 "type" : "integer",
5091 "typetext" : "<integer>"
5092 }
5093 }
5094 },
c061d61d
DM
5095 "permissions" : {
5096 "check" : [
5097 "admin",
5098 "audit"
5099 ]
5100 },
eff914dc
DM
5101 "proxyto" : "master",
5102 "returns" : {
5103 "properties" : {
5104 "id" : {
5105 "type" : "integer"
5106 }
5107 },
5108 "type" : "object"
5109 }
5110 },
5111 "PUT" : {
5112 "description" : "Update 'IP Address' object.",
5113 "method" : "PUT",
5114 "name" : "update_ip",
5115 "parameters" : {
5116 "additionalProperties" : 0,
5117 "properties" : {
5118 "id" : {
5119 "description" : "Object ID.",
5120 "type" : "integer",
5121 "typetext" : "<integer>"
5122 },
5123 "ip" : {
5124 "description" : "IP address",
5125 "format" : "ip",
5126 "type" : "string",
5127 "typetext" : "<string>"
5128 }
5129 }
5130 },
c061d61d
DM
5131 "permissions" : {
5132 "check" : [
5133 "admin"
5134 ]
5135 },
a55e94a6 5136 "protected" : 1,
eff914dc
DM
5137 "proxyto" : "master",
5138 "returns" : {
5139 "type" : "null"
5140 }
5141 }
5142 },
5143 "leaf" : 1,
5144 "path" : "/config/whitelist/ip/{id}",
5145 "text" : "{id}"
5146 }
5147 ],
5148 "info" : {
5149 "POST" : {
5150 "description" : "Add 'IP Address' object.",
5151 "method" : "POST",
5152 "name" : "ip",
5153 "parameters" : {
5154 "additionalProperties" : 0,
5155 "properties" : {
5156 "ip" : {
5157 "description" : "IP address",
5158 "format" : "ip",
5159 "type" : "string",
5160 "typetext" : "<string>"
5161 }
5162 }
5163 },
c061d61d
DM
5164 "permissions" : {
5165 "check" : [
5166 "admin"
5167 ]
5168 },
a55e94a6 5169 "protected" : 1,
eff914dc
DM
5170 "proxyto" : "master",
5171 "returns" : {
5172 "description" : "The object ID.",
5173 "type" : "integer"
5174 }
5175 }
5176 },
5177 "leaf" : 0,
5178 "path" : "/config/whitelist/ip",
5179 "text" : "ip"
5180 },
5181 {
5182 "children" : [
5183 {
5184 "info" : {
5185 "GET" : {
5186 "description" : "Read 'IP Network' object settings.",
5187 "method" : "GET",
5188 "name" : "read_network",
5189 "parameters" : {
5190 "additionalProperties" : 0,
5191 "properties" : {
5192 "id" : {
5193 "description" : "Object ID.",
5194 "type" : "integer",
5195 "typetext" : "<integer>"
5196 }
5197 }
5198 },
c061d61d
DM
5199 "permissions" : {
5200 "check" : [
5201 "admin",
5202 "audit"
5203 ]
5204 },
eff914dc
DM
5205 "proxyto" : "master",
5206 "returns" : {
5207 "properties" : {
5208 "id" : {
5209 "type" : "integer"
5210 }
5211 },
5212 "type" : "object"
5213 }
5214 },
5215 "PUT" : {
5216 "description" : "Update 'IP Network' object.",
5217 "method" : "PUT",
5218 "name" : "update_network",
5219 "parameters" : {
5220 "additionalProperties" : 0,
5221 "properties" : {
5222 "cidr" : {
5223 "description" : "Network address in CIDR notation.",
5224 "format" : "CIDR",
5225 "type" : "string",
5226 "typetext" : "<string>"
5227 },
5228 "id" : {
5229 "description" : "Object ID.",
5230 "type" : "integer",
5231 "typetext" : "<integer>"
5232 }
5233 }
5234 },
c061d61d
DM
5235 "permissions" : {
5236 "check" : [
5237 "admin"
5238 ]
5239 },
a55e94a6 5240 "protected" : 1,
eff914dc
DM
5241 "proxyto" : "master",
5242 "returns" : {
5243 "type" : "null"
5244 }
5245 }
5246 },
5247 "leaf" : 1,
5248 "path" : "/config/whitelist/network/{id}",
5249 "text" : "{id}"
5250 }
5251 ],
5252 "info" : {
5253 "POST" : {
5254 "description" : "Add 'IP Network' object.",
5255 "method" : "POST",
5256 "name" : "network",
5257 "parameters" : {
5258 "additionalProperties" : 0,
5259 "properties" : {
5260 "cidr" : {
5261 "description" : "Network address in CIDR notation.",
5262 "format" : "CIDR",
5263 "type" : "string",
5264 "typetext" : "<string>"
5265 }
5266 }
5267 },
c061d61d
DM
5268 "permissions" : {
5269 "check" : [
5270 "admin"
5271 ]
5272 },
a55e94a6 5273 "protected" : 1,
eff914dc
DM
5274 "proxyto" : "master",
5275 "returns" : {
5276 "description" : "The object ID.",
5277 "type" : "integer"
5278 }
5279 }
5280 },
5281 "leaf" : 0,
5282 "path" : "/config/whitelist/network",
5283 "text" : "network"
5284 }
5285 ],
5286 "info" : {
5287 "GET" : {
5288 "description" : "Directory index.",
5289 "method" : "GET",
5290 "name" : "index",
5291 "parameters" : {
5292 "additionalProperties" : 0
5293 },
732d76e1
DM
5294 "permissions" : {
5295 "check" : [
5296 "admin",
5297 "audit"
5298 ]
5299 },
eff914dc
DM
5300 "returns" : {
5301 "items" : {
5302 "properties" : {
5303 "subdir" : {
5304 "type" : "string"
5305 }
5306 },
5307 "type" : "object"
5308 },
5309 "links" : [
5310 {
5311 "href" : "{subdir}",
5312 "rel" : "child"
5313 }
5314 ],
5315 "type" : "array"
5316 }
5317 }
5318 },
5319 "leaf" : 0,
5320 "path" : "/config/whitelist",
5321 "text" : "whitelist"
5322 },
5323 {
5324 "children" : [
5325 {
a55e94a6
DM
5326 "children" : [
5327 {
5328 "info" : {
5329 "GET" : {
5330 "description" : "Get LDAP profile configuration.",
5331 "method" : "GET",
5332 "name" : "read_config",
5333 "parameters" : {
5334 "additionalProperties" : 0,
5335 "properties" : {
5336 "profile" : {
5337 "description" : "Profile ID.",
5338 "format" : "pve-configid",
5339 "type" : "string",
5340 "typetext" : "<string>"
5341 }
5342 }
5343 },
5344 "permissions" : {
5345 "check" : [
4a46ced6
DM
5346 "admin",
5347 "audit"
a55e94a6
DM
5348 ]
5349 },
5350 "proxyto" : "master",
5351 "returns" : {}
5352 },
5353 "PUT" : {
5354 "description" : "Update LDAP profile settings.",
5355 "method" : "PUT",
5356 "name" : "update_config",
5357 "parameters" : {
5358 "additionalProperties" : 0,
5359 "properties" : {
5360 "accountattr" : {
732d76e1 5361 "default" : "sAMAccountName, uid",
a55e94a6 5362 "description" : "Account attribute name name.",
274b47fc 5363 "format" : "ldap-simple-attr-list",
a55e94a6 5364 "optional" : 1,
274b47fc
DM
5365 "type" : "string",
5366 "typetext" : "<string>"
a55e94a6
DM
5367 },
5368 "basedn" : {
5369 "description" : "Base domain name.",
5370 "optional" : 1,
5371 "type" : "string",
5372 "typetext" : "<string>"
5373 },
5374 "binddn" : {
5375 "description" : "Bind domain name.",
5376 "optional" : 1,
5377 "type" : "string",
5378 "typetext" : "<string>"
5379 },
5380 "bindpw" : {
5381 "description" : "Bind password.",
5382 "optional" : 1,
5383 "type" : "string",
5384 "typetext" : "<string>"
5385 },
241ac83c
TL
5386 "cafile" : {
5387 "description" : "Path to CA file. Only useful with option 'verify'",
5388 "optional" : 1,
5389 "type" : "string",
5390 "typetext" : "<string>"
5391 },
a55e94a6
DM
5392 "comment" : {
5393 "description" : "Description.",
5394 "maxLength" : 4096,
5395 "optional" : 1,
5396 "type" : "string",
5397 "typetext" : "<string>"
5398 },
5399 "delete" : {
5400 "description" : "A list of settings you want to delete.",
5401 "format" : "pve-configid-list",
5402 "maxLength" : 4096,
5403 "optional" : 1,
5404 "type" : "string",
5405 "typetext" : "<string>"
5406 },
5407 "digest" : {
5408 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5409 "maxLength" : 40,
5410 "optional" : 1,
5411 "type" : "string",
5412 "typetext" : "<string>"
5413 },
5414 "disable" : {
5415 "description" : "Flag to disable/deactivate the entry.",
5416 "optional" : 1,
5417 "type" : "boolean",
5418 "typetext" : "<boolean>"
5419 },
5420 "filter" : {
5421 "description" : "LDAP filter.",
5422 "optional" : 1,
5423 "type" : "string",
5424 "typetext" : "<string>"
5425 },
5426 "groupbasedn" : {
5427 "description" : "Base domain name for groups.",
5428 "optional" : 1,
5429 "type" : "string",
5430 "typetext" : "<string>"
5431 },
732d76e1
DM
5432 "groupclass" : {
5433 "default" : "group, univentionGroup, ipausergroup",
5434 "description" : "List of objectclasses for groups.",
274b47fc 5435 "format" : "ldap-simple-attr-list",
732d76e1
DM
5436 "optional" : 1,
5437 "type" : "string",
5438 "typetext" : "<string>"
5439 },
a55e94a6 5440 "mailattr" : {
274b47fc 5441 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
a55e94a6 5442 "description" : "List of mail attribute names.",
274b47fc 5443 "format" : "ldap-simple-attr-list",
a55e94a6 5444 "optional" : 1,
274b47fc
DM
5445 "type" : "string",
5446 "typetext" : "<string>"
a55e94a6
DM
5447 },
5448 "mode" : {
5449 "default" : "ldap",
241ac83c 5450 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
a55e94a6
DM
5451 "enum" : [
5452 "ldap",
241ac83c
TL
5453 "ldaps",
5454 "ldap+starttls"
a55e94a6
DM
5455 ],
5456 "optional" : 1,
5457 "type" : "string"
5458 },
5459 "port" : {
5460 "description" : "Specify the port to connect to.",
5461 "maximum" : 65535,
5462 "minimum" : 1,
5463 "optional" : 1,
5464 "type" : "integer",
5465 "typetext" : "<integer> (1 - 65535)"
5466 },
5467 "profile" : {
5468 "description" : "Profile ID.",
5469 "format" : "pve-configid",
5470 "type" : "string",
5471 "typetext" : "<string>"
5472 },
5473 "server1" : {
5474 "description" : "Server address.",
5475 "format" : "address",
5476 "maxLength" : 256,
5477 "optional" : 1,
5478 "type" : "string",
5479 "typetext" : "<string>"
5480 },
5481 "server2" : {
5482 "description" : "Fallback server address. Userd when the first server is not available.",
5483 "format" : "address",
5484 "maxLength" : 256,
5485 "optional" : 1,
5486 "type" : "string",
5487 "typetext" : "<string>"
241ac83c
TL
5488 },
5489 "verify" : {
5490 "default" : 0,
5491 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
5492 "optional" : 1,
5493 "type" : "boolean",
5494 "typetext" : "<boolean>"
a55e94a6 5495 }
732d76e1
DM
5496 },
5497 "type" : "object"
5498 },
5499 "permissions" : {
5500 "check" : [
5501 "admin"
5502 ]
5503 },
5504 "protected" : 1,
5505 "proxyto" : "master",
5506 "returns" : {
5507 "type" : "null"
5508 }
5509 }
5510 },
5511 "leaf" : 1,
5512 "path" : "/config/ldap/{profile}/config",
5513 "text" : "config"
5514 },
5515 {
5516 "info" : {
5517 "POST" : {
5518 "description" : "Synchronice LDAP users to local database.",
5519 "method" : "POST",
5520 "name" : "sync_profile",
5521 "parameters" : {
5522 "additionalProperties" : 0,
5523 "properties" : {
5524 "profile" : {
5525 "description" : "Profile ID.",
5526 "format" : "pve-configid",
5527 "type" : "string",
5528 "typetext" : "<string>"
5529 }
5530 }
5531 },
5532 "permissions" : {
5533 "check" : [
5534 "admin"
5535 ]
5536 },
5537 "protected" : 1,
5538 "proxyto" : "master",
5539 "returns" : {
5540 "type" : "null"
5541 }
5542 }
5543 },
5544 "leaf" : 1,
5545 "path" : "/config/ldap/{profile}/sync",
5546 "text" : "sync"
5547 },
5548 {
5549 "children" : [
5550 {
5551 "info" : {
5552 "GET" : {
5553 "description" : "Get all email addresses for the specified user.",
5554 "method" : "GET",
5555 "name" : "address_list",
5556 "parameters" : {
5557 "additionalProperties" : 0,
5558 "properties" : {
5559 "email" : {
5560 "description" : "Email address.",
5561 "format" : "email",
5562 "type" : "string",
5563 "typetext" : "<string>"
5564 },
5565 "profile" : {
5566 "description" : "Profile ID.",
5567 "format" : "pve-configid",
5568 "type" : "string",
5569 "typetext" : "<string>"
5570 }
5571 }
5572 },
5573 "permissions" : {
5574 "check" : [
4a46ced6
DM
5575 "admin",
5576 "audit"
732d76e1
DM
5577 ]
5578 },
5579 "protected" : 1,
5580 "proxyto" : "master",
5581 "returns" : {
5582 "items" : {
5583 "properties" : {
5584 "email" : {
5585 "type" : "string"
5586 },
5587 "primary" : {
5588 "type" : "boolean"
5589 }
5590 },
5591 "type" : "object"
5592 },
5593 "type" : "array"
5594 }
5595 }
a55e94a6 5596 },
732d76e1
DM
5597 "leaf" : 1,
5598 "path" : "/config/ldap/{profile}/users/{email}",
5599 "text" : "{email}"
a55e94a6 5600 }
732d76e1 5601 ],
a55e94a6 5602 "info" : {
732d76e1
DM
5603 "GET" : {
5604 "description" : "List LDAP users.",
5605 "method" : "GET",
5606 "name" : "profile_list_users",
a55e94a6
DM
5607 "parameters" : {
5608 "additionalProperties" : 0,
5609 "properties" : {
5610 "profile" : {
5611 "description" : "Profile ID.",
5612 "format" : "pve-configid",
5613 "type" : "string",
5614 "typetext" : "<string>"
5615 }
5616 }
5617 },
5618 "permissions" : {
5619 "check" : [
4a46ced6
DM
5620 "admin",
5621 "audit"
a55e94a6
DM
5622 ]
5623 },
5624 "protected" : 1,
5625 "proxyto" : "master",
5626 "returns" : {
732d76e1
DM
5627 "items" : {
5628 "properties" : {
5629 "account" : {
5630 "type" : "string"
5631 },
5632 "dn" : {
5633 "type" : "string"
5634 },
5635 "pmail" : {
5636 "type" : "string"
5637 }
5638 },
5639 "type" : "object"
5640 },
5641 "links" : [
5642 {
5643 "href" : "{pmail}",
5644 "rel" : "child"
5645 }
5646 ],
5647 "type" : "array"
a55e94a6
DM
5648 }
5649 }
5650 },
732d76e1
DM
5651 "leaf" : 0,
5652 "path" : "/config/ldap/{profile}/users",
5653 "text" : "users"
a55e94a6
DM
5654 },
5655 {
5656 "children" : [
5657 {
5658 "info" : {
5659 "GET" : {
732d76e1 5660 "description" : "List LDAP group members.",
a55e94a6 5661 "method" : "GET",
732d76e1 5662 "name" : "profile_list_group_members",
a55e94a6
DM
5663 "parameters" : {
5664 "additionalProperties" : 0,
5665 "properties" : {
732d76e1
DM
5666 "gid" : {
5667 "description" : "Group ID",
5668 "type" : "number",
5669 "typetext" : "<number>"
a55e94a6
DM
5670 },
5671 "profile" : {
5672 "description" : "Profile ID.",
5673 "format" : "pve-configid",
5674 "type" : "string",
5675 "typetext" : "<string>"
5676 }
5677 }
5678 },
5679 "permissions" : {
5680 "check" : [
4a46ced6
DM
5681 "admin",
5682 "audit"
a55e94a6
DM
5683 ]
5684 },
5685 "protected" : 1,
5686 "proxyto" : "master",
5687 "returns" : {
5688 "items" : {
5689 "properties" : {
732d76e1 5690 "account" : {
a55e94a6
DM
5691 "type" : "string"
5692 },
732d76e1
DM
5693 "dn" : {
5694 "type" : "string"
5695 },
5696 "pmail" : {
5697 "type" : "string"
a55e94a6
DM
5698 }
5699 },
5700 "type" : "object"
5701 },
5702 "type" : "array"
5703 }
5704 }
5705 },
5706 "leaf" : 1,
732d76e1
DM
5707 "path" : "/config/ldap/{profile}/groups/{gid}",
5708 "text" : "{gid}"
a55e94a6
DM
5709 }
5710 ],
5711 "info" : {
5712 "GET" : {
732d76e1 5713 "description" : "List LDAP groups.",
a55e94a6 5714 "method" : "GET",
732d76e1 5715 "name" : "profile_list_groups",
a55e94a6
DM
5716 "parameters" : {
5717 "additionalProperties" : 0,
5718 "properties" : {
5719 "profile" : {
5720 "description" : "Profile ID.",
5721 "format" : "pve-configid",
5722 "type" : "string",
5723 "typetext" : "<string>"
5724 }
5725 }
5726 },
5727 "permissions" : {
5728 "check" : [
4a46ced6
DM
5729 "admin",
5730 "audit"
a55e94a6
DM
5731 ]
5732 },
5733 "protected" : 1,
5734 "proxyto" : "master",
5735 "returns" : {
5736 "items" : {
5737 "properties" : {
a55e94a6
DM
5738 "dn" : {
5739 "type" : "string"
5740 },
732d76e1
DM
5741 "gid" : {
5742 "type" : "number"
a55e94a6
DM
5743 }
5744 },
5745 "type" : "object"
5746 },
732d76e1
DM
5747 "links" : [
5748 {
5749 "href" : "{gid}",
5750 "rel" : "child"
5751 }
5752 ],
a55e94a6
DM
5753 "type" : "array"
5754 }
5755 }
5756 },
732d76e1
DM
5757 "leaf" : 0,
5758 "path" : "/config/ldap/{profile}/groups",
5759 "text" : "groups"
5760 }
5761 ],
5762 "info" : {
5763 "DELETE" : {
5764 "description" : "Delete an LDAP profile",
5765 "method" : "DELETE",
5766 "name" : "delete",
5767 "parameters" : {
5768 "additionalProperties" : 0,
5769 "properties" : {
5770 "profile" : {
5771 "description" : "Profile ID.",
5772 "format" : "pve-configid",
5773 "type" : "string",
5774 "typetext" : "<string>"
5775 }
5776 }
5777 },
5778 "permissions" : {
5779 "check" : [
5780 "admin"
5781 ]
5782 },
5783 "protected" : 1,
5784 "proxyto" : "master",
5785 "returns" : {
5786 "type" : "null"
5787 }
5788 },
5789 "GET" : {
5790 "description" : "Directory index",
5791 "method" : "GET",
5792 "name" : "profile_index",
5793 "parameters" : {
5794 "additionalProperties" : 0,
5795 "properties" : {
5796 "profile" : {
5797 "description" : "Profile ID.",
5798 "format" : "pve-configid",
5799 "type" : "string",
5800 "typetext" : "<string>"
5801 }
5802 }
5803 },
5804 "permissions" : {
5805 "user" : "all"
5806 },
5807 "returns" : {
5808 "items" : {
5809 "properties" : {
5810 "subdir" : {
5811 "type" : "string"
5812 }
5813 },
5814 "type" : "object"
5815 },
5816 "links" : [
5817 {
5818 "href" : "{subdir}",
5819 "rel" : "child"
5820 }
5821 ],
5822 "type" : "array"
5823 }
5824 }
5825 },
5826 "leaf" : 0,
5827 "path" : "/config/ldap/{profile}",
5828 "text" : "{profile}"
5829 }
5830 ],
5831 "info" : {
5832 "GET" : {
5833 "description" : "List configured LDAP profiles.",
5834 "method" : "GET",
5835 "name" : "index",
5836 "parameters" : {
5837 "additionalProperties" : 0
5838 },
5839 "permissions" : {
5840 "check" : [
4a46ced6
DM
5841 "admin",
5842 "audit"
732d76e1
DM
5843 ]
5844 },
5845 "proxyto" : "master",
5846 "returns" : {
5847 "items" : {
5848 "properties" : {
5849 "comment" : {
5850 "optional" : 1,
5851 "type" : "string"
5852 },
5853 "disable" : {
5854 "type" : "boolean"
5855 },
5856 "gcount" : {
5857 "optional" : 1,
5858 "type" : "integer"
5859 },
5860 "mcount" : {
5861 "optional" : 1,
5862 "type" : "integer"
5863 },
5864 "mode" : {
5865 "type" : "string"
5866 },
5867 "profile" : {
5868 "type" : "string"
5869 },
5870 "server1" : {
5871 "type" : "string"
5872 },
5873 "server2" : {
5874 "optional" : 1,
5875 "type" : "string"
5876 },
5877 "ucount" : {
5878 "optional" : 1,
5879 "type" : "integer"
5880 }
5881 },
5882 "type" : "object"
5883 },
5884 "links" : [
5885 {
5886 "href" : "{profile}",
5887 "rel" : "child"
5888 }
5889 ],
5890 "type" : "array"
5891 }
5892 },
5893 "POST" : {
5894 "description" : "Add LDAP profile.",
5895 "method" : "POST",
5896 "name" : "create",
5897 "parameters" : {
5898 "additionalProperties" : 0,
5899 "properties" : {
5900 "accountattr" : {
5901 "default" : "sAMAccountName, uid",
5902 "description" : "Account attribute name name.",
274b47fc 5903 "format" : "ldap-simple-attr-list",
732d76e1 5904 "optional" : 1,
274b47fc
DM
5905 "type" : "string",
5906 "typetext" : "<string>"
732d76e1
DM
5907 },
5908 "basedn" : {
5909 "description" : "Base domain name.",
5910 "optional" : 1,
5911 "type" : "string",
5912 "typetext" : "<string>"
5913 },
5914 "binddn" : {
5915 "description" : "Bind domain name.",
5916 "optional" : 1,
5917 "type" : "string",
5918 "typetext" : "<string>"
5919 },
5920 "bindpw" : {
5921 "description" : "Bind password.",
5922 "optional" : 1,
5923 "type" : "string",
5924 "typetext" : "<string>"
5925 },
241ac83c
TL
5926 "cafile" : {
5927 "description" : "Path to CA file. Only useful with option 'verify'",
5928 "optional" : 1,
5929 "type" : "string",
5930 "typetext" : "<string>"
5931 },
732d76e1
DM
5932 "comment" : {
5933 "description" : "Description.",
5934 "maxLength" : 4096,
5935 "optional" : 1,
5936 "type" : "string",
5937 "typetext" : "<string>"
5938 },
5939 "disable" : {
5940 "description" : "Flag to disable/deactivate the entry.",
5941 "optional" : 1,
5942 "type" : "boolean",
5943 "typetext" : "<boolean>"
a55e94a6 5944 },
732d76e1
DM
5945 "filter" : {
5946 "description" : "LDAP filter.",
5947 "optional" : 1,
5948 "type" : "string",
5949 "typetext" : "<string>"
5950 },
5951 "groupbasedn" : {
5952 "description" : "Base domain name for groups.",
5953 "optional" : 1,
5954 "type" : "string",
5955 "typetext" : "<string>"
5956 },
5957 "groupclass" : {
5958 "default" : "group, univentionGroup, ipausergroup",
5959 "description" : "List of objectclasses for groups.",
274b47fc 5960 "format" : "ldap-simple-attr-list",
732d76e1
DM
5961 "optional" : 1,
5962 "type" : "string",
5963 "typetext" : "<string>"
5964 },
5965 "mailattr" : {
274b47fc 5966 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
732d76e1 5967 "description" : "List of mail attribute names.",
274b47fc 5968 "format" : "ldap-simple-attr-list",
732d76e1 5969 "optional" : 1,
274b47fc
DM
5970 "type" : "string",
5971 "typetext" : "<string>"
732d76e1
DM
5972 },
5973 "mode" : {
5974 "default" : "ldap",
241ac83c 5975 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
732d76e1
DM
5976 "enum" : [
5977 "ldap",
241ac83c
TL
5978 "ldaps",
5979 "ldap+starttls"
732d76e1
DM
5980 ],
5981 "optional" : 1,
5982 "type" : "string"
5983 },
5984 "port" : {
5985 "description" : "Specify the port to connect to.",
5986 "maximum" : 65535,
5987 "minimum" : 1,
5988 "optional" : 1,
5989 "type" : "integer",
5990 "typetext" : "<integer> (1 - 65535)"
5991 },
5992 "profile" : {
5993 "description" : "Profile ID.",
5994 "format" : "pve-configid",
5995 "type" : "string",
5996 "typetext" : "<string>"
5997 },
5998 "server1" : {
5999 "description" : "Server address.",
6000 "format" : "address",
6001 "maxLength" : 256,
6002 "optional" : 0,
6003 "type" : "string",
6004 "typetext" : "<string>"
6005 },
6006 "server2" : {
6007 "description" : "Fallback server address. Userd when the first server is not available.",
6008 "format" : "address",
6009 "maxLength" : 256,
6010 "optional" : 1,
6011 "type" : "string",
6012 "typetext" : "<string>"
241ac83c
TL
6013 },
6014 "verify" : {
6015 "default" : 0,
6016 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
6017 "optional" : 1,
6018 "type" : "boolean",
6019 "typetext" : "<boolean>"
732d76e1
DM
6020 }
6021 },
6022 "type" : "object"
6023 },
6024 "permissions" : {
6025 "check" : [
6026 "admin"
6027 ]
6028 },
6029 "protected" : 1,
6030 "proxyto" : "master",
6031 "returns" : {
6032 "type" : "null"
6033 }
6034 }
6035 },
6036 "leaf" : 0,
6037 "path" : "/config/ldap",
6038 "text" : "ldap"
6039 },
6040 {
6041 "children" : [
6042 {
a55e94a6
DM
6043 "info" : {
6044 "DELETE" : {
732d76e1 6045 "description" : "Delete a relay domain",
a55e94a6
DM
6046 "method" : "DELETE",
6047 "name" : "delete",
6048 "parameters" : {
6049 "additionalProperties" : 0,
6050 "properties" : {
732d76e1
DM
6051 "domain" : {
6052 "description" : "Domain name.",
f225b3b4 6053 "format" : "transport-domain",
eff914dc
DM
6054 "type" : "string",
6055 "typetext" : "<string>"
6056 }
6057 }
6058 },
a55e94a6
DM
6059 "permissions" : {
6060 "check" : [
6061 "admin"
6062 ]
6063 },
eff914dc
DM
6064 "protected" : 1,
6065 "proxyto" : "master",
a55e94a6
DM
6066 "returns" : {
6067 "type" : "null"
6068 }
eff914dc 6069 },
a55e94a6 6070 "GET" : {
732d76e1 6071 "description" : "Read Domain data (comment).",
a55e94a6 6072 "method" : "GET",
732d76e1 6073 "name" : "read",
eff914dc
DM
6074 "parameters" : {
6075 "additionalProperties" : 0,
6076 "properties" : {
732d76e1
DM
6077 "domain" : {
6078 "description" : "Domain name.",
f225b3b4 6079 "format" : "transport-domain",
eff914dc
DM
6080 "type" : "string",
6081 "typetext" : "<string>"
a55e94a6
DM
6082 }
6083 }
6084 },
6085 "permissions" : {
732d76e1
DM
6086 "check" : [
6087 "admin",
6088 "audit"
6089 ]
a55e94a6 6090 },
732d76e1 6091 "proxyto" : "master",
a55e94a6 6092 "returns" : {
732d76e1
DM
6093 "properties" : {
6094 "comment" : {
6095 "type" : "string"
eff914dc 6096 },
732d76e1
DM
6097 "domain" : {
6098 "type" : "string"
6099 }
eff914dc 6100 },
732d76e1
DM
6101 "type" : "object"
6102 }
6103 },
6104 "PUT" : {
6105 "description" : "Update relay domain data (comment).",
6106 "method" : "PUT",
6107 "name" : "write",
6108 "parameters" : {
6109 "additionalProperties" : 0,
6110 "properties" : {
6111 "comment" : {
6112 "description" : "Comment.",
6113 "type" : "string",
6114 "typetext" : "<string>"
6115 },
6116 "domain" : {
6117 "description" : "Domain name.",
f225b3b4 6118 "format" : "transport-domain",
732d76e1
DM
6119 "type" : "string",
6120 "typetext" : "<string>"
a55e94a6 6121 }
732d76e1
DM
6122 }
6123 },
6124 "permissions" : {
6125 "check" : [
6126 "admin"
6127 ]
6128 },
6129 "protected" : 1,
6130 "proxyto" : "master",
6131 "returns" : {
6132 "type" : "null"
eff914dc
DM
6133 }
6134 }
6135 },
732d76e1
DM
6136 "leaf" : 1,
6137 "path" : "/config/domains/{domain}",
6138 "text" : "{domain}"
eff914dc
DM
6139 }
6140 ],
6141 "info" : {
6142 "GET" : {
732d76e1 6143 "description" : "List relay domains.",
eff914dc
DM
6144 "method" : "GET",
6145 "name" : "index",
6146 "parameters" : {
6147 "additionalProperties" : 0
6148 },
a55e94a6
DM
6149 "permissions" : {
6150 "check" : [
732d76e1
DM
6151 "admin",
6152 "audit"
a55e94a6
DM
6153 ]
6154 },
eff914dc
DM
6155 "proxyto" : "master",
6156 "returns" : {
6157 "items" : {
6158 "properties" : {
a55e94a6 6159 "comment" : {
eff914dc 6160 "type" : "string"
a55e94a6 6161 },
732d76e1
DM
6162 "domain" : {
6163 "type" : "string"
eff914dc
DM
6164 }
6165 },
6166 "type" : "object"
6167 },
6168 "links" : [
6169 {
732d76e1 6170 "href" : "{domain}",
eff914dc
DM
6171 "rel" : "child"
6172 }
6173 ],
6174 "type" : "array"
6175 }
6176 },
6177 "POST" : {
732d76e1 6178 "description" : "Add relay domain.",
eff914dc
DM
6179 "method" : "POST",
6180 "name" : "create",
6181 "parameters" : {
6182 "additionalProperties" : 0,
6183 "properties" : {
a55e94a6 6184 "comment" : {
732d76e1 6185 "description" : "Comment.",
eff914dc 6186 "optional" : 1,
eff914dc
DM
6187 "type" : "string",
6188 "typetext" : "<string>"
6189 },
732d76e1
DM
6190 "domain" : {
6191 "description" : "Domain name.",
f225b3b4 6192 "format" : "transport-domain",
eff914dc
DM
6193 "type" : "string",
6194 "typetext" : "<string>"
6195 }
732d76e1 6196 }
eff914dc 6197 },
a55e94a6
DM
6198 "permissions" : {
6199 "check" : [
6200 "admin"
6201 ]
6202 },
eff914dc
DM
6203 "protected" : 1,
6204 "proxyto" : "master",
6205 "returns" : {
6206 "type" : "null"
6207 }
6208 }
6209 },
6210 "leaf" : 0,
732d76e1
DM
6211 "path" : "/config/domains",
6212 "text" : "domains"
eff914dc
DM
6213 },
6214 {
6215 "children" : [
6216 {
6217 "info" : {
6218 "DELETE" : {
732d76e1 6219 "description" : "Delete a fetchmail configuration entry.",
eff914dc
DM
6220 "method" : "DELETE",
6221 "name" : "delete",
6222 "parameters" : {
6223 "additionalProperties" : 0,
6224 "properties" : {
732d76e1
DM
6225 "id" : {
6226 "description" : "Unique ID",
6227 "maxLength" : 16,
6228 "pattern" : "[A-Za-z0-9]+",
6229 "type" : "string"
eff914dc
DM
6230 }
6231 }
6232 },
732d76e1
DM
6233 "permissions" : {
6234 "check" : [
6235 "admin"
6236 ]
6237 },
eff914dc
DM
6238 "protected" : 1,
6239 "proxyto" : "master",
6240 "returns" : {
6241 "type" : "null"
6242 }
6243 },
6244 "GET" : {
732d76e1 6245 "description" : "Read fetchmail user configuration.",
eff914dc
DM
6246 "method" : "GET",
6247 "name" : "read",
6248 "parameters" : {
6249 "additionalProperties" : 0,
6250 "properties" : {
732d76e1
DM
6251 "id" : {
6252 "description" : "Unique ID",
6253 "maxLength" : 16,
6254 "pattern" : "[A-Za-z0-9]+",
6255 "type" : "string"
eff914dc
DM
6256 }
6257 }
6258 },
732d76e1
DM
6259 "permissions" : {
6260 "check" : [
6261 "admin",
6262 "audit"
6263 ]
6264 },
6265 "protected" : 1,
eff914dc
DM
6266 "proxyto" : "master",
6267 "returns" : {
6268 "properties" : {
732d76e1
DM
6269 "enable" : {
6270 "default" : 0,
6271 "description" : "Flag to enable or disable polling.",
6272 "optional" : 1,
6273 "type" : "boolean"
6274 },
6275 "id" : {
6276 "description" : "Unique ID",
6277 "maxLength" : 16,
6278 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6279 "type" : "string"
6280 },
732d76e1
DM
6281 "interval" : {
6282 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6283 "maximum" : 2016,
6284 "minimum" : 1,
6285 "optional" : 1,
6286 "type" : "integer"
6287 },
6288 "keep" : {
6289 "default" : 0,
6290 "description" : "Keep retrieved messages on the remote mailserver.",
6291 "optional" : 1,
6292 "type" : "boolean"
6293 },
6294 "pass" : {
6295 "description" : "The password used tfor server login.",
6296 "maxLength" : 64,
6297 "optional" : 1,
6298 "type" : "string"
6299 },
6300 "port" : {
6301 "description" : "Port number.",
6302 "maximum" : 65535,
6303 "minimum" : 1,
6304 "optional" : 1,
6305 "type" : "integer"
6306 },
6307 "protocol" : {
6308 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6309 "enum" : [
6310 "pop3",
6311 "imap"
6312 ],
6313 "optional" : 1,
6314 "type" : "string"
6315 },
6316 "server" : {
6317 "description" : "Server address (IP or DNS name).",
6318 "format" : "address",
6319 "optional" : 1,
6320 "type" : "string"
6321 },
6322 "ssl" : {
6323 "default" : 0,
6324 "description" : "Use SSL.",
6325 "optional" : 1,
6326 "type" : "boolean"
6327 },
6328 "target" : {
6329 "description" : "The target email address (where to deliver fetched mails).",
6330 "maxLength" : 512,
6331 "minLength" : 3,
6332 "optional" : 1,
241ac83c 6333 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6334 "type" : "string"
6335 },
6336 "user" : {
6337 "description" : "The user identification to be used when logging in to the server",
6338 "maxLength" : 64,
6339 "minLength" : 1,
6340 "optional" : 1,
eff914dc
DM
6341 "type" : "string"
6342 }
6343 },
6344 "type" : "object"
6345 }
6346 },
6347 "PUT" : {
732d76e1 6348 "description" : "Update fetchmail user configuration.",
eff914dc
DM
6349 "method" : "PUT",
6350 "name" : "write",
6351 "parameters" : {
6352 "additionalProperties" : 0,
6353 "properties" : {
732d76e1
DM
6354 "enable" : {
6355 "default" : 0,
6356 "description" : "Flag to enable or disable polling.",
6357 "optional" : 1,
6358 "type" : "boolean",
6359 "typetext" : "<boolean>"
6360 },
6361 "id" : {
6362 "description" : "Unique ID",
6363 "maxLength" : 16,
6364 "pattern" : "[A-Za-z0-9]+",
6365 "type" : "string"
6366 },
6367 "interval" : {
6368 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6369 "maximum" : 2016,
6370 "minimum" : 1,
6371 "optional" : 1,
6372 "type" : "integer",
6373 "typetext" : "<integer> (1 - 2016)"
6374 },
6375 "keep" : {
6376 "default" : 0,
6377 "description" : "Keep retrieved messages on the remote mailserver.",
6378 "optional" : 1,
6379 "type" : "boolean",
6380 "typetext" : "<boolean>"
6381 },
6382 "pass" : {
6383 "description" : "The password used tfor server login.",
6384 "maxLength" : 64,
6385 "optional" : 1,
eff914dc
DM
6386 "type" : "string",
6387 "typetext" : "<string>"
6388 },
732d76e1
DM
6389 "port" : {
6390 "description" : "Port number.",
6391 "maximum" : 65535,
6392 "minimum" : 1,
6393 "optional" : 1,
6394 "type" : "integer",
6395 "typetext" : "<integer> (1 - 65535)"
6396 },
6397 "protocol" : {
6398 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6399 "enum" : [
6400 "pop3",
6401 "imap"
6402 ],
6403 "optional" : 1,
6404 "type" : "string"
6405 },
6406 "server" : {
6407 "description" : "Server address (IP or DNS name).",
6408 "format" : "address",
6409 "optional" : 1,
6410 "type" : "string",
6411 "typetext" : "<string>"
6412 },
6413 "ssl" : {
6414 "default" : 0,
6415 "description" : "Use SSL.",
6416 "optional" : 1,
6417 "type" : "boolean",
6418 "typetext" : "<boolean>"
6419 },
6420 "target" : {
6421 "description" : "The target email address (where to deliver fetched mails).",
6422 "maxLength" : 512,
6423 "minLength" : 3,
6424 "optional" : 1,
241ac83c 6425 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6426 "type" : "string"
6427 },
6428 "user" : {
6429 "description" : "The user identification to be used when logging in to the server",
6430 "maxLength" : 64,
6431 "minLength" : 1,
6432 "optional" : 1,
eff914dc
DM
6433 "type" : "string",
6434 "typetext" : "<string>"
6435 }
6436 }
6437 },
732d76e1
DM
6438 "permissions" : {
6439 "check" : [
6440 "admin"
6441 ]
6442 },
eff914dc
DM
6443 "protected" : 1,
6444 "proxyto" : "master",
6445 "returns" : {
6446 "type" : "null"
6447 }
6448 }
6449 },
6450 "leaf" : 1,
732d76e1
DM
6451 "path" : "/config/fetchmail/{id}",
6452 "text" : "{id}"
eff914dc
DM
6453 }
6454 ],
6455 "info" : {
6456 "GET" : {
732d76e1 6457 "description" : "List fetchmail users.",
eff914dc
DM
6458 "method" : "GET",
6459 "name" : "index",
6460 "parameters" : {
6461 "additionalProperties" : 0
6462 },
732d76e1
DM
6463 "permissions" : {
6464 "check" : [
6465 "admin",
6466 "audit"
6467 ]
6468 },
6469 "protected" : 1,
eff914dc
DM
6470 "proxyto" : "master",
6471 "returns" : {
6472 "items" : {
6473 "properties" : {
732d76e1
DM
6474 "enable" : {
6475 "default" : 0,
6476 "description" : "Flag to enable or disable polling.",
6477 "optional" : 1,
6478 "type" : "boolean"
6479 },
6480 "id" : {
6481 "description" : "Unique ID",
6482 "maxLength" : 16,
6483 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6484 "type" : "string"
6485 },
732d76e1
DM
6486 "interval" : {
6487 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6488 "maximum" : 2016,
6489 "minimum" : 1,
6490 "optional" : 1,
6491 "type" : "integer"
6492 },
6493 "keep" : {
6494 "default" : 0,
6495 "description" : "Keep retrieved messages on the remote mailserver.",
6496 "optional" : 1,
6497 "type" : "boolean"
6498 },
6499 "pass" : {
6500 "description" : "The password used tfor server login.",
6501 "maxLength" : 64,
6502 "optional" : 1,
6503 "type" : "string"
6504 },
6505 "port" : {
6506 "description" : "Port number.",
6507 "maximum" : 65535,
6508 "minimum" : 1,
6509 "optional" : 1,
6510 "type" : "integer"
6511 },
6512 "protocol" : {
6513 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6514 "enum" : [
6515 "pop3",
6516 "imap"
6517 ],
6518 "optional" : 1,
6519 "type" : "string"
6520 },
6521 "server" : {
6522 "description" : "Server address (IP or DNS name).",
6523 "format" : "address",
6524 "optional" : 1,
6525 "type" : "string"
6526 },
6527 "ssl" : {
6528 "default" : 0,
6529 "description" : "Use SSL.",
6530 "optional" : 1,
6531 "type" : "boolean"
6532 },
6533 "target" : {
6534 "description" : "The target email address (where to deliver fetched mails).",
6535 "maxLength" : 512,
6536 "minLength" : 3,
6537 "optional" : 1,
241ac83c 6538 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6539 "type" : "string"
6540 },
6541 "user" : {
6542 "description" : "The user identification to be used when logging in to the server",
6543 "maxLength" : 64,
6544 "minLength" : 1,
6545 "optional" : 1,
eff914dc
DM
6546 "type" : "string"
6547 }
6548 },
6549 "type" : "object"
6550 },
6551 "links" : [
6552 {
732d76e1 6553 "href" : "{id}",
eff914dc
DM
6554 "rel" : "child"
6555 }
6556 ],
6557 "type" : "array"
6558 }
6559 },
6560 "POST" : {
732d76e1 6561 "description" : "Create fetchmail user configuration.",
eff914dc
DM
6562 "method" : "POST",
6563 "name" : "create",
6564 "parameters" : {
6565 "additionalProperties" : 0,
6566 "properties" : {
732d76e1
DM
6567 "enable" : {
6568 "default" : 0,
6569 "description" : "Flag to enable or disable polling.",
6570 "optional" : 1,
6571 "type" : "boolean",
6572 "typetext" : "<boolean>"
6573 },
6574 "interval" : {
6575 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6576 "maximum" : 2016,
6577 "minimum" : 1,
6578 "optional" : 1,
6579 "type" : "integer",
6580 "typetext" : "<integer> (1 - 2016)"
6581 },
6582 "keep" : {
6583 "default" : 0,
6584 "description" : "Keep retrieved messages on the remote mailserver.",
eff914dc 6585 "optional" : 1,
732d76e1
DM
6586 "type" : "boolean",
6587 "typetext" : "<boolean>"
6588 },
6589 "pass" : {
6590 "description" : "The password used tfor server login.",
6591 "maxLength" : 64,
eff914dc
DM
6592 "type" : "string",
6593 "typetext" : "<string>"
6594 },
732d76e1
DM
6595 "port" : {
6596 "description" : "Port number.",
6597 "maximum" : 65535,
6598 "minimum" : 1,
6599 "optional" : 1,
6600 "type" : "integer",
6601 "typetext" : "<integer> (1 - 65535)"
6602 },
6603 "protocol" : {
6604 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6605 "enum" : [
6606 "pop3",
6607 "imap"
6608 ],
6609 "type" : "string"
6610 },
6611 "server" : {
6612 "description" : "Server address (IP or DNS name).",
6613 "format" : "address",
6614 "type" : "string",
6615 "typetext" : "<string>"
6616 },
6617 "ssl" : {
6618 "default" : 0,
6619 "description" : "Use SSL.",
6620 "optional" : 1,
6621 "type" : "boolean",
6622 "typetext" : "<boolean>"
6623 },
6624 "target" : {
6625 "description" : "The target email address (where to deliver fetched mails).",
6626 "maxLength" : 512,
6627 "minLength" : 3,
241ac83c 6628 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6629 "type" : "string"
6630 },
6631 "user" : {
6632 "description" : "The user identification to be used when logging in to the server",
6633 "maxLength" : 64,
6634 "minLength" : 1,
eff914dc
DM
6635 "type" : "string",
6636 "typetext" : "<string>"
6637 }
6638 }
6639 },
732d76e1
DM
6640 "permissions" : {
6641 "check" : [
6642 "admin"
6643 ]
6644 },
eff914dc
DM
6645 "protected" : 1,
6646 "proxyto" : "master",
6647 "returns" : {
732d76e1
DM
6648 "description" : "Unique ID",
6649 "maxLength" : 16,
6650 "pattern" : "[A-Za-z0-9]+",
6651 "type" : "string"
eff914dc
DM
6652 }
6653 }
6654 },
6655 "leaf" : 0,
732d76e1
DM
6656 "path" : "/config/fetchmail",
6657 "text" : "fetchmail"
eff914dc
DM
6658 },
6659 {
6660 "children" : [
6661 {
6662 "info" : {
6663 "DELETE" : {
6664 "description" : "Delete a transport map entry",
6665 "method" : "DELETE",
6666 "name" : "delete",
6667 "parameters" : {
6668 "additionalProperties" : 0,
6669 "properties" : {
6670 "domain" : {
6671 "description" : "Domain name.",
f225b3b4 6672 "format" : "transport-domain-or-email",
eff914dc
DM
6673 "type" : "string",
6674 "typetext" : "<string>"
6675 }
6676 }
6677 },
732d76e1
DM
6678 "permissions" : {
6679 "check" : [
6680 "admin"
6681 ]
6682 },
eff914dc
DM
6683 "protected" : 1,
6684 "proxyto" : "master",
6685 "returns" : {
6686 "type" : "null"
6687 }
6688 },
6689 "GET" : {
6690 "description" : "Read transport map entry.",
6691 "method" : "GET",
6692 "name" : "read",
6693 "parameters" : {
6694 "additionalProperties" : 0,
6695 "properties" : {
6696 "domain" : {
6697 "description" : "Domain name.",
f225b3b4 6698 "format" : "transport-domain-or-email",
eff914dc
DM
6699 "type" : "string",
6700 "typetext" : "<string>"
6701 }
6702 }
6703 },
732d76e1
DM
6704 "permissions" : {
6705 "check" : [
6706 "admin",
6707 "audit"
6708 ]
6709 },
eff914dc
DM
6710 "proxyto" : "master",
6711 "returns" : {
6712 "properties" : {
6713 "comment" : {
6714 "type" : "string"
6715 },
6716 "domain" : {
6717 "type" : "string"
410dc2c9 6718 },
eff914dc
DM
6719 "host" : {
6720 "type" : "string"
6721 },
6722 "port" : {
6723 "type" : "integer"
6724 },
6725 "use_mx" : {
6726 "type" : "boolean"
6727 }
6728 },
6729 "type" : "object"
6730 }
6731 },
6732 "PUT" : {
6733 "description" : "Update transport map entry.",
6734 "method" : "PUT",
6735 "name" : "write",
6736 "parameters" : {
6737 "additionalProperties" : 0,
6738 "properties" : {
6739 "comment" : {
6740 "description" : "Comment.",
410dc2c9
DM
6741 "optional" : 1,
6742 "type" : "string",
6743 "typetext" : "<string>"
6744 },
eff914dc
DM
6745 "domain" : {
6746 "description" : "Domain name.",
f225b3b4 6747 "format" : "transport-domain-or-email",
410dc2c9
DM
6748 "type" : "string",
6749 "typetext" : "<string>"
6750 },
eff914dc
DM
6751 "host" : {
6752 "description" : "Target host (name or IP address).",
6753 "format" : "address",
410dc2c9
DM
6754 "optional" : 1,
6755 "type" : "string",
6756 "typetext" : "<string>"
6757 },
410dc2c9 6758 "port" : {
eff914dc 6759 "description" : "SMTP port.",
410dc2c9
DM
6760 "maximum" : 65535,
6761 "minimum" : 1,
6762 "optional" : 1,
6763 "type" : "integer",
6764 "typetext" : "<integer> (1 - 65535)"
6765 },
eff914dc
DM
6766 "use_mx" : {
6767 "description" : "Enable MX lookups.",
410dc2c9 6768 "optional" : 1,
eff914dc
DM
6769 "type" : "boolean",
6770 "typetext" : "<boolean>"
410dc2c9 6771 }
eff914dc 6772 }
410dc2c9 6773 },
732d76e1
DM
6774 "permissions" : {
6775 "check" : [
6776 "admin"
6777 ]
6778 },
410dc2c9
DM
6779 "protected" : 1,
6780 "proxyto" : "master",
6781 "returns" : {
6782 "type" : "null"
6783 }
6784 }
6785 },
6786 "leaf" : 1,
eff914dc
DM
6787 "path" : "/config/transport/{domain}",
6788 "text" : "{domain}"
410dc2c9
DM
6789 }
6790 ],
6791 "info" : {
6792 "GET" : {
eff914dc 6793 "description" : "List transport map entries.",
410dc2c9
DM
6794 "method" : "GET",
6795 "name" : "index",
6796 "parameters" : {
6797 "additionalProperties" : 0
6798 },
732d76e1
DM
6799 "permissions" : {
6800 "check" : [
6801 "admin",
6802 "audit"
6803 ]
6804 },
410dc2c9
DM
6805 "proxyto" : "master",
6806 "returns" : {
6807 "items" : {
6808 "properties" : {
eff914dc 6809 "comment" : {
410dc2c9
DM
6810 "type" : "string"
6811 },
eff914dc 6812 "domain" : {
410dc2c9
DM
6813 "type" : "string"
6814 },
eff914dc 6815 "host" : {
410dc2c9 6816 "type" : "string"
eff914dc
DM
6817 },
6818 "port" : {
6819 "type" : "integer"
6820 },
6821 "use_mx" : {
6822 "type" : "boolean"
410dc2c9
DM
6823 }
6824 },
6825 "type" : "object"
6826 },
6827 "links" : [
6828 {
c061d61d 6829 "href" : "{domain}",
410dc2c9
DM
6830 "rel" : "child"
6831 }
6832 ],
6833 "type" : "array"
6834 }
6835 },
6836 "POST" : {
eff914dc 6837 "description" : "Add transport map entry.",
410dc2c9
DM
6838 "method" : "POST",
6839 "name" : "create",
6840 "parameters" : {
6841 "additionalProperties" : 0,
6842 "properties" : {
eff914dc
DM
6843 "comment" : {
6844 "description" : "Comment.",
410dc2c9
DM
6845 "optional" : 1,
6846 "type" : "string",
6847 "typetext" : "<string>"
6848 },
eff914dc
DM
6849 "domain" : {
6850 "description" : "Domain name.",
f225b3b4 6851 "format" : "transport-domain-or-email",
410dc2c9
DM
6852 "type" : "string",
6853 "typetext" : "<string>"
6854 },
eff914dc
DM
6855 "host" : {
6856 "description" : "Target host (name or IP address).",
6857 "format" : "address",
410dc2c9
DM
6858 "type" : "string",
6859 "typetext" : "<string>"
6860 },
410dc2c9 6861 "port" : {
eff914dc
DM
6862 "default" : 25,
6863 "description" : "SMTP port.",
410dc2c9
DM
6864 "maximum" : 65535,
6865 "minimum" : 1,
6866 "optional" : 1,
6867 "type" : "integer",
6868 "typetext" : "<integer> (1 - 65535)"
6869 },
eff914dc
DM
6870 "use_mx" : {
6871 "default" : 1,
6872 "description" : "Enable MX lookups.",
410dc2c9 6873 "optional" : 1,
eff914dc
DM
6874 "type" : "boolean",
6875 "typetext" : "<boolean>"
410dc2c9 6876 }
eff914dc 6877 }
410dc2c9 6878 },
732d76e1
DM
6879 "permissions" : {
6880 "check" : [
6881 "admin"
6882 ]
6883 },
410dc2c9
DM
6884 "protected" : 1,
6885 "proxyto" : "master",
6886 "returns" : {
6887 "type" : "null"
6888 }
6889 }
6890 },
6891 "leaf" : 0,
eff914dc
DM
6892 "path" : "/config/transport",
6893 "text" : "transport"
410dc2c9
DM
6894 },
6895 {
6896 "children" : [
6897 {
6898 "info" : {
6899 "DELETE" : {
eff914dc 6900 "description" : "Delete a truster network",
410dc2c9
DM
6901 "method" : "DELETE",
6902 "name" : "delete",
6903 "parameters" : {
6904 "additionalProperties" : 0,
6905 "properties" : {
eff914dc
DM
6906 "cidr" : {
6907 "description" : "IPv4 or IPv6 network in CIDR notation.",
6908 "format" : "CIDR",
6909 "type" : "string",
6910 "typetext" : "<string>"
6911 }
6912 }
6913 },
732d76e1
DM
6914 "permissions" : {
6915 "check" : [
6916 "admin"
6917 ]
6918 },
eff914dc
DM
6919 "protected" : 1,
6920 "proxyto" : "master",
6921 "returns" : {
6922 "type" : "null"
6923 }
6924 },
6925 "GET" : {
6926 "description" : "Read trusted network data (comment).",
6927 "method" : "GET",
6928 "name" : "read",
6929 "parameters" : {
6930 "additionalProperties" : 0,
6931 "properties" : {
6932 "cidr" : {
6933 "description" : "IPv4 or IPv6 network in CIDR notation.",
6934 "format" : "CIDR",
6935 "type" : "string",
6936 "typetext" : "<string>"
6937 }
6938 }
6939 },
732d76e1
DM
6940 "permissions" : {
6941 "check" : [
6942 "admin",
6943 "audit"
6944 ]
6945 },
eff914dc
DM
6946 "proxyto" : "master",
6947 "returns" : {
6948 "properties" : {
6949 "cidr" : {
6950 "type" : "string"
6951 },
6952 "comment" : {
6953 "type" : "string"
6954 }
6955 },
6956 "type" : "object"
6957 }
6958 },
6959 "PUT" : {
6960 "description" : "Update trusted data (comment).",
6961 "method" : "PUT",
6962 "name" : "write",
6963 "parameters" : {
6964 "additionalProperties" : 0,
6965 "properties" : {
6966 "cidr" : {
6967 "description" : "IPv4 or IPv6 network in CIDR notation.",
6968 "type" : "string",
6969 "typetext" : "<string>"
6970 },
6971 "comment" : {
6972 "description" : "Comment.",
410dc2c9
DM
6973 "type" : "string",
6974 "typetext" : "<string>"
6975 }
6976 }
6977 },
732d76e1
DM
6978 "permissions" : {
6979 "check" : [
6980 "admin"
6981 ]
6982 },
410dc2c9
DM
6983 "protected" : 1,
6984 "proxyto" : "master",
6985 "returns" : {
6986 "type" : "null"
6987 }
6988 }
6989 },
6990 "leaf" : 1,
eff914dc
DM
6991 "path" : "/config/mynetworks/{cidr}",
6992 "text" : "{cidr}"
410dc2c9
DM
6993 }
6994 ],
6995 "info" : {
6996 "GET" : {
eff914dc 6997 "description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.",
410dc2c9
DM
6998 "method" : "GET",
6999 "name" : "index",
7000 "parameters" : {
7001 "additionalProperties" : 0
7002 },
732d76e1
DM
7003 "permissions" : {
7004 "check" : [
7005 "admin",
7006 "audit"
7007 ]
7008 },
410dc2c9
DM
7009 "proxyto" : "master",
7010 "returns" : {
7011 "items" : {
7012 "properties" : {
eff914dc 7013 "cidr" : {
410dc2c9
DM
7014 "type" : "string"
7015 }
7016 },
7017 "type" : "object"
7018 },
7019 "links" : [
7020 {
c061d61d 7021 "href" : "{cidr}",
410dc2c9
DM
7022 "rel" : "child"
7023 }
7024 ],
7025 "type" : "array"
7026 }
7027 },
7028 "POST" : {
eff914dc 7029 "description" : "Add a trusted network.",
410dc2c9
DM
7030 "method" : "POST",
7031 "name" : "create",
7032 "parameters" : {
7033 "additionalProperties" : 0,
7034 "properties" : {
eff914dc
DM
7035 "cidr" : {
7036 "description" : "IPv4 or IPv6 network in CIDR notation.",
7037 "format" : "CIDR",
7038 "type" : "string",
7039 "typetext" : "<string>"
7040 },
7041 "comment" : {
7042 "description" : "Comment.",
7043 "optional" : 1,
410dc2c9
DM
7044 "type" : "string",
7045 "typetext" : "<string>"
7046 }
7047 }
7048 },
732d76e1
DM
7049 "permissions" : {
7050 "check" : [
7051 "admin"
7052 ]
7053 },
410dc2c9
DM
7054 "protected" : 1,
7055 "proxyto" : "master",
7056 "returns" : {
7057 "type" : "null"
7058 }
7059 }
7060 },
7061 "leaf" : 0,
eff914dc
DM
7062 "path" : "/config/mynetworks",
7063 "text" : "mynetworks"
410dc2c9
DM
7064 },
7065 {
d7cd791b
DM
7066 "children" : [
7067 {
7068 "info" : {
7069 "GET" : {
7070 "description" : "Cluster node index.",
7071 "method" : "GET",
7072 "name" : "nodes",
7073 "parameters" : {
7074 "additionalProperties" : 0
7075 },
7076 "permissions" : {
7077 "check" : [
bb6e6e0d
DM
7078 "admin",
7079 "qmanager",
7080 "audit"
d7cd791b
DM
7081 ]
7082 },
7083 "returns" : {
7084 "items" : {
7085 "properties" : {
7086 "cid" : {
7087 "type" : "integer"
7088 },
7089 "fingerprint" : {
7090 "type" : "string"
7091 },
7092 "hostrsapubkey" : {
7093 "type" : "string"
7094 },
7095 "ip" : {
7096 "type" : "string"
7097 },
7098 "name" : {
7099 "type" : "string"
7100 },
7101 "rootrsapubkey" : {
7102 "type" : "string"
7103 },
7104 "type" : {
7105 "type" : "string"
7106 }
7107 },
7108 "type" : "object"
7109 },
d7cd791b
DM
7110 "type" : "array"
7111 }
7112 },
7113 "POST" : {
7114 "description" : "Add an node to the cluster config.",
7115 "method" : "POST",
7116 "name" : "add_node",
7117 "parameters" : {
7118 "additionalProperties" : 0,
7119 "properties" : {
7120 "fingerprint" : {
7121 "description" : "SSL certificate fingerprint.",
7122 "optional" : 0,
7123 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7124 "type" : "string"
7125 },
7126 "hostrsapubkey" : {
7127 "description" : "Public SSH RSA key for the host.",
7128 "optional" : 0,
7129 "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
7130 "type" : "string"
7131 },
7132 "ip" : {
7133 "description" : "IP address.",
7134 "format" : "ip",
7135 "optional" : 0,
7136 "type" : "string",
7137 "typetext" : "<string>"
7138 },
7139 "maxcid" : {
7140 "description" : "Maximum used cluster node ID (used internally, do not modify).",
7141 "minimum" : 1,
7142 "optional" : 1,
7143 "type" : "integer",
7144 "typetext" : "<integer> (1 - N)"
7145 },
7146 "name" : {
7147 "description" : "Node name.",
7148 "format" : "pve-node",
7149 "optional" : 0,
7150 "type" : "string",
7151 "typetext" : "<string>"
7152 },
7153 "rootrsapubkey" : {
7154 "description" : "Public SSH RSA key for the root user.",
7155 "optional" : 0,
7156 "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
7157 "type" : "string"
7158 }
7159 },
7160 "type" : "object"
7161 },
7162 "protected" : 1,
7163 "proxyto" : "master",
7164 "returns" : {
7165 "description" : "Returns the resulting node list.",
7166 "items" : {
7167 "properties" : {
7168 "cid" : {
7169 "type" : "integer"
7170 }
7171 },
7172 "type" : "object"
7173 },
7174 "type" : "array"
7175 }
7176 }
7177 },
7178 "leaf" : 1,
7179 "path" : "/config/cluster/nodes",
7180 "text" : "nodes"
7181 },
7182 {
7183 "info" : {
7184 "GET" : {
7185 "description" : "Cluster node status.",
7186 "method" : "GET",
7187 "name" : "status",
7188 "parameters" : {
bb6e6e0d
DM
7189 "additionalProperties" : 0,
7190 "properties" : {
7191 "list_single_node" : {
7192 "default" : 0,
7193 "description" : "List local node if there is no cluster defined. Please note that RSA keys and fingerprint are not valid in that case.",
7194 "optional" : 1,
7195 "type" : "boolean",
7196 "typetext" : "<boolean>"
7197 }
7198 }
d7cd791b
DM
7199 },
7200 "permissions" : {
7201 "check" : [
bb6e6e0d
DM
7202 "admin",
7203 "qmanager",
7204 "audit"
d7cd791b
DM
7205 ]
7206 },
7207 "returns" : {
7208 "items" : {
7209 "properties" : {
7210 "cid" : {
7211 "type" : "integer"
7212 },
7213 "fingerprint" : {
7214 "type" : "string"
7215 },
7216 "hostrsapubkey" : {
7217 "type" : "string"
7218 },
7219 "ip" : {
7220 "type" : "string"
7221 },
7222 "name" : {
7223 "type" : "string"
7224 },
7225 "rootrsapubkey" : {
7226 "type" : "string"
7227 },
7228 "type" : {
7229 "type" : "string"
7230 }
7231 },
7232 "type" : "object"
7233 },
7234 "links" : [
7235 {
7236 "href" : "{cid}",
7237 "rel" : "child"
7238 }
7239 ],
7240 "type" : "array"
7241 }
7242 }
7243 },
7244 "leaf" : 1,
7245 "path" : "/config/cluster/status",
7246 "text" : "status"
7247 },
7248 {
7249 "info" : {
7250 "POST" : {
7251 "description" : "Create initial cluster config with current node as master.",
7252 "method" : "POST",
7253 "name" : "create",
7254 "parameters" : {
7255 "additionalProperties" : 0
7256 },
7257 "protected" : 1,
7258 "returns" : {
7259 "type" : "string"
7260 }
7261 }
7262 },
7263 "leaf" : 1,
7264 "path" : "/config/cluster/create",
7265 "text" : "create"
7266 },
7267 {
7268 "info" : {
7269 "POST" : {
7270 "description" : "Join local node to an existing cluster.",
7271 "method" : "POST",
7272 "name" : "join",
7273 "parameters" : {
7274 "additionalProperties" : 0,
7275 "properties" : {
7276 "fingerprint" : {
7277 "description" : "SSL certificate fingerprint.",
7278 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7279 "type" : "string"
7280 },
7281 "master_ip" : {
7282 "description" : "IP address.",
7283 "format" : "ip",
7284 "type" : "string",
7285 "typetext" : "<string>"
7286 },
7287 "password" : {
7288 "description" : "Superuser password.",
7289 "maxLength" : 128,
7290 "type" : "string",
7291 "typetext" : "<string>"
7292 }
7293 }
7294 },
7295 "protected" : 1,
7296 "returns" : {
7297 "type" : "string"
7298 }
7299 }
7300 },
7301 "leaf" : 1,
7302 "path" : "/config/cluster/join",
7303 "text" : "join"
7304 }
7305 ],
410dc2c9
DM
7306 "info" : {
7307 "GET" : {
d7cd791b 7308 "description" : "Directory index.",
410dc2c9
DM
7309 "method" : "GET",
7310 "name" : "index",
7311 "parameters" : {
7312 "additionalProperties" : 0
7313 },
d7cd791b
DM
7314 "permissions" : {
7315 "user" : "all"
7316 },
410dc2c9
DM
7317 "returns" : {
7318 "items" : {
d7cd791b 7319 "properties" : {},
410dc2c9
DM
7320 "type" : "object"
7321 },
7322 "links" : [
7323 {
d7cd791b 7324 "href" : "{name}",
410dc2c9
DM
7325 "rel" : "child"
7326 }
7327 ],
7328 "type" : "array"
7329 }
7330 }
7331 },
d7cd791b 7332 "leaf" : 0,
410dc2c9
DM
7333 "path" : "/config/cluster",
7334 "text" : "cluster"
7335 },
9fda36b0
DM
7336 {
7337 "info" : {
7338 "GET" : {
7339 "description" : "Get Mime Types List",
7340 "method" : "GET",
7341 "name" : "index",
7342 "parameters" : {
7343 "additionalProperties" : 0
7344 },
7345 "returns" : {
7346 "items" : {
7347 "properties" : {
7348 "mimetype" : {
7349 "type" : "string"
7350 },
7351 "text" : {
7352 "type" : "string"
7353 }
7354 },
7355 "type" : "object"
7356 },
7357 "type" : "array"
7358 }
7359 }
7360 },
7361 "leaf" : 1,
7362 "path" : "/config/mimetypes",
7363 "text" : "mimetypes"
7364 },
241ac83c
TL
7365 {
7366 "children" : [
7367 {
7368 "info" : {
7369 "DELETE" : {
7370 "description" : "Delete a tls_policy entry",
7371 "method" : "DELETE",
7372 "name" : "delete",
7373 "parameters" : {
7374 "additionalProperties" : 0,
7375 "properties" : {
7376 "domain" : {
7377 "description" : "Domain name.",
7378 "format" : "transport-domain",
7379 "type" : "string",
7380 "typetext" : "<string>"
7381 }
7382 }
7383 },
7384 "permissions" : {
7385 "check" : [
7386 "admin"
7387 ]
7388 },
7389 "protected" : 1,
7390 "proxyto" : "master",
7391 "returns" : {
7392 "type" : "null"
7393 }
7394 },
7395 "GET" : {
7396 "description" : "Read tls_policy entry.",
7397 "method" : "GET",
7398 "name" : "read",
7399 "parameters" : {
7400 "additionalProperties" : 0,
7401 "properties" : {
7402 "domain" : {
7403 "description" : "Domain name.",
7404 "format" : "transport-domain",
7405 "type" : "string",
7406 "typetext" : "<string>"
7407 }
7408 }
7409 },
7410 "permissions" : {
7411 "check" : [
7412 "admin",
7413 "audit"
7414 ]
7415 },
7416 "proxyto" : "master",
7417 "returns" : {
7418 "properties" : {
7419 "domain" : {
7420 "format" : "transport-domain",
7421 "type" : "string"
7422 },
7423 "policy" : {
7424 "format" : "tls-policy",
7425 "type" : "string"
7426 }
7427 },
7428 "type" : "object"
7429 }
7430 },
7431 "PUT" : {
7432 "description" : "Update tls_policy entry.",
7433 "method" : "PUT",
7434 "name" : "write",
7435 "parameters" : {
7436 "additionalProperties" : 0,
7437 "properties" : {
7438 "domain" : {
7439 "description" : "Domain name.",
7440 "format" : "transport-domain",
7441 "type" : "string",
7442 "typetext" : "<string>"
7443 },
7444 "policy" : {
7445 "description" : "TLS policy",
7446 "format" : "tls-policy-strict",
7447 "type" : "string",
7448 "typetext" : "<string>"
7449 }
7450 }
7451 },
7452 "permissions" : {
7453 "check" : [
7454 "admin"
7455 ]
7456 },
7457 "protected" : 1,
7458 "proxyto" : "master",
7459 "returns" : {
7460 "type" : "null"
7461 }
7462 }
7463 },
7464 "leaf" : 1,
7465 "path" : "/config/tlspolicy/{domain}",
7466 "text" : "{domain}"
7467 }
7468 ],
7469 "info" : {
7470 "GET" : {
7471 "description" : "List tls_policy entries.",
7472 "method" : "GET",
7473 "name" : "index",
7474 "parameters" : {
7475 "additionalProperties" : 0
7476 },
7477 "permissions" : {
7478 "check" : [
7479 "admin",
7480 "audit"
7481 ]
7482 },
7483 "proxyto" : "master",
7484 "returns" : {
7485 "items" : {
7486 "properties" : {
7487 "domain" : {
7488 "format" : "transport-domain",
7489 "type" : "string"
7490 },
7491 "policy" : {
7492 "format" : "tls-policy",
7493 "type" : "string"
7494 }
7495 },
7496 "type" : "object"
7497 },
7498 "links" : [
7499 {
7500 "href" : "{domain}",
7501 "rel" : "child"
7502 }
7503 ],
7504 "type" : "array"
7505 }
7506 },
7507 "POST" : {
7508 "description" : "Add tls_policy entry.",
7509 "method" : "POST",
7510 "name" : "create",
7511 "parameters" : {
7512 "additionalProperties" : 0,
7513 "properties" : {
7514 "domain" : {
7515 "description" : "Domain name.",
7516 "format" : "transport-domain",
7517 "type" : "string",
7518 "typetext" : "<string>"
7519 },
7520 "policy" : {
7521 "description" : "TLS policy",
7522 "format" : "tls-policy-strict",
7523 "type" : "string",
7524 "typetext" : "<string>"
7525 }
7526 }
7527 },
7528 "permissions" : {
7529 "check" : [
7530 "admin"
7531 ]
7532 },
7533 "protected" : 1,
7534 "proxyto" : "master",
7535 "returns" : {
7536 "type" : "null"
7537 }
7538 }
7539 },
7540 "leaf" : 0,
7541 "path" : "/config/tlspolicy",
7542 "text" : "tlspolicy"
7543 },
410dc2c9
DM
7544 {
7545 "info" : {
7546 "GET" : {
7547 "description" : "Read admin configuration properties.",
7548 "method" : "GET",
7549 "name" : "read_admin_section",
7550 "parameters" : {
7551 "additionalProperties" : 0
7552 },
732d76e1
DM
7553 "permissions" : {
7554 "check" : [
7555 "admin",
7556 "audit"
7557 ]
7558 },
410dc2c9
DM
7559 "proxyto" : "master",
7560 "returns" : {
7561 "type" : "object"
7562 }
7563 },
7564 "PUT" : {
7565 "description" : "Update admin configuration properties.",
7566 "method" : "PUT",
7567 "name" : "update_admin_section",
7568 "parameters" : {
7569 "additionalProperties" : 0,
7570 "properties" : {
9fda36b0
DM
7571 "advfilter" : {
7572 "default" : 1,
7573 "description" : "Use advanced filters for statistic.",
7574 "optional" : 1,
7575 "type" : "boolean",
7576 "typetext" : "<boolean>"
7577 },
f225b3b4
DM
7578 "avast" : {
7579 "default" : 0,
241ac83c 7580 "description" : "Use Avast Virus Scanner (/usr/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
f225b3b4
DM
7581 "optional" : 1,
7582 "type" : "boolean",
7583 "typetext" : "<boolean>"
7584 },
7585 "clamav" : {
7586 "default" : 1,
7587 "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
7588 "optional" : 1,
7589 "type" : "boolean",
7590 "typetext" : "<boolean>"
7591 },
241ac83c
TL
7592 "custom_check" : {
7593 "default" : 0,
7594 "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
7595 "optional" : 1,
7596 "type" : "boolean",
7597 "typetext" : "<boolean>"
7598 },
7599 "custom_check_path" : {
7600 "default" : "/usr/local/bin/pmg-custom-check",
7601 "description" : "Absolute Path to the Custom Check Script",
7602 "optional" : 1,
7603 "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
7604 "type" : "string"
7605 },
410dc2c9
DM
7606 "dailyreport" : {
7607 "default" : 1,
7608 "description" : "Send daily reports.",
7609 "optional" : 1,
7610 "type" : "boolean",
7611 "typetext" : "<boolean>"
7612 },
7613 "delete" : {
7614 "description" : "A list of settings you want to delete.",
7615 "format" : "pve-configid-list",
7616 "maxLength" : 4096,
7617 "optional" : 1,
7618 "type" : "string",
7619 "typetext" : "<string>"
7620 },
7621 "demo" : {
7622 "default" : 0,
7623 "description" : "Demo mode - do not start SMTP filter.",
7624 "optional" : 1,
7625 "type" : "boolean",
7626 "typetext" : "<boolean>"
7627 },
7628 "digest" : {
7629 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7630 "maxLength" : 40,
7631 "optional" : 1,
7632 "type" : "string",
7633 "typetext" : "<string>"
7634 },
eff914dc
DM
7635 "email" : {
7636 "default" : "admin@domain.tld",
7637 "description" : "Administrator E-Mail address.",
7638 "format" : "email",
7639 "optional" : 1,
7640 "type" : "string",
7641 "typetext" : "<string>"
7642 },
9fda36b0
DM
7643 "http_proxy" : {
7644 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
410dc2c9 7645 "optional" : 1,
9fda36b0
DM
7646 "pattern" : "http://.*",
7647 "type" : "string"
a55e94a6
DM
7648 },
7649 "statlifetime" : {
7650 "default" : 7,
7651 "description" : "User Statistics Lifetime (days)",
7652 "minimum" : 1,
7653 "optional" : 1,
7654 "type" : "integer",
7655 "typetext" : "<integer> (1 - N)"
410dc2c9
DM
7656 }
7657 },
7658 "type" : "object"
7659 },
732d76e1
DM
7660 "permissions" : {
7661 "check" : [
7662 "admin"
7663 ]
7664 },
410dc2c9
DM
7665 "protected" : 1,
7666 "proxyto" : "master",
7667 "returns" : {
7668 "type" : "null"
7669 }
7670 }
7671 },
7672 "leaf" : 1,
7673 "path" : "/config/admin",
7674 "text" : "admin"
7675 },
7676 {
7677 "info" : {
7678 "GET" : {
7679 "description" : "Read clamav configuration properties.",
7680 "method" : "GET",
7681 "name" : "read_clamav_section",
7682 "parameters" : {
7683 "additionalProperties" : 0
7684 },
732d76e1
DM
7685 "permissions" : {
7686 "check" : [
7687 "admin",
7688 "audit"
7689 ]
7690 },
410dc2c9
DM
7691 "proxyto" : "master",
7692 "returns" : {
7693 "type" : "object"
7694 }
7695 },
7696 "PUT" : {
7697 "description" : "Update clamav configuration properties.",
7698 "method" : "PUT",
7699 "name" : "update_clamav_section",
7700 "parameters" : {
7701 "additionalProperties" : 0,
7702 "properties" : {
7703 "archiveblockencrypted" : {
7704 "default" : 0,
6a73cfb0 7705 "description" : "Whether to mark encrypted archives and documents as heuristic virus match. A match does not necessarily result in an immediate block, it just raises the Spam Score by 'clamav_heuristic_score'.",
410dc2c9
DM
7706 "optional" : 1,
7707 "type" : "boolean",
7708 "typetext" : "<boolean>"
7709 },
7710 "archivemaxfiles" : {
7711 "default" : 1000,
7712 "description" : "Number of files to be scanned within an archive, a document, or any other kind of container. Warning: disabling this limit or setting it too high may result in severe damage to the system.",
7713 "minimum" : 0,
7714 "optional" : 1,
7715 "type" : "integer",
7716 "typetext" : "<integer> (0 - N)"
7717 },
7718 "archivemaxrec" : {
7719 "default" : 5,
7720 "description" : "Nested archives are scanned recursively, e.g. if a ZIP archive contains a TAR file, all files within it will also be scanned. This options specifies how deeply the process should be continued. Warning: setting this limit too high may result in severe damage to the system.",
7721 "minimum" : 1,
7722 "optional" : 1,
7723 "type" : "integer",
7724 "typetext" : "<integer> (1 - N)"
7725 },
7726 "archivemaxsize" : {
7727 "default" : 25000000,
6a73cfb0 7728 "description" : "Files larger than this limit (in bytes) won't be scanned.",
410dc2c9
DM
7729 "minimum" : 1000000,
7730 "optional" : 1,
7731 "type" : "integer",
7732 "typetext" : "<integer> (1000000 - N)"
7733 },
7734 "dbmirror" : {
7735 "default" : "database.clamav.net",
7736 "description" : "ClamAV database mirror server.",
7737 "optional" : 1,
7738 "type" : "string",
7739 "typetext" : "<string>"
7740 },
7741 "delete" : {
7742 "description" : "A list of settings you want to delete.",
7743 "format" : "pve-configid-list",
7744 "maxLength" : 4096,
7745 "optional" : 1,
7746 "type" : "string",
7747 "typetext" : "<string>"
7748 },
7749 "digest" : {
7750 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7751 "maxLength" : 40,
7752 "optional" : 1,
7753 "type" : "string",
7754 "typetext" : "<string>"
7755 },
7756 "maxcccount" : {
7757 "default" : 0,
7758 "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
7759 "minimum" : 0,
7760 "optional" : 1,
7761 "type" : "integer",
7762 "typetext" : "<integer> (0 - N)"
7763 },
7764 "maxscansize" : {
7765 "default" : 100000000,
6a73cfb0 7766 "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.",
410dc2c9
DM
7767 "minimum" : 1000000,
7768 "optional" : 1,
7769 "type" : "integer",
7770 "typetext" : "<integer> (1000000 - N)"
f245a28c
DM
7771 },
7772 "safebrowsing" : {
7773 "default" : 1,
7774 "description" : "Enables support for Google Safe Browsing.",
7775 "optional" : 1,
7776 "type" : "boolean",
7777 "typetext" : "<boolean>"
410dc2c9
DM
7778 }
7779 },
7780 "type" : "object"
7781 },
732d76e1
DM
7782 "permissions" : {
7783 "check" : [
7784 "admin"
7785 ]
7786 },
410dc2c9
DM
7787 "protected" : 1,
7788 "proxyto" : "master",
7789 "returns" : {
7790 "type" : "null"
7791 }
7792 }
7793 },
7794 "leaf" : 1,
7795 "path" : "/config/clamav",
7796 "text" : "clamav"
7797 },
7798 {
7799 "info" : {
7800 "GET" : {
7801 "description" : "Read mail configuration properties.",
7802 "method" : "GET",
7803 "name" : "read_mail_section",
7804 "parameters" : {
7805 "additionalProperties" : 0
7806 },
732d76e1
DM
7807 "permissions" : {
7808 "check" : [
7809 "admin",
7810 "audit"
7811 ]
7812 },
410dc2c9
DM
7813 "proxyto" : "master",
7814 "returns" : {
7815 "type" : "object"
7816 }
7817 },
7818 "PUT" : {
7819 "description" : "Update mail configuration properties.",
7820 "method" : "PUT",
7821 "name" : "update_mail_section",
7822 "parameters" : {
7823 "additionalProperties" : 0,
7824 "properties" : {
7825 "banner" : {
7826 "default" : "ESMTP Proxmox",
7827 "description" : "ESMTP banner.",
7828 "maxLength" : 1024,
7829 "optional" : 1,
7830 "type" : "string",
7831 "typetext" : "<string>"
7832 },
7833 "conn_count_limit" : {
7834 "default" : 50,
7835 "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
7836 "minimum" : 0,
7837 "optional" : 1,
7838 "type" : "integer",
7839 "typetext" : "<integer> (0 - N)"
7840 },
7841 "conn_rate_limit" : {
7842 "default" : 0,
7843 "description" : "The maximal number of connection attempts any client is allowed to make to this service per minute. To disable this feature, specify a limit of 0.",
7844 "minimum" : 0,
7845 "optional" : 1,
7846 "type" : "integer",
7847 "typetext" : "<integer> (0 - N)"
7848 },
7849 "delete" : {
7850 "description" : "A list of settings you want to delete.",
7851 "format" : "pve-configid-list",
7852 "maxLength" : 4096,
7853 "optional" : 1,
7854 "type" : "string",
7855 "typetext" : "<string>"
7856 },
7857 "digest" : {
7858 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7859 "maxLength" : 40,
7860 "optional" : 1,
7861 "type" : "string",
7862 "typetext" : "<string>"
7863 },
7864 "dnsbl_sites" : {
7865 "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
274b47fc 7866 "format" : "dnsbl-entry-list",
410dc2c9
DM
7867 "optional" : 1,
7868 "type" : "string",
7869 "typetext" : "<string>"
7870 },
445686c9
DM
7871 "dnsbl_threshold" : {
7872 "default" : 1,
7873 "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (see postscreen_dnsbl_threshold parameter).",
7874 "minimum" : 0,
7875 "optional" : 1,
7876 "type" : "integer",
7877 "typetext" : "<integer> (0 - N)"
7878 },
410dc2c9
DM
7879 "dwarning" : {
7880 "default" : 4,
7881 "description" : "SMTP delay warning time (in hours).",
7882 "minimum" : 0,
7883 "optional" : 1,
7884 "type" : "integer",
7885 "typetext" : "<integer> (0 - N)"
7886 },
eff914dc 7887 "ext_port" : {
4a46ced6 7888 "default" : 25,
eff914dc
DM
7889 "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
7890 "maximum" : 65535,
7891 "minimum" : 1,
7892 "optional" : 1,
7893 "type" : "integer",
7894 "typetext" : "<integer> (1 - 65535)"
7895 },
410dc2c9
DM
7896 "greylist" : {
7897 "default" : 1,
7898 "description" : "Use Greylisting.",
7899 "optional" : 1,
7900 "type" : "boolean",
7901 "typetext" : "<boolean>"
7902 },
7903 "helotests" : {
7904 "default" : 0,
7905 "description" : "Use SMTP HELO tests.",
7906 "optional" : 1,
7907 "type" : "boolean",
7908 "typetext" : "<boolean>"
7909 },
7910 "hide_received" : {
7911 "default" : 0,
7912 "description" : "Hide received header in outgoing mails.",
7913 "optional" : 1,
7914 "type" : "boolean",
7915 "typetext" : "<boolean>"
7916 },
eff914dc 7917 "int_port" : {
4a46ced6 7918 "default" : 26,
eff914dc
DM
7919 "description" : "SMTP port number for outgoing mail (trusted).",
7920 "maximum" : 65535,
7921 "minimum" : 1,
7922 "optional" : 1,
7923 "type" : "integer",
7924 "typetext" : "<integer> (1 - 65535)"
7925 },
410dc2c9 7926 "max_filters" : {
241ac83c 7927 "default" : 35,
410dc2c9
DM
7928 "description" : "Maximum number of pmg-smtp-filter processes.",
7929 "maximum" : 40,
7930 "minimum" : 3,
7931 "optional" : 1,
7932 "type" : "integer",
7933 "typetext" : "<integer> (3 - 40)"
7934 },
7935 "max_policy" : {
7936 "default" : 5,
7937 "description" : "Maximum number of pmgpolicy processes.",
7938 "maximum" : 10,
7939 "minimum" : 2,
7940 "optional" : 1,
7941 "type" : "integer",
7942 "typetext" : "<integer> (2 - 10)"
7943 },
7944 "max_smtpd_in" : {
241ac83c 7945 "default" : 100,
410dc2c9
DM
7946 "description" : "Maximum number of SMTP daemon processes (in).",
7947 "maximum" : 100,
7948 "minimum" : 3,
7949 "optional" : 1,
7950 "type" : "integer",
7951 "typetext" : "<integer> (3 - 100)"
7952 },
7953 "max_smtpd_out" : {
241ac83c 7954 "default" : 100,
410dc2c9
DM
7955 "description" : "Maximum number of SMTP daemon processes (out).",
7956 "maximum" : 100,
7957 "minimum" : 3,
7958 "optional" : 1,
7959 "type" : "integer",
7960 "typetext" : "<integer> (3 - 100)"
7961 },
7962 "maxsize" : {
7963 "default" : 10485760,
7964 "description" : "Maximum email size. Larger mails are rejected.",
7965 "minimum" : 1024,
7966 "optional" : 1,
7967 "type" : "integer",
7968 "typetext" : "<integer> (1024 - N)"
7969 },
7970 "message_rate_limit" : {
7971 "default" : 0,
7972 "description" : "The maximal number of message delivery requests that any client is allowed to make to this service per minute.To disable this feature, specify a limit of 0.",
7973 "minimum" : 0,
7974 "optional" : 1,
7975 "type" : "integer",
7976 "typetext" : "<integer> (0 - N)"
7977 },
7978 "rejectunknown" : {
7979 "default" : 0,
7980 "description" : "Reject unknown clients.",
7981 "optional" : 1,
7982 "type" : "boolean",
7983 "typetext" : "<boolean>"
7984 },
7985 "rejectunknownsender" : {
7986 "default" : 0,
7987 "description" : "Reject unknown senders.",
7988 "optional" : 1,
7989 "type" : "boolean",
7990 "typetext" : "<boolean>"
7991 },
7992 "relay" : {
7993 "description" : "The default mail delivery transport (incoming mails).",
eff914dc 7994 "format" : "address",
410dc2c9
DM
7995 "optional" : 1,
7996 "type" : "string",
7997 "typetext" : "<string>"
7998 },
7999 "relaynomx" : {
8000 "default" : 0,
8001 "description" : "Disable MX lookups for default relay.",
8002 "optional" : 1,
8003 "type" : "boolean",
8004 "typetext" : "<boolean>"
8005 },
8006 "relayport" : {
8007 "default" : 25,
8008 "description" : "SMTP port number for relay host.",
8009 "maximum" : 65535,
8010 "minimum" : 1,
8011 "optional" : 1,
8012 "type" : "integer",
8013 "typetext" : "<integer> (1 - 65535)"
8014 },
eff914dc
DM
8015 "smarthost" : {
8016 "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
8017 "format" : "address",
8018 "optional" : 1,
8019 "type" : "string",
8020 "typetext" : "<string>"
8021 },
445686c9
DM
8022 "smarthostport" : {
8023 "default" : 25,
8024 "description" : "SMTP port number for smarthost.",
8025 "maximum" : 65535,
8026 "minimum" : 1,
8027 "optional" : 1,
8028 "type" : "integer",
8029 "typetext" : "<integer> (1 - 65535)"
8030 },
410dc2c9
DM
8031 "spf" : {
8032 "default" : 1,
8033 "description" : "Use Sender Policy Framework.",
8034 "optional" : 1,
8035 "type" : "boolean",
8036 "typetext" : "<boolean>"
8037 },
8038 "tls" : {
8039 "default" : 0,
eff914dc
DM
8040 "description" : "Enable TLS.",
8041 "optional" : 1,
8042 "type" : "boolean",
8043 "typetext" : "<boolean>"
8044 },
8045 "tlsheader" : {
8046 "default" : 0,
8047 "description" : "Add TLS received header.",
8048 "optional" : 1,
8049 "type" : "boolean",
8050 "typetext" : "<boolean>"
8051 },
8052 "tlslog" : {
8053 "default" : 0,
8054 "description" : "Enable TLS Logging.",
410dc2c9
DM
8055 "optional" : 1,
8056 "type" : "boolean",
8057 "typetext" : "<boolean>"
8058 },
410dc2c9 8059 "verifyreceivers" : {
eff914dc
DM
8060 "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
8061 "enum" : [
8062 "450",
8063 "550"
8064 ],
410dc2c9 8065 "optional" : 1,
eff914dc 8066 "type" : "string"
410dc2c9
DM
8067 }
8068 },
8069 "type" : "object"
8070 },
732d76e1
DM
8071 "permissions" : {
8072 "check" : [
8073 "admin"
8074 ]
8075 },
410dc2c9
DM
8076 "protected" : 1,
8077 "proxyto" : "master",
8078 "returns" : {
8079 "type" : "null"
8080 }
8081 }
8082 },
8083 "leaf" : 1,
8084 "path" : "/config/mail",
8085 "text" : "mail"
8086 },
8087 {
8088 "info" : {
8089 "GET" : {
8090 "description" : "Read spam configuration properties.",
8091 "method" : "GET",
8092 "name" : "read_spam_section",
8093 "parameters" : {
8094 "additionalProperties" : 0
8095 },
732d76e1
DM
8096 "permissions" : {
8097 "check" : [
8098 "admin",
8099 "audit"
8100 ]
8101 },
410dc2c9
DM
8102 "proxyto" : "master",
8103 "returns" : {
8104 "type" : "object"
8105 }
8106 },
8107 "PUT" : {
8108 "description" : "Update spam configuration properties.",
8109 "method" : "PUT",
8110 "name" : "update_spam_section",
8111 "parameters" : {
8112 "additionalProperties" : 0,
8113 "properties" : {
8114 "bounce_score" : {
8115 "default" : 0,
8116 "description" : "Additional score for bounce mails.",
8117 "maximum" : 1000,
8118 "minimum" : 0,
8119 "optional" : 1,
8120 "type" : "integer",
8121 "typetext" : "<integer> (0 - 1000)"
8122 },
274b47fc
DM
8123 "clamav_heuristic_score" : {
8124 "default" : 3,
6a73cfb0 8125 "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, Google Safe Browsing database, PhishingScanURLs, ...).",
274b47fc
DM
8126 "maximum" : 1000,
8127 "minimum" : 0,
8128 "optional" : 1,
8129 "type" : "integer",
8130 "typetext" : "<integer> (0 - 1000)"
8131 },
410dc2c9
DM
8132 "delete" : {
8133 "description" : "A list of settings you want to delete.",
8134 "format" : "pve-configid-list",
8135 "maxLength" : 4096,
8136 "optional" : 1,
8137 "type" : "string",
8138 "typetext" : "<string>"
8139 },
8140 "digest" : {
8141 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8142 "maxLength" : 40,
8143 "optional" : 1,
8144 "type" : "string",
8145 "typetext" : "<string>"
8146 },
8147 "languages" : {
8148 "default" : "all",
8149 "description" : "This option is used to specify which languages are considered OK for incoming mail.",
8150 "optional" : 1,
8151 "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
8152 "type" : "string"
8153 },
8154 "maxspamsize" : {
274b47fc 8155 "default" : 262144,
410dc2c9
DM
8156 "description" : "Maximum size of spam messages in bytes.",
8157 "minimum" : 64,
8158 "optional" : 1,
8159 "type" : "integer",
8160 "typetext" : "<integer> (64 - N)"
8161 },
8162 "rbl_checks" : {
8163 "default" : 1,
8164 "description" : "Enable real time blacklists (RBL) checks.",
8165 "optional" : 1,
8166 "type" : "boolean",
8167 "typetext" : "<boolean>"
8168 },
8169 "use_awl" : {
8170 "default" : 1,
8171 "description" : "Use the Auto-Whitelist plugin.",
8172 "optional" : 1,
8173 "type" : "boolean",
8174 "typetext" : "<boolean>"
8175 },
8176 "use_bayes" : {
8177 "default" : 1,
8178 "description" : "Whether to use the naive-Bayesian-style classifier.",
8179 "optional" : 1,
8180 "type" : "boolean",
8181 "typetext" : "<boolean>"
8182 },
410dc2c9
DM
8183 "use_razor" : {
8184 "default" : 1,
8185 "description" : "Whether to use Razor2, if it is available.",
8186 "optional" : 1,
8187 "type" : "boolean",
8188 "typetext" : "<boolean>"
8189 },
8190 "wl_bounce_relays" : {
8191 "description" : "Whitelist legitimate bounce relays.",
8192 "optional" : 1,
8193 "type" : "string",
8194 "typetext" : "<string>"
8195 }
8196 },
8197 "type" : "object"
8198 },
732d76e1
DM
8199 "permissions" : {
8200 "check" : [
8201 "admin"
8202 ]
8203 },
410dc2c9
DM
8204 "protected" : 1,
8205 "proxyto" : "master",
8206 "returns" : {
8207 "type" : "null"
8208 }
8209 }
8210 },
8211 "leaf" : 1,
8212 "path" : "/config/spam",
8213 "text" : "spam"
f245a28c
DM
8214 },
8215 {
8216 "info" : {
8217 "GET" : {
8218 "description" : "Read spamquar configuration properties.",
8219 "method" : "GET",
8220 "name" : "read_spamquar_section",
8221 "parameters" : {
8222 "additionalProperties" : 0
8223 },
732d76e1
DM
8224 "permissions" : {
8225 "check" : [
8226 "admin",
8227 "audit"
8228 ]
8229 },
f245a28c
DM
8230 "proxyto" : "master",
8231 "returns" : {
8232 "type" : "object"
8233 }
8234 },
8235 "PUT" : {
8236 "description" : "Update spamquar configuration properties.",
8237 "method" : "PUT",
8238 "name" : "update_spamquar_section",
8239 "parameters" : {
8240 "additionalProperties" : 0,
8241 "properties" : {
8242 "allowhrefs" : {
8243 "default" : 1,
8244 "description" : "Allow to view hyperlinks.",
8245 "optional" : 1,
8246 "type" : "boolean",
8247 "typetext" : "<boolean>"
8248 },
8249 "authmode" : {
8250 "default" : "ticket",
8251 "description" : "Authentication mode to access the quarantine interface. Mode 'ticket' allows login using tickets sent with the daily spam report. Mode 'ldap' requires to login using an LDAP account. Finally, mode 'ldapticket' allows both ways.",
8252 "enum" : [
8253 "ticket",
8254 "ldap",
8255 "ldapticket"
8256 ],
8257 "optional" : 1,
8258 "type" : "string"
8259 },
8260 "delete" : {
8261 "description" : "A list of settings you want to delete.",
8262 "format" : "pve-configid-list",
8263 "maxLength" : 4096,
8264 "optional" : 1,
8265 "type" : "string",
8266 "typetext" : "<string>"
8267 },
8268 "digest" : {
8269 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8270 "maxLength" : 40,
8271 "optional" : 1,
8272 "type" : "string",
8273 "typetext" : "<string>"
8274 },
8275 "hostname" : {
b81b1f95 8276 "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
f245a28c
DM
8277 "format" : "address",
8278 "optional" : 1,
8279 "type" : "string",
8280 "typetext" : "<string>"
8281 },
8282 "lifetime" : {
8283 "default" : 7,
8284 "description" : "Quarantine life time (days)",
8285 "minimum" : 1,
8286 "optional" : 1,
8287 "type" : "integer",
8288 "typetext" : "<integer> (1 - N)"
8289 },
8290 "mailfrom" : {
8291 "description" : "Text for 'From' header in daily spam report mails.",
8292 "optional" : 1,
8293 "type" : "string",
8294 "typetext" : "<string>"
8295 },
b81b1f95
DM
8296 "port" : {
8297 "default" : 8006,
8298 "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
8299 "maximum" : 65535,
8300 "minimum" : 1,
8301 "optional" : 1,
8302 "type" : "integer",
8303 "typetext" : "<integer> (1 - 65535)"
8304 },
8305 "protocol" : {
8306 "default" : "https",
8307 "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
8308 "enum" : [
8309 "http",
8310 "https"
8311 ],
8312 "optional" : 1,
8313 "type" : "string"
8314 },
f245a28c
DM
8315 "reportstyle" : {
8316 "default" : "verbose",
8317 "description" : "Spam report style.",
8318 "enum" : [
8319 "none",
8320 "short",
8321 "verbose",
f245a28c
DM
8322 "custom"
8323 ],
8324 "optional" : 1,
8325 "type" : "string"
8326 },
a55e94a6
DM
8327 "viewimages" : {
8328 "default" : 1,
8329 "description" : "Allow to view images.",
8330 "optional" : 1,
8331 "type" : "boolean",
8332 "typetext" : "<boolean>"
8333 }
8334 },
8335 "type" : "object"
8336 },
732d76e1
DM
8337 "permissions" : {
8338 "check" : [
8339 "admin"
8340 ]
8341 },
a55e94a6
DM
8342 "protected" : 1,
8343 "proxyto" : "master",
8344 "returns" : {
8345 "type" : "null"
8346 }
8347 }
8348 },
8349 "leaf" : 1,
8350 "path" : "/config/spamquar",
8351 "text" : "spamquar"
8352 },
8353 {
8354 "info" : {
8355 "GET" : {
8356 "description" : "Read virusquar configuration properties.",
8357 "method" : "GET",
8358 "name" : "read_virusquar_section",
8359 "parameters" : {
8360 "additionalProperties" : 0
8361 },
732d76e1
DM
8362 "permissions" : {
8363 "check" : [
8364 "admin",
8365 "audit"
8366 ]
8367 },
a55e94a6
DM
8368 "proxyto" : "master",
8369 "returns" : {
8370 "type" : "object"
8371 }
8372 },
8373 "PUT" : {
8374 "description" : "Update virusquar configuration properties.",
8375 "method" : "PUT",
8376 "name" : "update_virusquar_section",
8377 "parameters" : {
8378 "additionalProperties" : 0,
8379 "properties" : {
8380 "allowhrefs" : {
8381 "default" : 1,
8382 "description" : "Allow to view hyperlinks.",
8383 "optional" : 1,
8384 "type" : "boolean",
8385 "typetext" : "<boolean>"
8386 },
8387 "delete" : {
8388 "description" : "A list of settings you want to delete.",
8389 "format" : "pve-configid-list",
8390 "maxLength" : 4096,
8391 "optional" : 1,
8392 "type" : "string",
8393 "typetext" : "<string>"
8394 },
8395 "digest" : {
8396 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8397 "maxLength" : 40,
8398 "optional" : 1,
8399 "type" : "string",
8400 "typetext" : "<string>"
8401 },
8402 "lifetime" : {
8403 "default" : 7,
8404 "description" : "Quarantine life time (days)",
8405 "minimum" : 1,
8406 "optional" : 1,
8407 "type" : "integer",
8408 "typetext" : "<integer> (1 - N)"
8409 },
8410 "viewimages" : {
8411 "default" : 1,
8412 "description" : "Allow to view images.",
8413 "optional" : 1,
8414 "type" : "boolean",
8415 "typetext" : "<boolean>"
8416 }
8417 },
8418 "type" : "object"
8419 },
732d76e1
DM
8420 "permissions" : {
8421 "check" : [
8422 "admin"
8423 ]
8424 },
a55e94a6
DM
8425 "protected" : 1,
8426 "proxyto" : "master",
8427 "returns" : {
8428 "type" : "null"
8429 }
8430 }
8431 },
8432 "leaf" : 1,
8433 "path" : "/config/virusquar",
8434 "text" : "virusquar"
9fda36b0
DM
8435 },
8436 {
8437 "info" : {
8438 "POST" : {
8439 "description" : "Test Regex",
8440 "method" : "POST",
8441 "name" : "regextest",
8442 "parameters" : {
8443 "additionalProperties" : 0,
8444 "properties" : {
8445 "regex" : {
8446 "description" : "The Regex to test",
8447 "maxLength" : 1024,
8448 "type" : "string",
8449 "typetext" : "<string>"
8450 },
8451 "text" : {
8452 "description" : "The String to test",
8453 "maxLength" : 1024,
8454 "type" : "string",
8455 "typetext" : "<string>"
8456 }
8457 }
8458 },
8459 "permissions" : {
8460 "check" : [
8461 "admin",
8462 "qmanager",
8463 "audit"
8464 ]
8465 },
8466 "protected" : 0,
8467 "returns" : {
8468 "type" : "number"
8469 }
8470 }
8471 },
8472 "leaf" : 1,
8473 "path" : "/config/regextest",
8474 "text" : "regextest"
a55e94a6
DM
8475 }
8476 ],
8477 "info" : {
8478 "GET" : {
8479 "description" : "Directory index.",
8480 "method" : "GET",
8481 "name" : "index",
8482 "parameters" : {
8483 "additionalProperties" : 0
8484 },
8485 "returns" : {
8486 "items" : {
8487 "properties" : {
8488 "section" : {
8489 "type" : "string"
8490 }
8491 },
8492 "type" : "object"
8493 },
8494 "links" : [
8495 {
8496 "href" : "{section}",
8497 "rel" : "child"
8498 }
8499 ],
8500 "type" : "array"
8501 }
8502 }
8503 },
8504 "leaf" : 0,
8505 "path" : "/config",
8506 "text" : "config"
8507 },
8508 {
8509 "children" : [
8510 {
8511 "children" : [
8512 {
8513 "children" : [
8514 {
8515 "info" : {
8516 "GET" : {
8517 "description" : "Print Postfix queue domain and age distribution.",
8518 "method" : "GET",
8519 "name" : "qshape",
8520 "parameters" : {
8521 "additionalProperties" : 0,
8522 "properties" : {
8523 "node" : {
8524 "description" : "The cluster node name.",
8525 "format" : "pve-node",
8526 "type" : "string",
8527 "typetext" : "<string>"
8528 },
8529 "queue" : {
8530 "default" : "deferred",
8531 "description" : "Postfix queue name.",
8532 "enum" : [
8533 "deferred",
8534 "active",
8535 "incoming",
8536 "hold"
8537 ],
8538 "optional" : 1,
8539 "type" : "string"
8540 }
8541 }
8542 },
8543 "permissions" : {
8544 "check" : [
732d76e1
DM
8545 "admin",
8546 "audit"
a55e94a6
DM
8547 ]
8548 },
8549 "protected" : 1,
8550 "proxyto" : "node",
8551 "returns" : {
8552 "items" : {
8553 "properties" : {},
8554 "type" : "object"
8555 },
8556 "type" : "array"
8557 }
8558 }
8559 },
8560 "leaf" : 1,
8561 "path" : "/nodes/{node}/postfix/qshape",
8562 "text" : "qshape"
8563 },
8564 {
8565 "children" : [
8566 {
8567 "children" : [
8568 {
8569 "info" : {
8570 "DELETE" : {
8571 "description" : "Delete one message with the named queue ID.",
8572 "method" : "DELETE",
8573 "name" : "delete_queued_mail",
8574 "parameters" : {
8575 "additionalProperties" : 0,
8576 "properties" : {
8577 "node" : {
8578 "description" : "The cluster node name.",
8579 "format" : "pve-node",
8580 "type" : "string",
8581 "typetext" : "<string>"
8582 },
8583 "queue" : {
8584 "description" : "Postfix queue name.",
8585 "enum" : [
8586 "deferred",
8587 "active",
8588 "incoming",
8589 "hold"
8590 ],
8591 "type" : "string"
8592 },
8593 "queue_id" : {
8594 "description" : "The Message queue ID.",
8595 "maxLength" : 20,
8596 "minLength" : 8,
8597 "pattern" : "[a-zA-Z0-9]+",
8598 "type" : "string"
8599 }
8600 }
8601 },
8602 "permissions" : {
8603 "check" : [
8604 "admin"
8605 ]
8606 },
8607 "protected" : 1,
8608 "proxyto" : "node",
8609 "returns" : {
8610 "type" : "null"
8611 }
8612 },
8613 "GET" : {
8614 "description" : "Get the contents of a queued mail.",
8615 "method" : "GET",
8616 "name" : "read_queued_mail",
8617 "parameters" : {
8618 "additionalProperties" : 0,
8619 "properties" : {
8620 "body" : {
8621 "default" : 0,
8622 "description" : "Include body content.",
8623 "optional" : 1,
8624 "type" : "boolean",
8625 "typetext" : "<boolean>"
8626 },
8627 "header" : {
8628 "default" : 1,
8629 "description" : "Show message header content.",
8630 "optional" : 1,
8631 "type" : "boolean",
8632 "typetext" : "<boolean>"
8633 },
8634 "node" : {
8635 "description" : "The cluster node name.",
8636 "format" : "pve-node",
8637 "type" : "string",
8638 "typetext" : "<string>"
8639 },
8640 "queue" : {
8641 "description" : "Postfix queue name.",
8642 "enum" : [
8643 "deferred",
8644 "active",
8645 "incoming",
8646 "hold"
8647 ],
8648 "type" : "string"
8649 },
8650 "queue_id" : {
8651 "description" : "The Message queue ID.",
8652 "maxLength" : 20,
8653 "minLength" : 8,
8654 "pattern" : "[a-zA-Z0-9]+",
8655 "type" : "string"
8656 }
8657 }
8658 },
8659 "permissions" : {
8660 "check" : [
8661 "admin"
8662 ]
8663 },
8664 "protected" : 1,
8665 "proxyto" : "node",
8666 "returns" : {
8667 "type" : "string"
8668 }
8669 },
8670 "POST" : {
8671 "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
8672 "method" : "POST",
8673 "name" : "flush_queued_mail",
8674 "parameters" : {
8675 "additionalProperties" : 0,
8676 "properties" : {
8677 "node" : {
8678 "description" : "The cluster node name.",
8679 "format" : "pve-node",
8680 "type" : "string",
8681 "typetext" : "<string>"
8682 },
8683 "queue" : {
8684 "description" : "Postfix queue name.",
8685 "enum" : [
8686 "deferred",
8687 "active",
8688 "incoming",
8689 "hold"
8690 ],
8691 "type" : "string"
8692 },
8693 "queue_id" : {
8694 "description" : "The Message queue ID.",
8695 "maxLength" : 20,
8696 "minLength" : 8,
8697 "pattern" : "[a-zA-Z0-9]+",
8698 "type" : "string"
8699 }
8700 }
8701 },
8702 "permissions" : {
8703 "check" : [
8704 "admin"
8705 ]
8706 },
8707 "protected" : 1,
8708 "proxyto" : "node",
8709 "returns" : {
8710 "type" : "null"
8711 }
8712 }
8713 },
8714 "leaf" : 1,
8715 "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
8716 "text" : "{queue_id}"
8717 }
8718 ],
8719 "info" : {
8720 "DELETE" : {
8721 "description" : "Delete all mails in the queue.",
8722 "method" : "DELETE",
8723 "name" : "delete_queue",
8724 "parameters" : {
8725 "additionalProperties" : 0,
8726 "properties" : {
8727 "node" : {
8728 "description" : "The cluster node name.",
8729 "format" : "pve-node",
8730 "type" : "string",
8731 "typetext" : "<string>"
8732 },
8733 "queue" : {
8734 "description" : "Postfix queue name.",
8735 "enum" : [
8736 "deferred",
8737 "active",
8738 "incoming",
8739 "hold"
8740 ],
8741 "type" : "string"
8742 }
8743 }
8744 },
8745 "permissions" : {
8746 "check" : [
8747 "admin"
8748 ]
8749 },
8750 "protected" : 1,
8751 "proxyto" : "node",
8752 "returns" : {
8753 "type" : "null"
8754 }
8755 },
8756 "GET" : {
8757 "description" : "List the mail queue for a specific domain.",
8758 "method" : "GET",
8759 "name" : "mailq",
8760 "parameters" : {
8761 "additionalProperties" : 0,
8762 "properties" : {
8763 "filter" : {
8764 "description" : "Filter string.",
8765 "maxLength" : 64,
8766 "optional" : 1,
8767 "type" : "string",
8768 "typetext" : "<string>"
8769 },
8770 "limit" : {
8771 "minimum" : 0,
8772 "optional" : 1,
8773 "type" : "integer",
8774 "typetext" : "<integer> (0 - N)"
8775 },
8776 "node" : {
8777 "description" : "The cluster node name.",
8778 "format" : "pve-node",
8779 "type" : "string",
8780 "typetext" : "<string>"
8781 },
8782 "queue" : {
8783 "description" : "Postfix queue name.",
8784 "enum" : [
8785 "deferred",
8786 "active",
8787 "incoming",
8788 "hold"
8789 ],
8790 "type" : "string"
8791 },
8792 "start" : {
8793 "minimum" : 0,
8794 "optional" : 1,
8795 "type" : "integer",
8796 "typetext" : "<integer> (0 - N)"
8797 }
8798 }
8799 },
8800 "permissions" : {
8801 "check" : [
732d76e1
DM
8802 "admin",
8803 "audit"
a55e94a6
DM
8804 ]
8805 },
8806 "protected" : 1,
8807 "proxyto" : "node",
8808 "returns" : {
8809 "items" : {
8810 "properties" : {},
8811 "type" : "object"
8812 },
8813 "links" : [
8814 {
8815 "href" : "{queue_id}",
8816 "rel" : "child"
8817 }
8818 ],
8819 "type" : "array"
8820 }
8821 }
8822 },
8823 "leaf" : 0,
8824 "path" : "/nodes/{node}/postfix/queue/{queue}",
8825 "text" : "{queue}"
8826 }
8827 ],
8828 "info" : {
9fda36b0
DM
8829 "DELETE" : {
8830 "description" : "Delete all mails in all posfix queues.",
8831 "method" : "DELETE",
8832 "name" : "delete_all_queues",
8833 "parameters" : {
8834 "additionalProperties" : 0,
8835 "properties" : {
8836 "node" : {
8837 "description" : "The cluster node name.",
8838 "format" : "pve-node",
8839 "type" : "string",
8840 "typetext" : "<string>"
8841 }
8842 }
8843 },
8844 "permissions" : {
8845 "check" : [
8846 "admin"
8847 ]
8848 },
8849 "protected" : 1,
8850 "proxyto" : "node",
8851 "returns" : {
8852 "type" : "null"
8853 }
8854 },
a55e94a6
DM
8855 "GET" : {
8856 "description" : "Directory index.",
8857 "method" : "GET",
8858 "name" : "queue_index",
8859 "parameters" : {
8860 "additionalProperties" : 0,
8861 "properties" : {
8862 "node" : {
8863 "description" : "The cluster node name.",
8864 "format" : "pve-node",
8865 "type" : "string",
8866 "typetext" : "<string>"
8867 }
8868 }
8869 },
8870 "permissions" : {
8871 "user" : "all"
8872 },
8873 "returns" : {
8874 "items" : {
8875 "properties" : {},
8876 "type" : "object"
8877 },
8878 "links" : [
8879 {
8880 "href" : "{name}",
8881 "rel" : "child"
8882 }
8883 ],
8884 "type" : "array"
8885 }
8886 }
8887 },
8888 "leaf" : 0,
8889 "path" : "/nodes/{node}/postfix/queue",
8890 "text" : "queue"
f245a28c 8891 },
a55e94a6
DM
8892 {
8893 "info" : {
8894 "POST" : {
8895 "description" : "Flush the queue: attempt to deliver all queued mail.",
8896 "method" : "POST",
8897 "name" : "flush_queues",
8898 "parameters" : {
8899 "additionalProperties" : 0,
8900 "properties" : {
8901 "node" : {
8902 "description" : "The cluster node name.",
8903 "format" : "pve-node",
8904 "type" : "string",
8905 "typetext" : "<string>"
8906 }
8907 }
8908 },
8909 "permissions" : {
8910 "check" : [
8911 "admin"
8912 ]
8913 },
8914 "protected" : 1,
8915 "proxyto" : "node",
8916 "returns" : {
8917 "type" : "null"
8918 }
8919 }
f245a28c 8920 },
a55e94a6
DM
8921 "leaf" : 1,
8922 "path" : "/nodes/{node}/postfix/flush_queues",
8923 "text" : "flush_queues"
8924 },
8925 {
8926 "info" : {
8927 "POST" : {
8928 "description" : "Discards the address verification cache.",
8929 "method" : "POST",
8930 "name" : "discard_verify_cache",
8931 "parameters" : {
8932 "additionalProperties" : 0,
8933 "properties" : {
8934 "node" : {
8935 "description" : "The cluster node name.",
8936 "format" : "pve-node",
8937 "type" : "string",
8938 "typetext" : "<string>"
8939 }
8940 }
8941 },
8942 "permissions" : {
8943 "check" : [
8944 "admin"
8945 ]
8946 },
8947 "protected" : 1,
8948 "proxyto" : "node",
8949 "returns" : {
8950 "type" : "null"
8951 }
8952 }
f245a28c 8953 },
a55e94a6
DM
8954 "leaf" : 1,
8955 "path" : "/nodes/{node}/postfix/discard_verify_cache",
8956 "text" : "discard_verify_cache"
8957 }
8958 ],
8959 "info" : {
8960 "GET" : {
8961 "description" : "Directory index.",
8962 "method" : "GET",
8963 "name" : "index",
8964 "parameters" : {
8965 "additionalProperties" : 0,
8966 "properties" : {
8967 "node" : {
8968 "description" : "The cluster node name.",
8969 "format" : "pve-node",
8970 "type" : "string",
8971 "typetext" : "<string>"
8972 }
8973 }
f245a28c 8974 },
a55e94a6
DM
8975 "permissions" : {
8976 "user" : "all"
f245a28c 8977 },
a55e94a6
DM
8978 "returns" : {
8979 "items" : {
8980 "properties" : {},
8981 "type" : "object"
8982 },
8983 "links" : [
8984 {
8985 "href" : "{name}",
8986 "rel" : "child"
8987 }
8988 ],
8989 "type" : "array"
f245a28c 8990 }
410dc2c9
DM
8991 }
8992 },
a55e94a6
DM
8993 "leaf" : 0,
8994 "path" : "/nodes/{node}/postfix",
8995 "text" : "postfix"
410dc2c9 8996 },
f245a28c
DM
8997 {
8998 "children" : [
8999 {
9000 "info" : {
9001 "GET" : {
9002 "description" : "ClamAV virus database status.",
9003 "method" : "GET",
9004 "name" : "database_status",
9005 "parameters" : {
9006 "additionalProperties" : 0,
9007 "properties" : {
9008 "node" : {
9009 "description" : "The cluster node name.",
9010 "format" : "pve-node",
9011 "type" : "string",
9012 "typetext" : "<string>"
9013 }
9014 }
9015 },
bb6e6e0d
DM
9016 "permissions" : {
9017 "check" : [
9018 "admin",
9019 "audit"
9020 ]
9021 },
9022 "proxyto" : "node",
f245a28c
DM
9023 "returns" : {
9024 "items" : {
9025 "properties" : {
9026 "build_time" : {
9027 "type" : "string"
9028 },
9029 "nsigs" : {
9030 "type" : "integer"
9031 },
9032 "type" : {
9033 "type" : "string"
9034 },
9035 "version" : {
9036 "optional" : 1,
9037 "type" : "string"
9038 }
9039 },
9040 "type" : "object"
9041 },
9042 "type" : "array"
9043 }
9044 },
9045 "POST" : {
9046 "description" : "Update ClamAV virus databases.",
9047 "method" : "POST",
9048 "name" : "update_database",
9049 "parameters" : {
9050 "additionalProperties" : 0,
9051 "properties" : {
9052 "node" : {
9053 "description" : "The cluster node name.",
9054 "format" : "pve-node",
9055 "type" : "string",
9056 "typetext" : "<string>"
9057 }
9058 }
9059 },
bb6e6e0d
DM
9060 "permissions" : {
9061 "check" : [
9062 "admin"
9063 ]
9064 },
f245a28c 9065 "protected" : 1,
bb6e6e0d 9066 "proxyto" : "node",
f245a28c
DM
9067 "returns" : {
9068 "type" : "string"
9069 }
9070 }
9071 },
9072 "leaf" : 1,
9073 "path" : "/nodes/{node}/clamav/database",
9074 "text" : "database"
9075 }
9076 ],
9077 "info" : {
9078 "GET" : {
9079 "description" : "Directory index.",
9080 "method" : "GET",
9081 "name" : "index",
9082 "parameters" : {
9083 "additionalProperties" : 0,
9084 "properties" : {
9085 "node" : {
9086 "description" : "The cluster node name.",
9087 "format" : "pve-node",
9088 "type" : "string",
9089 "typetext" : "<string>"
9090 }
9091 }
9092 },
bb6e6e0d
DM
9093 "permissions" : {
9094 "check" : [
9095 "admin",
9096 "audit"
9097 ]
9098 },
f245a28c
DM
9099 "returns" : {
9100 "items" : {
9101 "properties" : {},
9102 "type" : "object"
9103 },
9104 "links" : [
9105 {
9106 "href" : "{subdir}",
9107 "rel" : "child"
9108 }
9109 ],
9110 "type" : "array"
9111 }
9112 }
9113 },
9114 "leaf" : 0,
9115 "path" : "/nodes/{node}/clamav",
9116 "text" : "clamav"
9117 },
bb6e6e0d
DM
9118 {
9119 "children" : [
9120 {
9121 "info" : {
9122 "GET" : {
9123 "description" : "SpamAssassin rules status.",
9124 "method" : "GET",
9125 "name" : "rules_status",
9126 "parameters" : {
9127 "additionalProperties" : 0,
9128 "properties" : {
9129 "node" : {
9130 "description" : "The cluster node name.",
9131 "format" : "pve-node",
9132 "type" : "string",
9133 "typetext" : "<string>"
9134 }
9135 }
9136 },
9137 "permissions" : {
9138 "check" : [
9139 "admin",
9140 "audit"
9141 ]
9142 },
9143 "proxyto" : "node",
9144 "returns" : {
9145 "items" : {
9146 "properties" : {
9147 "channel" : {
9148 "type" : "string"
9149 },
9150 "last_updated" : {
9151 "optional" : 1,
9152 "type" : "integer"
9153 },
9154 "update_avail" : {
9155 "type" : "boolean"
9156 },
9157 "update_version" : {
9158 "optional" : 1,
9159 "type" : "string"
9160 },
9161 "version" : {
9162 "optional" : 1,
9163 "type" : "string"
9164 }
9165 },
9166 "type" : "object"
9167 },
9168 "type" : "array"
9169 }
9170 },
9171 "POST" : {
9172 "description" : "Update SpamAssassin rules.",
9173 "method" : "POST",
9174 "name" : "update_rules",
9175 "parameters" : {
9176 "additionalProperties" : 0,
9177 "properties" : {
9178 "node" : {
9179 "description" : "The cluster node name.",
9180 "format" : "pve-node",
9181 "type" : "string",
9182 "typetext" : "<string>"
9183 }
9184 }
9185 },
9186 "permissions" : {
9187 "check" : [
9188 "admin"
9189 ]
9190 },
9191 "protected" : 1,
9192 "proxyto" : "node",
9193 "returns" : {
9194 "type" : "string"
9195 }
9196 }
9197 },
9198 "leaf" : 1,
9199 "path" : "/nodes/{node}/spamassassin/rules",
9200 "text" : "rules"
9201 }
9202 ],
9203 "info" : {
9204 "GET" : {
9205 "description" : "Directory index.",
9206 "method" : "GET",
9207 "name" : "index",
9208 "parameters" : {
9209 "additionalProperties" : 0,
9210 "properties" : {
9211 "node" : {
9212 "description" : "The cluster node name.",
9213 "format" : "pve-node",
9214 "type" : "string",
9215 "typetext" : "<string>"
9216 }
9217 }
9218 },
9219 "permissions" : {
9220 "check" : [
9221 "admin",
9222 "audit"
9223 ]
9224 },
9225 "returns" : {
9226 "items" : {
9227 "properties" : {},
9228 "type" : "object"
9229 },
9230 "links" : [
9231 {
9232 "href" : "{subdir}",
9233 "rel" : "child"
9234 }
9235 ],
9236 "type" : "array"
9237 }
9238 }
9239 },
9240 "leaf" : 0,
9241 "path" : "/nodes/{node}/spamassassin",
9242 "text" : "spamassassin"
9243 },
410dc2c9
DM
9244 {
9245 "children" : [
9246 {
9247 "info" : {
9248 "DELETE" : {
9249 "description" : "Delete network device configuration",
9250 "method" : "DELETE",
9251 "name" : "delete_network",
9252 "parameters" : {
9253 "additionalProperties" : 0,
9254 "properties" : {
9255 "iface" : {
9256 "description" : "Network interface name.",
9257 "format" : "pve-iface",
9258 "maxLength" : 20,
9259 "minLength" : 2,
9260 "type" : "string",
9261 "typetext" : "<string>"
9262 },
9263 "node" : {
9264 "description" : "The cluster node name.",
9265 "format" : "pve-node",
9266 "type" : "string",
9267 "typetext" : "<string>"
9268 }
9269 }
9270 },
9271 "protected" : 1,
9272 "proxyto" : "node",
9273 "returns" : {
9274 "type" : "null"
9275 }
9276 },
9277 "GET" : {
9278 "description" : "Read network device configuration",
9279 "method" : "GET",
9280 "name" : "network_config",
9281 "parameters" : {
9282 "additionalProperties" : 0,
9283 "properties" : {
9284 "iface" : {
9285 "description" : "Network interface name.",
9286 "format" : "pve-iface",
9287 "maxLength" : 20,
9288 "minLength" : 2,
9289 "type" : "string",
9290 "typetext" : "<string>"
9291 },
9292 "node" : {
9293 "description" : "The cluster node name.",
9294 "format" : "pve-node",
9295 "type" : "string",
9296 "typetext" : "<string>"
9297 }
9298 }
9299 },
732d76e1
DM
9300 "permissions" : {
9301 "check" : [
9302 "admin",
9303 "audit"
9304 ]
9305 },
410dc2c9
DM
9306 "proxyto" : "node",
9307 "returns" : {
9308 "properties" : {
9309 "method" : {
9310 "type" : "string"
9311 },
9312 "type" : {
9313 "type" : "string"
9314 }
9315 },
9316 "type" : "object"
9317 }
9318 },
9319 "PUT" : {
9320 "description" : "Update network device configuration",
9321 "method" : "PUT",
9322 "name" : "update_network",
9323 "parameters" : {
9324 "additionalProperties" : 0,
9325 "properties" : {
9326 "address" : {
9327 "description" : "IP address.",
9328 "format" : "ipv4",
9329 "optional" : 1,
9330 "requires" : "netmask",
9331 "type" : "string",
9332 "typetext" : "<string>"
9333 },
9334 "address6" : {
9335 "description" : "IP address.",
9336 "format" : "ipv6",
9337 "optional" : 1,
9338 "requires" : "netmask6",
9339 "type" : "string",
9340 "typetext" : "<string>"
9341 },
9342 "autostart" : {
9343 "description" : "Automatically start interface on boot.",
9344 "optional" : 1,
9345 "type" : "boolean",
9346 "typetext" : "<boolean>"
9347 },
9348 "bond_mode" : {
9349 "description" : "Bonding mode.",
9350 "enum" : [
9351 "balance-rr",
9352 "active-backup",
9353 "balance-xor",
9354 "broadcast",
9355 "802.3ad",
9356 "balance-tlb",
9357 "balance-alb",
9358 "balance-slb",
9359 "lacp-balance-slb",
9360 "lacp-balance-tcp"
9361 ],
9362 "optional" : 1,
9363 "type" : "string"
9364 },
9365 "bond_xmit_hash_policy" : {
9366 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
9367 "enum" : [
9368 "layer2",
9369 "layer2+3",
9370 "layer3+4"
9371 ],
9372 "optional" : 1,
9373 "type" : "string"
9374 },
9375 "bridge_ports" : {
9376 "description" : "Specify the iterfaces you want to add to your bridge.",
9377 "format" : "pve-iface-list",
9378 "optional" : 1,
9379 "type" : "string",
9380 "typetext" : "<string>"
9381 },
9382 "bridge_vlan_aware" : {
9383 "description" : "Enable bridge vlan support.",
9384 "optional" : 1,
9385 "type" : "boolean",
9386 "typetext" : "<boolean>"
9387 },
241ac83c
TL
9388 "cidr" : {
9389 "description" : "IPv4 CIDR.",
9390 "format" : "CIDRv4",
9391 "optional" : 1,
9392 "type" : "string",
9393 "typetext" : "<string>"
9394 },
9395 "cidr6" : {
9396 "description" : "IPv6 CIDR.",
9397 "format" : "CIDRv6",
9398 "optional" : 1,
9399 "type" : "string",
9400 "typetext" : "<string>"
9401 },
410dc2c9
DM
9402 "comments" : {
9403 "description" : "Comments",
9404 "optional" : 1,
9405 "type" : "string",
9406 "typetext" : "<string>"
9407 },
9408 "comments6" : {
9409 "description" : "Comments",
9410 "optional" : 1,
9411 "type" : "string",
9412 "typetext" : "<string>"
9413 },
9414 "delete" : {
9415 "description" : "A list of settings you want to delete.",
9416 "format" : "pve-configid-list",
9417 "optional" : 1,
9418 "type" : "string",
9419 "typetext" : "<string>"
9420 },
9421 "gateway" : {
9422 "description" : "Default gateway address.",
9423 "format" : "ipv4",
9424 "optional" : 1,
9425 "type" : "string",
9426 "typetext" : "<string>"
9427 },
9428 "gateway6" : {
9429 "description" : "Default ipv6 gateway address.",
9430 "format" : "ipv6",
9431 "optional" : 1,
9432 "type" : "string",
9433 "typetext" : "<string>"
9434 },
9435 "iface" : {
9436 "description" : "Network interface name.",
9437 "format" : "pve-iface",
9438 "maxLength" : 20,
9439 "minLength" : 2,
9440 "type" : "string",
9441 "typetext" : "<string>"
9442 },
9443 "netmask" : {
9444 "description" : "Network mask.",
9445 "format" : "ipv4mask",
9446 "optional" : 1,
9447 "requires" : "address",
9448 "type" : "string",
9449 "typetext" : "<string>"
9450 },
9451 "netmask6" : {
9452 "description" : "Network mask.",
9453 "maximum" : 128,
9454 "minimum" : 0,
9455 "optional" : 1,
9456 "requires" : "address6",
9457 "type" : "integer",
9458 "typetext" : "<integer> (0 - 128)"
9459 },
9460 "node" : {
9461 "description" : "The cluster node name.",
9462 "format" : "pve-node",
9463 "type" : "string",
9464 "typetext" : "<string>"
9465 },
9466 "ovs_bonds" : {
9467 "description" : "Specify the interfaces used by the bonding device.",
9468 "format" : "pve-iface-list",
9469 "optional" : 1,
9470 "type" : "string",
9471 "typetext" : "<string>"
9472 },
9473 "ovs_bridge" : {
9474 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
9475 "format" : "pve-iface",
9476 "optional" : 1,
9477 "type" : "string",
9478 "typetext" : "<string>"
9479 },
9480 "ovs_options" : {
9481 "description" : "OVS interface options.",
9482 "maxLength" : 1024,
9483 "optional" : 1,
9484 "type" : "string",
9485 "typetext" : "<string>"
9486 },
9487 "ovs_ports" : {
9488 "description" : "Specify the iterfaces you want to add to your bridge.",
9489 "format" : "pve-iface-list",
9490 "optional" : 1,
9491 "type" : "string",
9492 "typetext" : "<string>"
9493 },
9494 "ovs_tag" : {
9495 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
9496 "maximum" : 4094,
9497 "minimum" : 1,
9498 "optional" : 1,
9499 "type" : "integer",
9500 "typetext" : "<integer> (1 - 4094)"
9501 },
9502 "slaves" : {
9503 "description" : "Specify the interfaces used by the bonding device.",
9504 "format" : "pve-iface-list",
9505 "optional" : 1,
9506 "type" : "string",
9507 "typetext" : "<string>"
9508 },
9509 "type" : {
9510 "description" : "Network interface type",
9511 "enum" : [
9512 "bridge",
9513 "bond",
9514 "eth",
9515 "alias",
9516 "vlan",
9517 "OVSBridge",
9518 "OVSBond",
9519 "OVSPort",
9520 "OVSIntPort",
9521 "unknown"
9522 ],
9523 "type" : "string"
9524 }
9525 }
9526 },
9527 "protected" : 1,
9528 "proxyto" : "node",
9529 "returns" : {
9530 "type" : "null"
9531 }
9532 }
9533 },
9534 "leaf" : 1,
9535 "path" : "/nodes/{node}/network/{iface}",
9536 "text" : "{iface}"
9537 }
9538 ],
9539 "info" : {
9540 "DELETE" : {
9541 "description" : "Revert network configuration changes.",
9542 "method" : "DELETE",
9543 "name" : "revert_network_changes",
9544 "parameters" : {
9545 "additionalProperties" : 0,
9546 "properties" : {
9547 "node" : {
9548 "description" : "The cluster node name.",
9549 "format" : "pve-node",
9550 "type" : "string",
9551 "typetext" : "<string>"
9552 }
9553 }
9554 },
9555 "protected" : 1,
9556 "proxyto" : "node",
9557 "returns" : {
9558 "type" : "null"
9559 }
9560 },
9561 "GET" : {
9562 "description" : "List available networks",
9563 "method" : "GET",
9564 "name" : "index",
9565 "parameters" : {
9566 "additionalProperties" : 0,
9567 "properties" : {
9568 "node" : {
9569 "description" : "The cluster node name.",
9570 "format" : "pve-node",
9571 "type" : "string",
9572 "typetext" : "<string>"
9573 },
9574 "type" : {
9575 "description" : "Only list specific interface types.",
9576 "enum" : [
9577 "bridge",
9578 "bond",
9579 "eth",
9580 "alias",
9581 "vlan",
9582 "OVSBridge",
9583 "OVSBond",
9584 "OVSPort",
9585 "OVSIntPort",
9586 "any_bridge"
9587 ],
9588 "optional" : 1,
9589 "type" : "string"
9590 }
9591 }
9592 },
732d76e1
DM
9593 "permissions" : {
9594 "check" : [
9595 "admin",
9596 "audit"
9597 ]
9598 },
410dc2c9
DM
9599 "proxyto" : "node",
9600 "returns" : {
9601 "items" : {
9602 "properties" : {},
9603 "type" : "object"
9604 },
9605 "links" : [
9606 {
9607 "href" : "{iface}",
9608 "rel" : "child"
9609 }
9610 ],
9611 "type" : "array"
9612 }
9613 },
9614 "POST" : {
9615 "description" : "Create network device configuration",
9616 "method" : "POST",
9617 "name" : "create_network",
9618 "parameters" : {
9619 "additionalProperties" : 0,
9620 "properties" : {
9621 "address" : {
9622 "description" : "IP address.",
9623 "format" : "ipv4",
9624 "optional" : 1,
9625 "requires" : "netmask",
9626 "type" : "string",
9627 "typetext" : "<string>"
9628 },
9629 "address6" : {
9630 "description" : "IP address.",
9631 "format" : "ipv6",
9632 "optional" : 1,
9633 "requires" : "netmask6",
9634 "type" : "string",
9635 "typetext" : "<string>"
9636 },
9637 "autostart" : {
9638 "description" : "Automatically start interface on boot.",
9639 "optional" : 1,
9640 "type" : "boolean",
9641 "typetext" : "<boolean>"
9642 },
9643 "bond_mode" : {
9644 "description" : "Bonding mode.",
9645 "enum" : [
9646 "balance-rr",
9647 "active-backup",
9648 "balance-xor",
9649 "broadcast",
9650 "802.3ad",
9651 "balance-tlb",
9652 "balance-alb",
9653 "balance-slb",
9654 "lacp-balance-slb",
9655 "lacp-balance-tcp"
9656 ],
9657 "optional" : 1,
9658 "type" : "string"
9659 },
9660 "bond_xmit_hash_policy" : {
9661 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
9662 "enum" : [
9663 "layer2",
9664 "layer2+3",
9665 "layer3+4"
9666 ],
9667 "optional" : 1,
9668 "type" : "string"
9669 },
9670 "bridge_ports" : {
9671 "description" : "Specify the iterfaces you want to add to your bridge.",
9672 "format" : "pve-iface-list",
9673 "optional" : 1,
9674 "type" : "string",
9675 "typetext" : "<string>"
9676 },
9677 "bridge_vlan_aware" : {
9678 "description" : "Enable bridge vlan support.",
9679 "optional" : 1,
9680 "type" : "boolean",
9681 "typetext" : "<boolean>"
9682 },
241ac83c
TL
9683 "cidr" : {
9684 "description" : "IPv4 CIDR.",
9685 "format" : "CIDRv4",
9686 "optional" : 1,
9687 "type" : "string",
9688 "typetext" : "<string>"
9689 },
9690 "cidr6" : {
9691 "description" : "IPv6 CIDR.",
9692 "format" : "CIDRv6",
9693 "optional" : 1,
9694 "type" : "string",
9695 "typetext" : "<string>"
9696 },
410dc2c9
DM
9697 "comments" : {
9698 "description" : "Comments",
9699 "optional" : 1,
9700 "type" : "string",
9701 "typetext" : "<string>"
9702 },
9703 "comments6" : {
9704 "description" : "Comments",
9705 "optional" : 1,
9706 "type" : "string",
9707 "typetext" : "<string>"
9708 },
9709 "gateway" : {
9710 "description" : "Default gateway address.",
9711 "format" : "ipv4",
9712 "optional" : 1,
9713 "type" : "string",
9714 "typetext" : "<string>"
9715 },
9716 "gateway6" : {
9717 "description" : "Default ipv6 gateway address.",
9718 "format" : "ipv6",
9719 "optional" : 1,
9720 "type" : "string",
9721 "typetext" : "<string>"
9722 },
9723 "iface" : {
9724 "description" : "Network interface name.",
9725 "format" : "pve-iface",
9726 "maxLength" : 20,
9727 "minLength" : 2,
9728 "type" : "string",
9729 "typetext" : "<string>"
9730 },
9731 "netmask" : {
9732 "description" : "Network mask.",
9733 "format" : "ipv4mask",
9734 "optional" : 1,
9735 "requires" : "address",
9736 "type" : "string",
9737 "typetext" : "<string>"
9738 },
9739 "netmask6" : {
9740 "description" : "Network mask.",
9741 "maximum" : 128,
9742 "minimum" : 0,
9743 "optional" : 1,
9744 "requires" : "address6",
9745 "type" : "integer",
9746 "typetext" : "<integer> (0 - 128)"
9747 },
9748 "node" : {
9749 "description" : "The cluster node name.",
9750 "format" : "pve-node",
9751 "type" : "string",
9752 "typetext" : "<string>"
9753 },
9754 "ovs_bonds" : {
9755 "description" : "Specify the interfaces used by the bonding device.",
9756 "format" : "pve-iface-list",
9757 "optional" : 1,
9758 "type" : "string",
9759 "typetext" : "<string>"
9760 },
9761 "ovs_bridge" : {
9762 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
9763 "format" : "pve-iface",
9764 "optional" : 1,
9765 "type" : "string",
9766 "typetext" : "<string>"
9767 },
9768 "ovs_options" : {
9769 "description" : "OVS interface options.",
9770 "maxLength" : 1024,
9771 "optional" : 1,
9772 "type" : "string",
9773 "typetext" : "<string>"
9774 },
9775 "ovs_ports" : {
9776 "description" : "Specify the iterfaces you want to add to your bridge.",
9777 "format" : "pve-iface-list",
9778 "optional" : 1,
9779 "type" : "string",
9780 "typetext" : "<string>"
9781 },
9782 "ovs_tag" : {
9783 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
9784 "maximum" : 4094,
9785 "minimum" : 1,
9786 "optional" : 1,
9787 "type" : "integer",
9788 "typetext" : "<integer> (1 - 4094)"
9789 },
9790 "slaves" : {
9791 "description" : "Specify the interfaces used by the bonding device.",
9792 "format" : "pve-iface-list",
9793 "optional" : 1,
9794 "type" : "string",
9795 "typetext" : "<string>"
9796 },
9797 "type" : {
9798 "description" : "Network interface type",
9799 "enum" : [
9800 "bridge",
9801 "bond",
9802 "eth",
9803 "alias",
9804 "vlan",
9805 "OVSBridge",
9806 "OVSBond",
9807 "OVSPort",
9808 "OVSIntPort",
9809 "unknown"
9810 ],
9811 "type" : "string"
9812 }
9813 }
9814 },
9815 "protected" : 1,
9816 "proxyto" : "node",
9817 "returns" : {
9818 "type" : "null"
9819 }
9820 }
9821 },
9822 "leaf" : 0,
9823 "path" : "/nodes/{node}/network",
9824 "text" : "network"
9825 },
9826 {
9827 "children" : [
9828 {
9829 "children" : [
9830 {
9831 "info" : {
9832 "GET" : {
9833 "description" : "Read task log.",
9834 "method" : "GET",
9835 "name" : "read_task_log",
9836 "parameters" : {
9837 "additionalProperties" : 0,
9838 "properties" : {
9839 "limit" : {
9840 "minimum" : 0,
9841 "optional" : 1,
9842 "type" : "integer",
9843 "typetext" : "<integer> (0 - N)"
9844 },
9845 "node" : {
9846 "description" : "The cluster node name.",
9847 "format" : "pve-node",
9848 "type" : "string",
9849 "typetext" : "<string>"
9850 },
9851 "start" : {
9852 "minimum" : 0,
9853 "optional" : 1,
9854 "type" : "integer",
9855 "typetext" : "<integer> (0 - N)"
9856 },
9857 "upid" : {
9858 "type" : "string",
9859 "typetext" : "<string>"
9860 }
9861 }
9862 },
732d76e1
DM
9863 "permissions" : {
9864 "check" : [
9865 "admin",
9866 "audit"
9867 ]
9868 },
410dc2c9
DM
9869 "protected" : 1,
9870 "proxyto" : "node",
9871 "returns" : {
9872 "items" : {
9873 "properties" : {
9874 "n" : {
9875 "description" : "Line number",
9876 "type" : "integer"
9877 },
9878 "t" : {
9879 "description" : "Line text",
9880 "type" : "string"
9881 }
9882 },
9883 "type" : "object"
9884 },
9885 "type" : "array"
9886 }
9887 }
9888 },
9889 "leaf" : 1,
9890 "path" : "/nodes/{node}/tasks/{upid}/log",
9891 "text" : "log"
9892 },
9893 {
9894 "info" : {
9895 "GET" : {
9896 "description" : "Read task status.",
9897 "method" : "GET",
9898 "name" : "read_task_status",
9899 "parameters" : {
9900 "additionalProperties" : 0,
9901 "properties" : {
9902 "node" : {
9903 "description" : "The cluster node name.",
9904 "format" : "pve-node",
9905 "type" : "string",
9906 "typetext" : "<string>"
9907 },
9908 "upid" : {
9909 "type" : "string",
9910 "typetext" : "<string>"
9911 }
9912 }
9913 },
732d76e1
DM
9914 "permissions" : {
9915 "check" : [
9916 "admin",
9917 "audit"
9918 ]
9919 },
410dc2c9
DM
9920 "protected" : 1,
9921 "proxyto" : "node",
9922 "returns" : {
9923 "properties" : {
9924 "pid" : {
9925 "type" : "integer"
9926 },
9927 "status" : {
9928 "enum" : [
9929 "running",
9930 "stopped"
9931 ],
9932 "type" : "string"
9933 }
9934 },
9935 "type" : "object"
9936 }
9937 }
9938 },
9939 "leaf" : 1,
9940 "path" : "/nodes/{node}/tasks/{upid}/status",
9941 "text" : "status"
9942 }
9943 ],
9944 "info" : {
9945 "DELETE" : {
9946 "description" : "Stop a task.",
9947 "method" : "DELETE",
9948 "name" : "stop_task",
9949 "parameters" : {
9950 "additionalProperties" : 0,
9951 "properties" : {
9952 "node" : {
9953 "description" : "The cluster node name.",
9954 "format" : "pve-node",
9955 "type" : "string",
9956 "typetext" : "<string>"
9957 },
9958 "upid" : {
9959 "type" : "string",
9960 "typetext" : "<string>"
9961 }
9962 }
9963 },
732d76e1
DM
9964 "permissions" : {
9965 "check" : [
9966 "admin"
9967 ]
9968 },
410dc2c9
DM
9969 "protected" : 1,
9970 "proxyto" : "node",
9971 "returns" : {
9972 "type" : "null"
9973 }
9974 },
9975 "GET" : {
9976 "description" : "",
9977 "method" : "GET",
9978 "name" : "upid_index",
9979 "parameters" : {
9980 "additionalProperties" : 0,
9981 "properties" : {
9982 "node" : {
9983 "description" : "The cluster node name.",
9984 "format" : "pve-node",
9985 "type" : "string",
9986 "typetext" : "<string>"
9987 },
9988 "upid" : {
9989 "type" : "string",
9990 "typetext" : "<string>"
9991 }
9992 }
9993 },
732d76e1
DM
9994 "permissions" : {
9995 "check" : [
9996 "admin",
9997 "audit"
9998 ]
9999 },
410dc2c9
DM
10000 "returns" : {
10001 "items" : {
10002 "properties" : {},
10003 "type" : "object"
10004 },
10005 "links" : [
10006 {
10007 "href" : "{name}",
10008 "rel" : "child"
10009 }
10010 ],
10011 "type" : "array"
10012 }
10013 }
10014 },
10015 "leaf" : 0,
10016 "path" : "/nodes/{node}/tasks/{upid}",
10017 "text" : "{upid}"
10018 }
10019 ],
10020 "info" : {
10021 "GET" : {
10022 "description" : "Read task list for one node (finished tasks).",
10023 "method" : "GET",
10024 "name" : "node_tasks",
10025 "parameters" : {
10026 "additionalProperties" : 0,
10027 "properties" : {
10028 "errors" : {
10029 "optional" : 1,
10030 "type" : "boolean",
10031 "typetext" : "<boolean>"
10032 },
10033 "limit" : {
10034 "minimum" : 0,
10035 "optional" : 1,
10036 "type" : "integer",
10037 "typetext" : "<integer> (0 - N)"
10038 },
10039 "node" : {
10040 "description" : "The cluster node name.",
10041 "format" : "pve-node",
10042 "type" : "string",
10043 "typetext" : "<string>"
10044 },
10045 "start" : {
10046 "minimum" : 0,
10047 "optional" : 1,
10048 "type" : "integer",
10049 "typetext" : "<integer> (0 - N)"
10050 },
10051 "userfilter" : {
10052 "optional" : 1,
10053 "type" : "string",
10054 "typetext" : "<string>"
10055 }
10056 }
10057 },
732d76e1
DM
10058 "permissions" : {
10059 "check" : [
10060 "admin",
10061 "audit"
10062 ]
10063 },
410dc2c9
DM
10064 "proxyto" : "node",
10065 "returns" : {
10066 "items" : {
10067 "properties" : {
10068 "upid" : {
10069 "type" : "string"
10070 }
10071 },
10072 "type" : "object"
10073 },
10074 "links" : [
10075 {
10076 "href" : "{upid}",
10077 "rel" : "child"
10078 }
10079 ],
10080 "type" : "array"
10081 }
10082 }
10083 },
10084 "leaf" : 0,
10085 "path" : "/nodes/{node}/tasks",
10086 "text" : "tasks"
10087 },
10088 {
10089 "children" : [
10090 {
10091 "children" : [
10092 {
10093 "info" : {
10094 "GET" : {
10095 "description" : "Read service properties",
10096 "method" : "GET",
10097 "name" : "service_state",
10098 "parameters" : {
10099 "additionalProperties" : 0,
10100 "properties" : {
10101 "node" : {
10102 "description" : "The cluster node name.",
10103 "format" : "pve-node",
10104 "type" : "string",
10105 "typetext" : "<string>"
10106 },
10107 "service" : {
10108 "description" : "Service ID",
10109 "enum" : [
a55e94a6
DM
10110 "clamav-daemon",
10111 "clamav-freshclam",
732d76e1 10112 "fetchmail",
410dc2c9
DM
10113 "pmgproxy",
10114 "pmgdaemon",
a55e94a6 10115 "pmgpolicy",
410dc2c9 10116 "pmg-smtp-filter",
d7cd791b
DM
10117 "pmgtunnel",
10118 "pmgmirror",
10119 "ssh",
10120 "rsyslog",
410dc2c9 10121 "postfix",
d7cd791b 10122 "postgres",
a55e94a6
DM
10123 "systemd-timesyncd",
10124 "pmg-hourly",
d7cd791b 10125 "pmg-daily",
9fda36b0 10126 "pmgreport",
d7cd791b 10127 "pmgspamreport"
410dc2c9
DM
10128 ],
10129 "type" : "string"
10130 }
10131 }
10132 },
732d76e1
DM
10133 "permissions" : {
10134 "check" : [
10135 "admin",
10136 "audit"
10137 ]
10138 },
410dc2c9
DM
10139 "protected" : 1,
10140 "proxyto" : "node",
10141 "returns" : {
410dc2c9
DM
10142 "type" : "object"
10143 }
10144 }
10145 },
10146 "leaf" : 1,
10147 "path" : "/nodes/{node}/services/{service}/state",
10148 "text" : "state"
10149 },
10150 {
10151 "info" : {
10152 "POST" : {
10153 "description" : "Start service.",
10154 "method" : "POST",
10155 "name" : "service_start",
10156 "parameters" : {
10157 "additionalProperties" : 0,
10158 "properties" : {
10159 "node" : {
10160 "description" : "The cluster node name.",
10161 "format" : "pve-node",
10162 "type" : "string",
10163 "typetext" : "<string>"
10164 },
10165 "service" : {
10166 "description" : "Service ID",
10167 "enum" : [
a55e94a6
DM
10168 "clamav-daemon",
10169 "clamav-freshclam",
732d76e1 10170 "fetchmail",
410dc2c9
DM
10171 "pmgproxy",
10172 "pmgdaemon",
a55e94a6 10173 "pmgpolicy",
410dc2c9 10174 "pmg-smtp-filter",
d7cd791b
DM
10175 "pmgtunnel",
10176 "pmgmirror",
10177 "ssh",
10178 "rsyslog",
410dc2c9 10179 "postfix",
d7cd791b 10180 "postgres",
a55e94a6
DM
10181 "systemd-timesyncd",
10182 "pmg-hourly",
d7cd791b 10183 "pmg-daily",
9fda36b0 10184 "pmgreport",
d7cd791b 10185 "pmgspamreport"
410dc2c9
DM
10186 ],
10187 "type" : "string"
10188 }
10189 }
10190 },
732d76e1
DM
10191 "permissions" : {
10192 "check" : [
10193 "admin"
10194 ]
10195 },
410dc2c9
DM
10196 "protected" : 1,
10197 "proxyto" : "node",
10198 "returns" : {
10199 "type" : "string"
10200 }
10201 }
10202 },
10203 "leaf" : 1,
10204 "path" : "/nodes/{node}/services/{service}/start",
10205 "text" : "start"
10206 },
10207 {
10208 "info" : {
10209 "POST" : {
10210 "description" : "Stop service.",
10211 "method" : "POST",
10212 "name" : "service_stop",
10213 "parameters" : {
10214 "additionalProperties" : 0,
10215 "properties" : {
10216 "node" : {
10217 "description" : "The cluster node name.",
10218 "format" : "pve-node",
10219 "type" : "string",
10220 "typetext" : "<string>"
10221 },
10222 "service" : {
10223 "description" : "Service ID",
10224 "enum" : [
a55e94a6
DM
10225 "clamav-daemon",
10226 "clamav-freshclam",
732d76e1 10227 "fetchmail",
410dc2c9
DM
10228 "pmgproxy",
10229 "pmgdaemon",
a55e94a6 10230 "pmgpolicy",
410dc2c9 10231 "pmg-smtp-filter",
d7cd791b
DM
10232 "pmgtunnel",
10233 "pmgmirror",
10234 "ssh",
10235 "rsyslog",
410dc2c9 10236 "postfix",
d7cd791b 10237 "postgres",
a55e94a6
DM
10238 "systemd-timesyncd",
10239 "pmg-hourly",
d7cd791b 10240 "pmg-daily",
9fda36b0 10241 "pmgreport",
d7cd791b 10242 "pmgspamreport"
410dc2c9
DM
10243 ],
10244 "type" : "string"
10245 }
10246 }
10247 },
732d76e1
DM
10248 "permissions" : {
10249 "check" : [
10250 "admin"
10251 ]
10252 },
410dc2c9
DM
10253 "protected" : 1,
10254 "proxyto" : "node",
10255 "returns" : {
10256 "type" : "string"
10257 }
10258 }
10259 },
10260 "leaf" : 1,
10261 "path" : "/nodes/{node}/services/{service}/stop",
10262 "text" : "stop"
10263 },
10264 {
10265 "info" : {
10266 "POST" : {
10267 "description" : "Restart service.",
10268 "method" : "POST",
10269 "name" : "service_restart",
10270 "parameters" : {
10271 "additionalProperties" : 0,
10272 "properties" : {
10273 "node" : {
10274 "description" : "The cluster node name.",
10275 "format" : "pve-node",
10276 "type" : "string",
10277 "typetext" : "<string>"
10278 },
10279 "service" : {
10280 "description" : "Service ID",
10281 "enum" : [
a55e94a6
DM
10282 "clamav-daemon",
10283 "clamav-freshclam",
732d76e1 10284 "fetchmail",
410dc2c9
DM
10285 "pmgproxy",
10286 "pmgdaemon",
a55e94a6 10287 "pmgpolicy",
410dc2c9 10288 "pmg-smtp-filter",
d7cd791b
DM
10289 "pmgtunnel",
10290 "pmgmirror",
10291 "ssh",
10292 "rsyslog",
410dc2c9 10293 "postfix",
d7cd791b 10294 "postgres",
a55e94a6
DM
10295 "systemd-timesyncd",
10296 "pmg-hourly",
d7cd791b 10297 "pmg-daily",
9fda36b0 10298 "pmgreport",
d7cd791b 10299 "pmgspamreport"
410dc2c9
DM
10300 ],
10301 "type" : "string"
10302 }
10303 }
10304 },
732d76e1
DM
10305 "permissions" : {
10306 "check" : [
10307 "admin"
10308 ]
10309 },
410dc2c9
DM
10310 "protected" : 1,
10311 "proxyto" : "node",
10312 "returns" : {
10313 "type" : "string"
10314 }
10315 }
10316 },
10317 "leaf" : 1,
10318 "path" : "/nodes/{node}/services/{service}/restart",
10319 "text" : "restart"
10320 },
10321 {
10322 "info" : {
10323 "POST" : {
10324 "description" : "Reload service.",
10325 "method" : "POST",
10326 "name" : "service_reload",
10327 "parameters" : {
10328 "additionalProperties" : 0,
10329 "properties" : {
10330 "node" : {
10331 "description" : "The cluster node name.",
10332 "format" : "pve-node",
10333 "type" : "string",
10334 "typetext" : "<string>"
10335 },
10336 "service" : {
10337 "description" : "Service ID",
10338 "enum" : [
a55e94a6
DM
10339 "clamav-daemon",
10340 "clamav-freshclam",
732d76e1 10341 "fetchmail",
410dc2c9
DM
10342 "pmgproxy",
10343 "pmgdaemon",
a55e94a6 10344 "pmgpolicy",
410dc2c9 10345 "pmg-smtp-filter",
d7cd791b
DM
10346 "pmgtunnel",
10347 "pmgmirror",
10348 "ssh",
10349 "rsyslog",
410dc2c9 10350 "postfix",
d7cd791b 10351 "postgres",
a55e94a6
DM
10352 "systemd-timesyncd",
10353 "pmg-hourly",
d7cd791b 10354 "pmg-daily",
9fda36b0 10355 "pmgreport",
d7cd791b 10356 "pmgspamreport"
410dc2c9
DM
10357 ],
10358 "type" : "string"
10359 }
10360 }
10361 },
732d76e1
DM
10362 "permissions" : {
10363 "check" : [
10364 "admin"
10365 ]
10366 },
410dc2c9
DM
10367 "protected" : 1,
10368 "proxyto" : "node",
10369 "returns" : {
10370 "type" : "string"
10371 }
10372 }
10373 },
10374 "leaf" : 1,
10375 "path" : "/nodes/{node}/services/{service}/reload",
10376 "text" : "reload"
10377 }
10378 ],
10379 "info" : {
10380 "GET" : {
10381 "description" : "Directory index",
10382 "method" : "GET",
10383 "name" : "srvcmdidx",
10384 "parameters" : {
10385 "additionalProperties" : 0,
10386 "properties" : {
10387 "node" : {
10388 "description" : "The cluster node name.",
10389 "format" : "pve-node",
10390 "type" : "string",
10391 "typetext" : "<string>"
10392 },
10393 "service" : {
10394 "description" : "Service ID",
10395 "enum" : [
a55e94a6
DM
10396 "clamav-daemon",
10397 "clamav-freshclam",
732d76e1 10398 "fetchmail",
410dc2c9
DM
10399 "pmgproxy",
10400 "pmgdaemon",
a55e94a6 10401 "pmgpolicy",
410dc2c9 10402 "pmg-smtp-filter",
d7cd791b
DM
10403 "pmgtunnel",
10404 "pmgmirror",
10405 "ssh",
10406 "rsyslog",
410dc2c9 10407 "postfix",
d7cd791b 10408 "postgres",
a55e94a6
DM
10409 "systemd-timesyncd",
10410 "pmg-hourly",
d7cd791b 10411 "pmg-daily",
9fda36b0 10412 "pmgreport",
d7cd791b 10413 "pmgspamreport"
410dc2c9
DM
10414 ],
10415 "type" : "string"
10416 }
10417 }
10418 },
732d76e1
DM
10419 "permissions" : {
10420 "check" : [
10421 "admin",
10422 "audit"
10423 ]
10424 },
410dc2c9
DM
10425 "returns" : {
10426 "items" : {
10427 "properties" : {
10428 "subdir" : {
10429 "type" : "string"
10430 }
10431 },
10432 "type" : "object"
10433 },
10434 "links" : [
10435 {
10436 "href" : "{subdir}",
10437 "rel" : "child"
10438 }
10439 ],
10440 "type" : "array"
10441 }
10442 }
10443 },
9fda36b0
DM
10444 "leaf" : 0,
10445 "path" : "/nodes/{node}/services/{service}",
10446 "text" : "{service}"
10447 }
10448 ],
10449 "info" : {
10450 "GET" : {
10451 "description" : "Service list.",
10452 "method" : "GET",
10453 "name" : "index",
10454 "parameters" : {
10455 "additionalProperties" : 0,
10456 "properties" : {
10457 "node" : {
10458 "description" : "The cluster node name.",
10459 "format" : "pve-node",
10460 "type" : "string",
10461 "typetext" : "<string>"
10462 }
10463 }
10464 },
732d76e1
DM
10465 "permissions" : {
10466 "check" : [
10467 "admin",
10468 "audit"
10469 ]
10470 },
9fda36b0
DM
10471 "protected" : 1,
10472 "proxyto" : "node",
10473 "returns" : {
10474 "items" : {
10475 "properties" : {},
10476 "type" : "object"
10477 },
10478 "links" : [
10479 {
10480 "href" : "{service}",
10481 "rel" : "child"
10482 }
10483 ],
10484 "type" : "array"
10485 }
10486 }
10487 },
10488 "leaf" : 0,
10489 "path" : "/nodes/{node}/services",
10490 "text" : "services"
10491 },
10492 {
10493 "info" : {
10494 "GET" : {
10495 "description" : "Read subscription info.",
10496 "method" : "GET",
10497 "name" : "get",
10498 "parameters" : {
10499 "additionalProperties" : 0,
10500 "properties" : {
10501 "node" : {
10502 "description" : "The cluster node name.",
10503 "format" : "pve-node",
10504 "type" : "string",
10505 "typetext" : "<string>"
10506 }
10507 }
10508 },
10509 "permissions" : {
10510 "check" : [
10511 "admin",
10512 "qmanager",
10513 "audit",
10514 "quser"
10515 ]
10516 },
10517 "proxyto" : "node",
10518 "returns" : {
10519 "type" : "object"
10520 }
732d76e1
DM
10521 },
10522 "POST" : {
10523 "description" : "Update subscription info.",
10524 "method" : "POST",
10525 "name" : "update",
10526 "parameters" : {
10527 "additionalProperties" : 0,
10528 "properties" : {
10529 "force" : {
10530 "default" : 0,
10531 "description" : "Always connect to server, even if we have up to date info inside local cache.",
10532 "optional" : 1,
10533 "type" : "boolean",
10534 "typetext" : "<boolean>"
10535 },
10536 "node" : {
10537 "description" : "The cluster node name.",
10538 "format" : "pve-node",
10539 "type" : "string",
10540 "typetext" : "<string>"
10541 }
10542 }
10543 },
10544 "permissions" : {
10545 "check" : [
10546 "admin"
10547 ]
10548 },
10549 "protected" : 1,
10550 "proxyto" : "node",
10551 "returns" : {
10552 "type" : "null"
10553 }
10554 },
10555 "PUT" : {
10556 "description" : "Set subscription key.",
10557 "method" : "PUT",
10558 "name" : "set",
10559 "parameters" : {
10560 "additionalProperties" : 0,
10561 "properties" : {
10562 "key" : {
10563 "description" : "Proxmox Mail Gateway subscription key",
10564 "maxLength" : 32,
10565 "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
10566 "type" : "string"
10567 },
10568 "node" : {
10569 "description" : "The cluster node name.",
10570 "format" : "pve-node",
10571 "type" : "string",
10572 "typetext" : "<string>"
10573 }
10574 }
10575 },
10576 "protected" : 1,
10577 "proxyto" : "node",
10578 "returns" : {
10579 "type" : "null"
10580 }
9fda36b0
DM
10581 }
10582 },
10583 "leaf" : 1,
10584 "path" : "/nodes/{node}/subscription",
10585 "text" : "subscription"
10586 },
10587 {
10588 "children" : [
10589 {
10590 "info" : {
10591 "GET" : {
10592 "description" : "List available updates.",
10593 "method" : "GET",
10594 "name" : "list_updates",
10595 "parameters" : {
10596 "additionalProperties" : 0,
10597 "properties" : {
10598 "node" : {
10599 "description" : "The cluster node name.",
10600 "format" : "pve-node",
10601 "type" : "string",
10602 "typetext" : "<string>"
10603 }
10604 }
10605 },
732d76e1
DM
10606 "permissions" : {
10607 "check" : [
10608 "admin",
10609 "audit"
10610 ]
10611 },
9fda36b0
DM
10612 "protected" : 1,
10613 "proxyto" : "node",
10614 "returns" : {
10615 "items" : {
10616 "properties" : {},
10617 "type" : "object"
10618 },
10619 "type" : "array"
10620 }
10621 },
10622 "POST" : {
10623 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
10624 "method" : "POST",
10625 "name" : "update_database",
10626 "parameters" : {
10627 "additionalProperties" : 0,
10628 "properties" : {
10629 "node" : {
10630 "description" : "The cluster node name.",
10631 "format" : "pve-node",
10632 "type" : "string",
10633 "typetext" : "<string>"
10634 },
10635 "notify" : {
10636 "default" : 0,
10637 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
10638 "optional" : 1,
10639 "type" : "boolean",
10640 "typetext" : "<boolean>"
10641 },
10642 "quiet" : {
10643 "default" : 0,
10644 "description" : "Only produces output suitable for logging, omitting progress indicators.",
10645 "optional" : 1,
10646 "type" : "boolean",
10647 "typetext" : "<boolean>"
10648 }
10649 }
10650 },
732d76e1
DM
10651 "permissions" : {
10652 "check" : [
10653 "admin"
10654 ]
10655 },
9fda36b0
DM
10656 "protected" : 1,
10657 "proxyto" : "node",
10658 "returns" : {
10659 "type" : "string"
10660 }
10661 }
10662 },
10663 "leaf" : 1,
10664 "path" : "/nodes/{node}/apt/update",
10665 "text" : "update"
10666 },
10667 {
10668 "info" : {
10669 "GET" : {
10670 "description" : "Get package changelogs.",
10671 "method" : "GET",
10672 "name" : "changelog",
10673 "parameters" : {
10674 "additionalProperties" : 0,
10675 "properties" : {
10676 "name" : {
10677 "description" : "Package name.",
10678 "type" : "string",
10679 "typetext" : "<string>"
10680 },
10681 "node" : {
10682 "description" : "The cluster node name.",
10683 "format" : "pve-node",
10684 "type" : "string",
10685 "typetext" : "<string>"
10686 },
10687 "version" : {
10688 "description" : "Package version.",
10689 "optional" : 1,
10690 "type" : "string",
10691 "typetext" : "<string>"
10692 }
10693 }
10694 },
732d76e1
DM
10695 "permissions" : {
10696 "check" : [
10697 "admin",
10698 "audit"
10699 ]
10700 },
9fda36b0
DM
10701 "proxyto" : "node",
10702 "returns" : {
10703 "type" : "string"
10704 }
10705 }
10706 },
10707 "leaf" : 1,
10708 "path" : "/nodes/{node}/apt/changelog",
10709 "text" : "changelog"
10710 },
10711 {
10712 "info" : {
10713 "GET" : {
10714 "description" : "Get package information for important Proxmox packages.",
10715 "method" : "GET",
10716 "name" : "versions",
10717 "parameters" : {
10718 "additionalProperties" : 0,
10719 "properties" : {
10720 "node" : {
10721 "description" : "The cluster node name.",
10722 "format" : "pve-node",
10723 "type" : "string",
10724 "typetext" : "<string>"
10725 }
10726 }
10727 },
10728 "permissions" : {
10729 "check" : [
732d76e1
DM
10730 "admin",
10731 "audit"
9fda36b0
DM
10732 ]
10733 },
10734 "proxyto" : "node",
10735 "returns" : {
10736 "items" : {
10737 "properties" : {},
10738 "type" : "object"
10739 },
10740 "type" : "array"
10741 }
10742 }
10743 },
10744 "leaf" : 1,
10745 "path" : "/nodes/{node}/apt/versions",
10746 "text" : "versions"
10747 }
10748 ],
10749 "info" : {
10750 "GET" : {
10751 "description" : "Directory index for apt (Advanced Package Tool).",
10752 "method" : "GET",
10753 "name" : "index",
10754 "parameters" : {
10755 "additionalProperties" : 0,
10756 "properties" : {
10757 "node" : {
10758 "description" : "The cluster node name.",
10759 "format" : "pve-node",
10760 "type" : "string",
10761 "typetext" : "<string>"
10762 }
10763 }
10764 },
10765 "permissions" : {
10766 "user" : "all"
10767 },
10768 "returns" : {
10769 "items" : {
10770 "properties" : {
10771 "id" : {
10772 "type" : "string"
10773 }
10774 },
10775 "type" : "object"
10776 },
10777 "links" : [
10778 {
10779 "href" : "{id}",
10780 "rel" : "child"
10781 }
10782 ],
10783 "type" : "array"
10784 }
10785 }
10786 },
10787 "leaf" : 0,
10788 "path" : "/nodes/{node}/apt",
10789 "text" : "apt"
10790 },
10791 {
10792 "children" : [
10793 {
10794 "info" : {
10795 "GET" : {
10796 "description" : "Get the detailed syslog entries for a specific mail ID.",
10797 "method" : "GET",
10798 "name" : "maillog",
10799 "parameters" : {
10800 "additionalProperties" : 0,
10801 "properties" : {
10802 "endtime" : {
10803 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
10804 "minimum" : 1,
10805 "optional" : 1,
10806 "type" : "integer",
10807 "typetext" : "<integer> (1 - N)"
10808 },
10809 "id" : {
10810 "description" : "Mail ID (as returend by the list API).",
10811 "maxLength" : 64,
10812 "minLength" : 3,
10813 "type" : "string",
10814 "typetext" : "<string>"
10815 },
10816 "node" : {
10817 "description" : "The cluster node name.",
10818 "format" : "pve-node",
10819 "type" : "string",
10820 "typetext" : "<string>"
10821 },
10822 "starttime" : {
10823 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
10824 "minimum" : 0,
10825 "optional" : 1,
10826 "type" : "integer",
10827 "typetext" : "<integer> (0 - N)"
10828 }
10829 }
10830 },
732d76e1
DM
10831 "permissions" : {
10832 "check" : [
10833 "admin",
10834 "audit"
10835 ]
10836 },
9fda36b0
DM
10837 "protected" : 1,
10838 "proxyto" : "node",
10839 "returns" : {
10840 "properties" : {
10841 "client" : {
10842 "description" : "Client address",
10843 "optional" : 1,
10844 "type" : "string"
10845 },
10846 "dstatus" : {
10847 "description" : "Delivery status.",
10848 "maxLength" : 1,
10849 "minLength" : 1,
10850 "type" : "string"
10851 },
10852 "from" : {
10853 "description" : "Sender email address.",
10854 "type" : "string"
10855 },
10856 "id" : {
10857 "description" : "Unique ID.",
10858 "type" : "string"
10859 },
10860 "logs" : {
10861 "items" : {
10862 "type" : "string"
10863 },
10864 "type" : "array"
10865 },
10866 "msgid" : {
10867 "description" : "SMTP message ID.",
10868 "optional" : 1,
10869 "type" : "string"
10870 },
10871 "qid" : {
10872 "description" : "Postfix qmgr ID.",
10873 "optional" : 1,
10874 "type" : "string"
10875 },
10876 "relay" : {
10877 "description" : "ID of relayed mail.",
10878 "optional" : 1,
10879 "type" : "string"
10880 },
10881 "rstatus" : {
10882 "description" : "Delivery status of relayed mail.",
10883 "maxLength" : 1,
10884 "minLength" : 1,
10885 "optional" : 1,
10886 "type" : "string"
10887 },
10888 "size" : {
10889 "description" : "The size of the raw email.",
10890 "optional" : 1,
10891 "type" : "number"
10892 },
10893 "time" : {
10894 "description" : "Delivery timestamp.",
10895 "type" : "integer"
10896 },
10897 "to" : {
10898 "description" : "Receiver email address.",
10899 "type" : "string"
10900 }
10901 },
10902 "type" : "object"
10903 }
10904 }
10905 },
10906 "leaf" : 1,
10907 "path" : "/nodes/{node}/tracker/{id}",
10908 "text" : "{id}"
10909 }
10910 ],
10911 "info" : {
10912 "GET" : {
10913 "description" : "Read mail list.",
10914 "method" : "GET",
10915 "name" : "list_mails",
10916 "parameters" : {
10917 "additionalProperties" : 0,
10918 "properties" : {
10919 "endtime" : {
10920 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
10921 "minimum" : 1,
10922 "optional" : 1,
10923 "type" : "integer",
10924 "typetext" : "<integer> (1 - N)"
10925 },
10926 "from" : {
10927 "description" : "Sender email address filter.",
10928 "maxLength" : 256,
10929 "minLength" : 1,
10930 "optional" : 1,
10931 "type" : "string",
10932 "typetext" : "<string>"
10933 },
10934 "greylist" : {
10935 "default" : 0,
10936 "description" : "Include Greylisted entries.",
10937 "optional" : 1,
10938 "type" : "boolean",
10939 "typetext" : "<boolean>"
10940 },
10941 "ndr" : {
10942 "default" : 0,
10943 "description" : "Include NDRs (non delivery reports).",
10944 "optional" : 1,
10945 "type" : "boolean",
10946 "typetext" : "<boolean>"
10947 },
10948 "node" : {
10949 "description" : "The cluster node name.",
10950 "format" : "pve-node",
10951 "type" : "string",
10952 "typetext" : "<string>"
10953 },
10954 "starttime" : {
10955 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
10956 "minimum" : 0,
10957 "optional" : 1,
10958 "type" : "integer",
10959 "typetext" : "<integer> (0 - N)"
10960 },
10961 "target" : {
10962 "description" : "Receiver email address filter.",
10963 "maxLength" : 256,
10964 "minLength" : 1,
10965 "optional" : 1,
10966 "type" : "string",
10967 "typetext" : "<string>"
10968 },
10969 "xfilter" : {
10970 "description" : "Only include mails containing this filter string.",
10971 "maxLength" : 256,
10972 "minLength" : 1,
10973 "optional" : 1,
10974 "type" : "string",
10975 "typetext" : "<string>"
10976 }
10977 }
10978 },
732d76e1
DM
10979 "permissions" : {
10980 "check" : [
10981 "admin",
10982 "audit"
10983 ]
10984 },
9fda36b0
DM
10985 "protected" : 1,
10986 "proxyto" : "node",
10987 "returns" : {
10988 "items" : {
10989 "properties" : {
10990 "client" : {
10991 "description" : "Client address",
10992 "optional" : 1,
10993 "type" : "string"
10994 },
10995 "dstatus" : {
10996 "description" : "Delivery status.",
10997 "maxLength" : 1,
10998 "minLength" : 1,
10999 "type" : "string"
11000 },
11001 "from" : {
11002 "description" : "Sender email address.",
11003 "type" : "string"
11004 },
11005 "id" : {
11006 "description" : "Unique ID.",
11007 "type" : "string"
11008 },
11009 "msgid" : {
11010 "description" : "SMTP message ID.",
11011 "optional" : 1,
11012 "type" : "string"
11013 },
11014 "qid" : {
11015 "description" : "Postfix qmgr ID.",
11016 "optional" : 1,
11017 "type" : "string"
11018 },
11019 "relay" : {
11020 "description" : "ID of relayed mail.",
11021 "optional" : 1,
11022 "type" : "string"
11023 },
11024 "rstatus" : {
11025 "description" : "Delivery status of relayed mail.",
11026 "maxLength" : 1,
11027 "minLength" : 1,
11028 "optional" : 1,
11029 "type" : "string"
11030 },
11031 "size" : {
11032 "description" : "The size of the raw email.",
11033 "optional" : 1,
11034 "type" : "number"
11035 },
11036 "time" : {
11037 "description" : "Delivery timestamp.",
11038 "type" : "integer"
11039 },
11040 "to" : {
11041 "description" : "Receiver email address.",
11042 "type" : "string"
11043 }
11044 },
11045 "type" : "object"
11046 },
11047 "links" : [
11048 {
11049 "href" : "{id}",
11050 "rel" : "child"
11051 }
11052 ],
11053 "type" : "array"
11054 }
11055 }
11056 },
11057 "leaf" : 0,
11058 "path" : "/nodes/{node}/tracker",
11059 "text" : "tracker"
11060 },
bb6e6e0d
DM
11061 {
11062 "children" : [
11063 {
11064 "info" : {
11065 "DELETE" : {
11066 "description" : "Delete a backup file.",
11067 "method" : "DELETE",
11068 "name" : "delete",
11069 "parameters" : {
11070 "additionalProperties" : 0,
11071 "properties" : {
11072 "filename" : {
11073 "description" : "The backup file name.",
11074 "maxLength" : 256,
11075 "minLength" : 4,
11076 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
11077 "type" : "string"
11078 },
11079 "node" : {
11080 "description" : "The cluster node name.",
11081 "format" : "pve-node",
11082 "type" : "string",
11083 "typetext" : "<string>"
11084 }
11085 }
11086 },
11087 "permissions" : {
11088 "check" : [
11089 "admin"
11090 ]
11091 },
11092 "protected" : 1,
11093 "proxyto" : "node",
11094 "returns" : {
11095 "type" : "null"
11096 }
11097 },
11098 "GET" : {
11099 "description" : "Download a backup file.",
11100 "download" : 1,
11101 "method" : "GET",
11102 "name" : "download",
11103 "parameters" : {
11104 "additionalProperties" : 0,
11105 "properties" : {
11106 "filename" : {
11107 "description" : "The backup file name.",
11108 "maxLength" : 256,
11109 "minLength" : 4,
11110 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
11111 "type" : "string"
11112 },
11113 "node" : {
11114 "description" : "The cluster node name.",
11115 "format" : "pve-node",
11116 "type" : "string",
11117 "typetext" : "<string>"
11118 }
11119 }
11120 },
11121 "permissions" : {
11122 "check" : [
11123 "admin"
11124 ]
11125 },
11126 "protected" : 1,
11127 "proxyto" : "node",
11128 "returns" : {
11129 "type" : "string"
11130 }
11131 },
11132 "POST" : {
11133 "description" : "Restore the system configuration.",
11134 "method" : "POST",
11135 "name" : "restore",
11136 "parameters" : {
11137 "additionalProperties" : 0,
11138 "properties" : {
11139 "config" : {
11140 "default" : 0,
11141 "description" : "Restore system configuration.",
11142 "optional" : 1,
11143 "type" : "boolean",
11144 "typetext" : "<boolean>"
11145 },
11146 "database" : {
11147 "default" : 1,
11148 "description" : "Restore the rule database. This is the default.",
11149 "optional" : 1,
11150 "type" : "boolean",
11151 "typetext" : "<boolean>"
11152 },
11153 "filename" : {
11154 "description" : "The backup file name.",
11155 "maxLength" : 256,
11156 "minLength" : 4,
11157 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
11158 "type" : "string"
11159 },
11160 "node" : {
11161 "description" : "The cluster node name.",
11162 "format" : "pve-node",
11163 "type" : "string",
11164 "typetext" : "<string>"
11165 },
11166 "statistic" : {
11167 "default" : 0,
11168 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
11169 "optional" : 1,
11170 "type" : "boolean",
11171 "typetext" : "<boolean>"
11172 }
11173 }
11174 },
11175 "permissions" : {
11176 "check" : [
11177 "admin"
11178 ]
11179 },
11180 "protected" : 1,
11181 "proxyto" : "node",
11182 "returns" : {
11183 "type" : "string"
11184 }
11185 }
11186 },
11187 "leaf" : 1,
11188 "path" : "/nodes/{node}/backup/{filename}",
11189 "text" : "{filename}"
11190 }
11191 ],
11192 "info" : {
11193 "GET" : {
11194 "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
11195 "method" : "GET",
11196 "name" : "list",
11197 "parameters" : {
11198 "additionalProperties" : 0,
11199 "properties" : {
11200 "node" : {
11201 "description" : "The cluster node name.",
11202 "format" : "pve-node",
11203 "type" : "string",
11204 "typetext" : "<string>"
11205 }
11206 }
11207 },
11208 "permissions" : {
11209 "check" : [
11210 "admin",
11211 "audit"
11212 ]
11213 },
11214 "protected" : 1,
11215 "proxyto" : "node",
11216 "returns" : {
11217 "items" : {
11218 "properties" : {
11219 "filename" : {
11220 "description" : "The backup file name.",
11221 "maxLength" : 256,
11222 "minLength" : 4,
11223 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
11224 "type" : "string"
11225 },
11226 "size" : {
11227 "description" : "Size of backup file in bytes.",
11228 "type" : "integer"
11229 },
11230 "timestamp" : {
11231 "description" : "Backup timestamp (Unix epoch).",
11232 "type" : "integer"
11233 }
11234 },
11235 "type" : "object"
11236 },
11237 "links" : [
11238 {
11239 "href" : "{filename}",
11240 "rel" : "child"
11241 }
11242 ],
11243 "type" : "array"
11244 }
11245 },
11246 "POST" : {
11247 "description" : "Backup the system configuration.",
11248 "method" : "POST",
11249 "name" : "backup",
11250 "parameters" : {
11251 "additionalProperties" : 0,
11252 "properties" : {
11253 "node" : {
11254 "description" : "The cluster node name.",
11255 "format" : "pve-node",
11256 "type" : "string",
11257 "typetext" : "<string>"
11258 },
11259 "statistic" : {
11260 "default" : 1,
11261 "description" : "Backup statistic databases.",
11262 "optional" : 1,
11263 "type" : "boolean",
11264 "typetext" : "<boolean>"
11265 }
11266 }
11267 },
11268 "permissions" : {
11269 "check" : [
11270 "admin"
11271 ]
11272 },
11273 "protected" : 1,
11274 "proxyto" : "node",
11275 "returns" : {
11276 "type" : "string"
11277 }
11278 }
11279 },
11280 "leaf" : 0,
11281 "path" : "/nodes/{node}/backup",
11282 "text" : "backup"
11283 },
241ac83c
TL
11284 {
11285 "info" : {
11286 "GET" : {
11287 "description" : "Gather various system information about a node",
11288 "method" : "GET",
11289 "name" : "report",
11290 "parameters" : {
11291 "additionalProperties" : 0,
11292 "properties" : {
11293 "node" : {
11294 "description" : "The cluster node name.",
11295 "format" : "pve-node",
11296 "type" : "string",
11297 "typetext" : "<string>"
11298 }
11299 }
11300 },
11301 "permissions" : {
11302 "check" : [
11303 "admin",
11304 "audit"
11305 ]
11306 },
11307 "protected" : 1,
11308 "proxyto" : "node",
11309 "returns" : {
11310 "type" : "string"
11311 }
11312 }
11313 },
11314 "leaf" : 1,
11315 "path" : "/nodes/{node}/report",
11316 "text" : "report"
11317 },
9fda36b0
DM
11318 {
11319 "info" : {
11320 "GET" : {
11321 "description" : "Read node RRD statistics",
11322 "method" : "GET",
11323 "name" : "rrddata",
11324 "parameters" : {
11325 "additionalProperties" : 0,
11326 "properties" : {
11327 "cf" : {
11328 "description" : "The RRD consolidation function",
11329 "enum" : [
11330 "AVERAGE",
11331 "MAX"
11332 ],
11333 "optional" : 1,
11334 "type" : "string"
11335 },
11336 "node" : {
11337 "description" : "The cluster node name.",
11338 "format" : "pve-node",
11339 "type" : "string",
11340 "typetext" : "<string>"
11341 },
11342 "timeframe" : {
11343 "description" : "Specify the time frame you are interested in.",
11344 "enum" : [
11345 "hour",
11346 "day",
11347 "week",
11348 "month",
11349 "year"
11350 ],
11351 "type" : "string"
11352 }
11353 }
11354 },
732d76e1
DM
11355 "permissions" : {
11356 "check" : [
11357 "admin",
11358 "audit"
11359 ]
11360 },
9fda36b0
DM
11361 "protected" : 1,
11362 "proxyto" : "node",
11363 "returns" : {
11364 "items" : {
11365 "properties" : {},
11366 "type" : "object"
11367 },
11368 "type" : "array"
11369 }
11370 }
11371 },
11372 "leaf" : 1,
11373 "path" : "/nodes/{node}/rrddata",
11374 "text" : "rrddata"
11375 },
11376 {
11377 "info" : {
11378 "GET" : {
11379 "description" : "Read system log",
11380 "method" : "GET",
11381 "name" : "syslog",
11382 "parameters" : {
11383 "additionalProperties" : 0,
11384 "properties" : {
11385 "limit" : {
11386 "minimum" : 0,
11387 "optional" : 1,
11388 "type" : "integer",
11389 "typetext" : "<integer> (0 - N)"
11390 },
11391 "node" : {
11392 "description" : "The cluster node name.",
11393 "format" : "pve-node",
11394 "type" : "string",
11395 "typetext" : "<string>"
11396 },
11397 "service" : {
11398 "description" : "Service ID",
11399 "maxLength" : 128,
11400 "optional" : 1,
11401 "type" : "string",
11402 "typetext" : "<string>"
11403 },
11404 "since" : {
11405 "description" : "Display all log since this date-time string.",
11406 "optional" : 1,
11407 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
11408 "type" : "string"
11409 },
11410 "start" : {
11411 "minimum" : 0,
11412 "optional" : 1,
11413 "type" : "integer",
11414 "typetext" : "<integer> (0 - N)"
11415 },
11416 "until" : {
11417 "description" : "Display all log until this date-time string.",
11418 "optional" : 1,
11419 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
11420 "type" : "string"
11421 }
11422 }
11423 },
732d76e1
DM
11424 "permissions" : {
11425 "check" : [
11426 "admin",
11427 "audit"
11428 ]
11429 },
9fda36b0
DM
11430 "protected" : 1,
11431 "proxyto" : "node",
11432 "returns" : {
11433 "items" : {
11434 "properties" : {
11435 "n" : {
11436 "description" : "Line number",
11437 "type" : "integer"
11438 },
11439 "t" : {
11440 "description" : "Line text",
11441 "type" : "string"
11442 }
11443 },
11444 "type" : "object"
11445 },
11446 "type" : "array"
11447 }
11448 }
11449 },
11450 "leaf" : 1,
11451 "path" : "/nodes/{node}/syslog",
11452 "text" : "syslog"
11453 },
241ac83c
TL
11454 {
11455 "info" : {
11456 "GET" : {
11457 "description" : "Read Journal",
11458 "method" : "GET",
11459 "name" : "journal",
11460 "parameters" : {
11461 "additionalProperties" : 0,
11462 "properties" : {
11463 "endcursor" : {
11464 "description" : "End before the given Cursor. Conflicts with 'until'.",
11465 "optional" : 1,
11466 "type" : "string",
11467 "typetext" : "<string>"
11468 },
11469 "lastentries" : {
11470 "description" : "Limit to the last X lines. Conflicts with a range.",
11471 "minimum" : 0,
11472 "optional" : 1,
11473 "type" : "integer",
11474 "typetext" : "<integer> (0 - N)"
11475 },
11476 "node" : {
11477 "description" : "The cluster node name.",
11478 "format" : "pve-node",
11479 "type" : "string",
11480 "typetext" : "<string>"
11481 },
11482 "since" : {
11483 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
11484 "minimum" : 0,
11485 "optional" : 1,
11486 "type" : "integer",
11487 "typetext" : "<integer> (0 - N)"
11488 },
11489 "startcursor" : {
11490 "description" : "Start after the given Cursor. Conflicts with 'since'.",
11491 "optional" : 1,
11492 "type" : "string",
11493 "typetext" : "<string>"
11494 },
11495 "until" : {
11496 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
11497 "minimum" : 0,
11498 "optional" : 1,
11499 "type" : "integer",
11500 "typetext" : "<integer> (0 - N)"
11501 }
11502 }
11503 },
11504 "permissions" : {
11505 "check" : [
11506 "admin",
11507 "audit"
11508 ]
11509 },
11510 "protected" : 1,
11511 "proxyto" : "node",
11512 "returns" : {
11513 "items" : {
11514 "type" : "string"
11515 },
11516 "type" : "array"
11517 }
11518 }
11519 },
11520 "leaf" : 1,
11521 "path" : "/nodes/{node}/journal",
11522 "text" : "journal"
11523 },
9fda36b0
DM
11524 {
11525 "info" : {
11526 "POST" : {
274b47fc 11527 "description" : "Creates a Terminal proxy.",
9fda36b0 11528 "method" : "POST",
274b47fc 11529 "name" : "termproxy",
9fda36b0
DM
11530 "parameters" : {
11531 "additionalProperties" : 0,
11532 "properties" : {
11533 "node" : {
11534 "description" : "The cluster node name.",
11535 "format" : "pve-node",
11536 "type" : "string",
11537 "typetext" : "<string>"
11538 },
11539 "upgrade" : {
11540 "default" : 0,
11541 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
11542 "optional" : 1,
11543 "type" : "boolean",
11544 "typetext" : "<boolean>"
9fda36b0
DM
11545 }
11546 }
11547 },
274b47fc
DM
11548 "permissions" : {
11549 "check" : [
11550 "admin"
11551 ]
11552 },
9fda36b0
DM
11553 "protected" : 1,
11554 "returns" : {
11555 "additionalProperties" : 0,
11556 "properties" : {
11557 "port" : {
11558 "type" : "integer"
11559 },
11560 "ticket" : {
11561 "type" : "string"
11562 },
11563 "upid" : {
11564 "type" : "string"
11565 },
11566 "user" : {
11567 "type" : "string"
11568 }
11569 }
11570 }
11571 }
11572 },
11573 "leaf" : 1,
274b47fc
DM
11574 "path" : "/nodes/{node}/termproxy",
11575 "text" : "termproxy"
9fda36b0
DM
11576 },
11577 {
11578 "info" : {
11579 "GET" : {
11580 "description" : "Opens a weksocket for VNC traffic.",
11581 "method" : "GET",
11582 "name" : "vncwebsocket",
11583 "parameters" : {
11584 "additionalProperties" : 0,
11585 "properties" : {
11586 "node" : {
11587 "description" : "The cluster node name.",
11588 "format" : "pve-node",
11589 "type" : "string",
11590 "typetext" : "<string>"
11591 },
11592 "port" : {
11593 "description" : "Port number returned by previous vncproxy call.",
11594 "maximum" : 5999,
11595 "minimum" : 5900,
11596 "type" : "integer",
11597 "typetext" : "<integer> (5900 - 5999)"
11598 },
11599 "vncticket" : {
11600 "description" : "Ticket from previous call to vncproxy.",
11601 "maxLength" : 512,
11602 "type" : "string",
11603 "typetext" : "<string>"
11604 }
11605 }
11606 },
274b47fc
DM
11607 "permissions" : {
11608 "check" : [
11609 "admin"
11610 ]
11611 },
9fda36b0
DM
11612 "returns" : {
11613 "properties" : {
11614 "port" : {
11615 "type" : "string"
11616 }
11617 },
11618 "type" : "object"
11619 }
11620 }
11621 },
11622 "leaf" : 1,
11623 "path" : "/nodes/{node}/vncwebsocket",
11624 "text" : "vncwebsocket"
11625 },
11626 {
11627 "info" : {
11628 "GET" : {
11629 "description" : "Read DNS settings.",
11630 "method" : "GET",
11631 "name" : "dns",
11632 "parameters" : {
11633 "additionalProperties" : 0,
11634 "properties" : {
11635 "node" : {
11636 "description" : "The cluster node name.",
11637 "format" : "pve-node",
11638 "type" : "string",
11639 "typetext" : "<string>"
11640 }
11641 }
11642 },
732d76e1
DM
11643 "permissions" : {
11644 "check" : [
11645 "admin",
11646 "audit"
11647 ]
11648 },
9fda36b0
DM
11649 "proxyto" : "node",
11650 "returns" : {
11651 "additionalProperties" : 0,
11652 "properties" : {
11653 "dns1" : {
11654 "description" : "First name server IP address.",
11655 "optional" : 1,
11656 "type" : "string"
11657 },
11658 "dns2" : {
11659 "description" : "Second name server IP address.",
11660 "optional" : 1,
11661 "type" : "string"
11662 },
11663 "dns3" : {
11664 "description" : "Third name server IP address.",
11665 "optional" : 1,
11666 "type" : "string"
11667 },
11668 "search" : {
11669 "description" : "Search domain for host-name lookup.",
11670 "optional" : 1,
11671 "type" : "string"
11672 }
11673 },
11674 "type" : "object"
11675 }
11676 },
11677 "PUT" : {
11678 "description" : "Write DNS settings.",
11679 "method" : "PUT",
11680 "name" : "update_dns",
11681 "parameters" : {
11682 "additionalProperties" : 0,
11683 "properties" : {
11684 "dns1" : {
11685 "description" : "First name server IP address.",
11686 "format" : "ip",
11687 "optional" : 1,
11688 "type" : "string",
11689 "typetext" : "<string>"
11690 },
11691 "dns2" : {
11692 "description" : "Second name server IP address.",
11693 "format" : "ip",
11694 "optional" : 1,
11695 "type" : "string",
11696 "typetext" : "<string>"
11697 },
11698 "dns3" : {
11699 "description" : "Third name server IP address.",
11700 "format" : "ip",
11701 "optional" : 1,
11702 "type" : "string",
11703 "typetext" : "<string>"
11704 },
11705 "node" : {
11706 "description" : "The cluster node name.",
11707 "format" : "pve-node",
11708 "type" : "string",
11709 "typetext" : "<string>"
11710 },
11711 "search" : {
11712 "description" : "Search domain for host-name lookup.",
11713 "type" : "string",
11714 "typetext" : "<string>"
11715 }
11716 }
11717 },
11718 "protected" : 1,
11719 "proxyto" : "node",
11720 "returns" : {
11721 "type" : "null"
11722 }
11723 }
11724 },
11725 "leaf" : 1,
11726 "path" : "/nodes/{node}/dns",
11727 "text" : "dns"
11728 },
11729 {
11730 "info" : {
11731 "GET" : {
11732 "description" : "Read server time and time zone settings.",
11733 "method" : "GET",
11734 "name" : "time",
11735 "parameters" : {
11736 "additionalProperties" : 0,
11737 "properties" : {
11738 "node" : {
11739 "description" : "The cluster node name.",
11740 "format" : "pve-node",
11741 "type" : "string",
11742 "typetext" : "<string>"
11743 }
11744 }
11745 },
732d76e1
DM
11746 "permissions" : {
11747 "check" : [
11748 "admin",
11749 "audit"
11750 ]
11751 },
9fda36b0
DM
11752 "proxyto" : "node",
11753 "returns" : {
11754 "additionalProperties" : 0,
11755 "properties" : {
11756 "localtime" : {
11757 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
11758 "minimum" : 1297163644,
11759 "type" : "integer"
11760 },
11761 "time" : {
11762 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
11763 "minimum" : 1297163644,
11764 "type" : "integer"
11765 },
11766 "timezone" : {
11767 "description" : "Time zone",
11768 "type" : "string"
11769 }
11770 },
11771 "type" : "object"
11772 }
11773 },
11774 "PUT" : {
11775 "description" : "Set time zone.",
11776 "method" : "PUT",
11777 "name" : "set_timezone",
11778 "parameters" : {
11779 "additionalProperties" : 0,
11780 "properties" : {
11781 "node" : {
11782 "description" : "The cluster node name.",
11783 "format" : "pve-node",
11784 "type" : "string",
11785 "typetext" : "<string>"
11786 },
11787 "timezone" : {
11788 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
11789 "type" : "string",
11790 "typetext" : "<string>"
11791 }
11792 }
11793 },
11794 "protected" : 1,
11795 "proxyto" : "node",
11796 "returns" : {
11797 "type" : "null"
11798 }
11799 }
11800 },
11801 "leaf" : 1,
11802 "path" : "/nodes/{node}/time",
11803 "text" : "time"
11804 },
11805 {
11806 "info" : {
11807 "GET" : {
11808 "description" : "Read server status. This is used by the cluster manager to test the node health.",
11809 "method" : "GET",
11810 "name" : "status",
11811 "parameters" : {
11812 "additionalProperties" : 0,
11813 "properties" : {
11814 "node" : {
11815 "description" : "The cluster node name.",
11816 "format" : "pve-node",
11817 "type" : "string",
11818 "typetext" : "<string>"
11819 }
11820 }
11821 },
241ac83c
TL
11822 "permissions" : {
11823 "check" : [
11824 "admin",
11825 "qmanager",
11826 "audit"
11827 ]
11828 },
9fda36b0
DM
11829 "protected" : 1,
11830 "proxyto" : "node",
11831 "returns" : {
11832 "additionalProperties" : 1,
11833 "properties" : {
11834 "insync" : {
11835 "description" : "Database is synced with other nodes.",
11836 "type" : "boolean"
11837 },
11838 "time" : {
11839 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
11840 "minimum" : 1297163644,
11841 "type" : "integer"
11842 },
11843 "uptime" : {
11844 "description" : "The uptime of the system in seconds.",
11845 "minimum" : 0,
11846 "type" : "integer"
11847 }
11848 },
11849 "type" : "object"
11850 }
274b47fc
DM
11851 },
11852 "POST" : {
11853 "description" : "Reboot or shutdown a node.",
11854 "method" : "POST",
11855 "name" : "node_cmd",
11856 "parameters" : {
11857 "additionalProperties" : 0,
11858 "properties" : {
11859 "command" : {
11860 "description" : "Specify the command.",
11861 "enum" : [
11862 "reboot",
11863 "shutdown"
11864 ],
11865 "type" : "string"
11866 },
11867 "node" : {
11868 "description" : "The cluster node name.",
11869 "format" : "pve-node",
11870 "type" : "string",
11871 "typetext" : "<string>"
11872 }
11873 }
11874 },
11875 "permissions" : {
11876 "check" : [
11877 "admin"
11878 ]
11879 },
11880 "protected" : 1,
11881 "proxyto" : "node",
11882 "returns" : {
11883 "type" : "null"
11884 }
9fda36b0
DM
11885 }
11886 },
11887 "leaf" : 1,
11888 "path" : "/nodes/{node}/status",
11889 "text" : "status"
11890 }
11891 ],
11892 "info" : {
11893 "GET" : {
11894 "description" : "Node index.",
11895 "method" : "GET",
11896 "name" : "index",
11897 "parameters" : {
11898 "additionalProperties" : 0,
11899 "properties" : {
11900 "node" : {
11901 "description" : "The cluster node name.",
11902 "format" : "pve-node",
11903 "type" : "string",
11904 "typetext" : "<string>"
11905 }
11906 }
11907 },
11908 "permissions" : {
11909 "user" : "all"
11910 },
11911 "returns" : {
11912 "items" : {
11913 "properties" : {},
11914 "type" : "object"
11915 },
11916 "links" : [
11917 {
11918 "href" : "{name}",
11919 "rel" : "child"
11920 }
11921 ],
11922 "type" : "array"
11923 }
11924 }
11925 },
11926 "leaf" : 0,
11927 "path" : "/nodes/{node}",
11928 "text" : "{node}"
11929 }
11930 ],
11931 "info" : {
11932 "GET" : {
11933 "description" : "Cluster node index.",
11934 "method" : "GET",
11935 "name" : "index",
11936 "parameters" : {
11937 "additionalProperties" : 0
11938 },
11939 "permissions" : {
11940 "user" : "all"
11941 },
11942 "returns" : {
11943 "items" : {
11944 "properties" : {},
11945 "type" : "object"
11946 },
11947 "links" : [
11948 {
11949 "href" : "{node}",
11950 "rel" : "child"
11951 }
11952 ],
11953 "type" : "array"
11954 }
11955 }
11956 },
11957 "leaf" : 0,
11958 "path" : "/nodes",
11959 "text" : "nodes"
11960 },
11961 {
11962 "children" : [
11963 {
11964 "children" : [
11965 {
11966 "info" : {
11967 "DELETE" : {
11968 "description" : "Delete a user.",
11969 "method" : "DELETE",
11970 "name" : "delete",
11971 "parameters" : {
11972 "additionalProperties" : 0,
11973 "properties" : {
11974 "userid" : {
11975 "description" : "User ID",
11976 "format" : "pmg-userid",
11977 "maxLength" : 64,
11978 "minLength" : 4,
11979 "type" : "string",
11980 "typetext" : "<string>"
11981 }
11982 }
11983 },
11984 "protected" : 1,
11985 "proxyto" : "master",
11986 "returns" : {
11987 "type" : "null"
11988 }
11989 },
11990 "GET" : {
11991 "description" : "Read User data.",
11992 "method" : "GET",
11993 "name" : "read",
11994 "parameters" : {
11995 "additionalProperties" : 0,
11996 "properties" : {
11997 "userid" : {
11998 "description" : "User ID",
11999 "format" : "pmg-userid",
12000 "maxLength" : 64,
12001 "minLength" : 4,
12002 "type" : "string",
12003 "typetext" : "<string>"
12004 }
12005 }
12006 },
4a46ced6
DM
12007 "permissions" : {
12008 "check" : [
12009 "admin",
12010 "qmanager",
12011 "audit"
12012 ]
12013 },
9fda36b0
DM
12014 "protected" : 1,
12015 "proxyto" : "master",
12016 "returns" : {
9fda36b0
DM
12017 "type" : "object"
12018 }
12019 },
12020 "PUT" : {
12021 "description" : "Update user data.",
12022 "method" : "PUT",
12023 "name" : "write",
12024 "parameters" : {
12025 "additionalProperties" : 0,
12026 "properties" : {
12027 "comment" : {
12028 "description" : "Comment.",
12029 "optional" : 1,
12030 "type" : "string",
12031 "typetext" : "<string>"
12032 },
12033 "crypt_pass" : {
12034 "description" : "Encrypted password (see `man crypt`)",
12035 "optional" : 1,
12036 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
12037 "type" : "string"
12038 },
12039 "delete" : {
12040 "description" : "A list of settings you want to delete.",
12041 "format" : "pve-configid-list",
12042 "maxLength" : 4096,
12043 "optional" : 1,
12044 "type" : "string",
12045 "typetext" : "<string>"
12046 },
12047 "email" : {
12048 "description" : "Users E-Mail address.",
12049 "format" : "email",
12050 "optional" : 1,
12051 "type" : "string",
12052 "typetext" : "<string>"
12053 },
12054 "enable" : {
12055 "default" : 0,
12056 "description" : "Flag to enable or disable the account.",
12057 "optional" : 1,
12058 "type" : "boolean",
12059 "typetext" : "<boolean>"
12060 },
12061 "expire" : {
12062 "default" : 0,
12063 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
12064 "minimum" : 0,
12065 "optional" : 1,
12066 "type" : "integer",
12067 "typetext" : "<integer> (0 - N)"
12068 },
12069 "firstname" : {
12070 "description" : "First name.",
12071 "maxLength" : 64,
12072 "optional" : 1,
12073 "type" : "string",
12074 "typetext" : "<string>"
12075 },
12076 "keys" : {
12077 "description" : "Keys for two factor auth (yubico).",
12078 "maxLength" : 128,
12079 "optional" : 1,
12080 "type" : "string",
12081 "typetext" : "<string>"
12082 },
12083 "lastname" : {
12084 "description" : "Last name.",
12085 "maxLength" : 64,
12086 "optional" : 1,
12087 "type" : "string",
12088 "typetext" : "<string>"
12089 },
12090 "password" : {
12091 "description" : "Password",
12092 "maxLength" : 32,
12093 "minLength" : 5,
12094 "optional" : 1,
12095 "type" : "string",
12096 "typetext" : "<string>"
12097 },
12098 "role" : {
12099 "description" : "User role. Role 'root' is reseved for the Unix Superuser.",
12100 "enum" : [
12101 "root",
12102 "admin",
f225b3b4 12103 "helpdesk",
9fda36b0
DM
12104 "qmanager",
12105 "audit"
12106 ],
12107 "optional" : 1,
12108 "type" : "string"
12109 },
12110 "userid" : {
12111 "description" : "User ID",
12112 "format" : "pmg-userid",
12113 "maxLength" : 64,
12114 "minLength" : 4,
12115 "type" : "string",
12116 "typetext" : "<string>"
12117 }
12118 }
12119 },
12120 "protected" : 1,
12121 "proxyto" : "master",
12122 "returns" : {
12123 "type" : "null"
12124 }
12125 }
12126 },
12127 "leaf" : 1,
12128 "path" : "/access/users/{userid}",
12129 "text" : "{userid}"
12130 }
12131 ],
12132 "info" : {
12133 "GET" : {
12134 "description" : "List users.",
12135 "method" : "GET",
12136 "name" : "index",
12137 "parameters" : {
12138 "additionalProperties" : 0
12139 },
12140 "permissions" : {
12141 "check" : [
4a46ced6
DM
12142 "admin",
12143 "qmanager",
12144 "audit"
9fda36b0
DM
12145 ]
12146 },
12147 "protected" : 1,
12148 "proxyto" : "master",
12149 "returns" : {
12150 "items" : {
12151 "properties" : {
12152 "comment" : {
12153 "optional" : 1,
12154 "type" : "string"
12155 },
12156 "enable" : {
12157 "type" : "boolean"
12158 },
12159 "role" : {
12160 "type" : "string"
12161 },
12162 "userid" : {
12163 "type" : "string"
12164 }
12165 },
12166 "type" : "object"
12167 },
12168 "links" : [
12169 {
12170 "href" : "{userid}",
12171 "rel" : "child"
12172 }
12173 ],
12174 "type" : "array"
12175 }
12176 },
12177 "POST" : {
4a46ced6 12178 "description" : "Create new user",
9fda36b0
DM
12179 "method" : "POST",
12180 "name" : "create",
12181 "parameters" : {
12182 "additionalProperties" : 0,
12183 "properties" : {
12184 "comment" : {
12185 "description" : "Comment.",
12186 "optional" : 1,
12187 "type" : "string",
12188 "typetext" : "<string>"
12189 },
12190 "crypt_pass" : {
12191 "description" : "Encrypted password (see `man crypt`)",
12192 "optional" : 1,
12193 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
12194 "type" : "string"
12195 },
12196 "email" : {
12197 "description" : "Users E-Mail address.",
12198 "format" : "email",
12199 "optional" : 1,
12200 "type" : "string",
12201 "typetext" : "<string>"
12202 },
12203 "enable" : {
12204 "default" : 0,
12205 "description" : "Flag to enable or disable the account.",
12206 "optional" : 1,
12207 "type" : "boolean",
12208 "typetext" : "<boolean>"
12209 },
12210 "expire" : {
12211 "default" : 0,
12212 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
12213 "minimum" : 0,
12214 "optional" : 1,
12215 "type" : "integer",
12216 "typetext" : "<integer> (0 - N)"
12217 },
12218 "firstname" : {
12219 "description" : "First name.",
12220 "maxLength" : 64,
12221 "optional" : 1,
12222 "type" : "string",
12223 "typetext" : "<string>"
a55e94a6 12224 },
9fda36b0
DM
12225 "keys" : {
12226 "description" : "Keys for two factor auth (yubico).",
12227 "maxLength" : 128,
12228 "optional" : 1,
12229 "type" : "string",
12230 "typetext" : "<string>"
12231 },
12232 "lastname" : {
12233 "description" : "Last name.",
12234 "maxLength" : 64,
12235 "optional" : 1,
12236 "type" : "string",
12237 "typetext" : "<string>"
12238 },
12239 "password" : {
12240 "description" : "Password",
12241 "maxLength" : 32,
12242 "minLength" : 5,
12243 "optional" : 1,
12244 "type" : "string",
12245 "typetext" : "<string>"
12246 },
12247 "role" : {
12248 "description" : "User role. Role 'root' is reseved for the Unix Superuser.",
12249 "enum" : [
12250 "root",
12251 "admin",
f225b3b4 12252 "helpdesk",
9fda36b0
DM
12253 "qmanager",
12254 "audit"
a55e94a6 12255 ],
9fda36b0
DM
12256 "type" : "string"
12257 },
12258 "userid" : {
12259 "description" : "User ID",
12260 "format" : "pmg-userid",
12261 "maxLength" : 64,
12262 "minLength" : 4,
12263 "type" : "string",
12264 "typetext" : "<string>"
a55e94a6
DM
12265 }
12266 }
12267 },
9fda36b0
DM
12268 "protected" : 1,
12269 "proxyto" : "master",
12270 "returns" : {
12271 "type" : "null"
12272 }
12273 }
12274 },
12275 "leaf" : 0,
12276 "path" : "/access/users",
12277 "text" : "users"
12278 },
12279 {
12280 "info" : {
12281 "GET" : {
12282 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
12283 "method" : "GET",
12284 "name" : "get_ticket",
12285 "parameters" : {
12286 "additionalProperties" : 0
12287 },
12288 "permissions" : {
12289 "user" : "world"
12290 },
12291 "returns" : {
12292 "type" : "null"
12293 }
a55e94a6 12294 },
9fda36b0
DM
12295 "POST" : {
12296 "description" : "Create or verify authentication ticket.",
12297 "method" : "POST",
12298 "name" : "create_ticket",
12299 "parameters" : {
12300 "additionalProperties" : 0,
12301 "properties" : {
12302 "otp" : {
12303 "description" : "One-time password for Two-factor authentication.",
12304 "optional" : 1,
12305 "type" : "string",
12306 "typetext" : "<string>"
410dc2c9 12307 },
9fda36b0
DM
12308 "password" : {
12309 "description" : "The secret password. This can also be a valid ticket.",
12310 "type" : "string",
12311 "typetext" : "<string>"
12312 },
274b47fc
DM
12313 "path" : {
12314 "description" : "Verify ticket, and check if user have access on 'path'",
12315 "maxLength" : 64,
12316 "optional" : 1,
12317 "type" : "string",
12318 "typetext" : "<string>"
12319 },
9fda36b0
DM
12320 "realm" : {
12321 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
732d76e1
DM
12322 "enum" : [
12323 "pam",
12324 "pmg",
12325 "quarantine"
12326 ],
9fda36b0
DM
12327 "maxLength" : 32,
12328 "optional" : 1,
732d76e1 12329 "type" : "string"
9fda36b0
DM
12330 },
12331 "username" : {
12332 "description" : "User name",
12333 "maxLength" : 64,
12334 "type" : "string",
12335 "typetext" : "<string>"
12336 }
12337 }
12338 },
12339 "permissions" : {
12340 "description" : "You need to pass valid credientials.",
12341 "user" : "world"
12342 },
12343 "protected" : 1,
12344 "returns" : {
12345 "properties" : {
12346 "CSRFPreventionToken" : {
12347 "optional" : 1,
12348 "type" : "string"
12349 },
12350 "role" : {
12351 "optional" : 1,
12352 "type" : "string"
12353 },
12354 "ticket" : {
12355 "optional" : 1,
12356 "type" : "string"
12357 },
12358 "username" : {
12359 "type" : "string"
12360 }
12361 },
12362 "type" : "object"
12363 }
12364 }
12365 },
12366 "leaf" : 1,
12367 "path" : "/access/ticket",
12368 "text" : "ticket"
12369 },
12370 {
12371 "info" : {
12372 "PUT" : {
12373 "description" : "Change user password.",
12374 "method" : "PUT",
12375 "name" : "change_passsword",
12376 "parameters" : {
12377 "additionalProperties" : 0,
12378 "properties" : {
12379 "password" : {
12380 "description" : "The new password.",
12381 "maxLength" : 64,
12382 "minLength" : 5,
12383 "type" : "string",
12384 "typetext" : "<string>"
12385 },
12386 "userid" : {
12387 "description" : "User ID",
12388 "format" : "pmg-userid",
12389 "maxLength" : 64,
12390 "minLength" : 4,
12391 "type" : "string",
12392 "typetext" : "<string>"
410dc2c9
DM
12393 }
12394 }
12395 },
9fda36b0
DM
12396 "permissions" : {
12397 "description" : "Each user is allowed to change his own password. Only root can change the password of another user.",
12398 "user" : "all"
12399 },
12400 "protected" : 1,
12401 "returns" : {
12402 "type" : "null"
12403 }
12404 }
12405 },
12406 "leaf" : 1,
12407 "path" : "/access/password",
12408 "text" : "password"
12409 }
12410 ],
12411 "info" : {
12412 "GET" : {
12413 "description" : "Directory index.",
12414 "method" : "GET",
12415 "name" : "index",
12416 "parameters" : {
12417 "additionalProperties" : 0
12418 },
12419 "permissions" : {
12420 "user" : "all"
12421 },
12422 "returns" : {
12423 "items" : {
12424 "properties" : {
12425 "subdir" : {
12426 "type" : "string"
12427 }
12428 },
12429 "type" : "object"
410dc2c9 12430 },
9fda36b0
DM
12431 "links" : [
12432 {
12433 "href" : "{subdir}",
12434 "rel" : "child"
12435 }
12436 ],
12437 "type" : "array"
12438 }
12439 }
12440 },
12441 "leaf" : 0,
12442 "path" : "/access",
12443 "text" : "access"
12444 },
12445 {
12446 "children" : [
12447 {
12448 "children" : [
410dc2c9
DM
12449 {
12450 "info" : {
9fda36b0
DM
12451 "DELETE" : {
12452 "description" : "Delete user whitelist entries.",
12453 "method" : "DELETE",
12454 "name" : "whitelist_delete",
410dc2c9
DM
12455 "parameters" : {
12456 "additionalProperties" : 0,
12457 "properties" : {
9fda36b0
DM
12458 "address" : {
12459 "description" : "The address you want to remove.",
9fda36b0 12460 "minLength" : 3,
241ac83c 12461 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0 12462 "type" : "string"
410dc2c9 12463 },
9fda36b0
DM
12464 "pmail" : {
12465 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12466 "maxLength" : 512,
12467 "minLength" : 3,
d7cd791b 12468 "optional" : 1,
241ac83c
TL
12469 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12470 "type" : "string"
410dc2c9
DM
12471 }
12472 }
12473 },
9fda36b0
DM
12474 "permissions" : {
12475 "check" : [
12476 "admin",
12477 "qmanager",
12478 "audit",
12479 "quser"
12480 ]
12481 },
410dc2c9 12482 "protected" : 1,
410dc2c9 12483 "returns" : {
9fda36b0 12484 "type" : "null"
410dc2c9
DM
12485 }
12486 }
12487 },
12488 "leaf" : 1,
9fda36b0
DM
12489 "path" : "/quarantine/whitelist/{address}",
12490 "text" : "{address}"
12491 }
12492 ],
12493 "info" : {
12494 "GET" : {
12495 "description" : "Show user whitelist.",
12496 "method" : "GET",
12497 "name" : "whitelist",
12498 "parameters" : {
12499 "additionalProperties" : 0,
12500 "properties" : {
12501 "pmail" : {
12502 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12503 "maxLength" : 512,
12504 "minLength" : 3,
9fda36b0 12505 "optional" : 1,
241ac83c
TL
12506 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12507 "type" : "string"
9fda36b0
DM
12508 }
12509 }
12510 },
12511 "permissions" : {
12512 "check" : [
12513 "admin",
12514 "qmanager",
12515 "audit",
12516 "quser"
12517 ]
12518 },
12519 "returns" : {
12520 "items" : {
12521 "properties" : {
12522 "address" : {
12523 "type" : "string"
410dc2c9
DM
12524 }
12525 },
9fda36b0
DM
12526 "type" : "object"
12527 },
12528 "type" : "array"
12529 }
12530 },
12531 "POST" : {
12532 "description" : "Add user whitelist entries.",
12533 "method" : "POST",
12534 "name" : "whitelist_add",
12535 "parameters" : {
12536 "additionalProperties" : 0,
12537 "properties" : {
12538 "address" : {
12539 "description" : "The address you want to add.",
9fda36b0 12540 "minLength" : 3,
241ac83c 12541 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
12542 "type" : "string"
12543 },
12544 "pmail" : {
12545 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12546 "maxLength" : 512,
12547 "minLength" : 3,
9fda36b0 12548 "optional" : 1,
241ac83c
TL
12549 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12550 "type" : "string"
410dc2c9
DM
12551 }
12552 }
12553 },
9fda36b0
DM
12554 "permissions" : {
12555 "check" : [
12556 "admin",
12557 "qmanager",
12558 "audit",
12559 "quser"
12560 ]
12561 },
12562 "protected" : 1,
12563 "returns" : {
12564 "type" : "null"
12565 }
12566 }
12567 },
12568 "leaf" : 0,
12569 "path" : "/quarantine/whitelist",
12570 "text" : "whitelist"
12571 },
12572 {
12573 "children" : [
12574 {
12575 "info" : {
12576 "DELETE" : {
12577 "description" : "Delete user blacklist entries.",
12578 "method" : "DELETE",
12579 "name" : "blacklist_delete",
12580 "parameters" : {
12581 "additionalProperties" : 0,
12582 "properties" : {
12583 "address" : {
12584 "description" : "The address you want to remove.",
9fda36b0 12585 "minLength" : 3,
241ac83c 12586 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
12587 "type" : "string"
12588 },
12589 "pmail" : {
12590 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12591 "maxLength" : 512,
12592 "minLength" : 3,
9fda36b0 12593 "optional" : 1,
241ac83c
TL
12594 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12595 "type" : "string"
410dc2c9
DM
12596 }
12597 }
12598 },
9fda36b0
DM
12599 "permissions" : {
12600 "check" : [
12601 "admin",
12602 "qmanager",
12603 "audit",
12604 "quser"
12605 ]
12606 },
12607 "protected" : 1,
410dc2c9 12608 "returns" : {
9fda36b0 12609 "type" : "null"
410dc2c9
DM
12610 }
12611 }
12612 },
12613 "leaf" : 1,
9fda36b0
DM
12614 "path" : "/quarantine/blacklist/{address}",
12615 "text" : "{address}"
12616 }
12617 ],
12618 "info" : {
12619 "GET" : {
12620 "description" : "Show user blacklist.",
12621 "method" : "GET",
12622 "name" : "blacklist",
12623 "parameters" : {
12624 "additionalProperties" : 0,
12625 "properties" : {
12626 "pmail" : {
12627 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12628 "maxLength" : 512,
12629 "minLength" : 3,
9fda36b0 12630 "optional" : 1,
241ac83c
TL
12631 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12632 "type" : "string"
9fda36b0
DM
12633 }
12634 }
12635 },
12636 "permissions" : {
12637 "check" : [
12638 "admin",
12639 "qmanager",
12640 "audit",
12641 "quser"
12642 ]
12643 },
12644 "returns" : {
12645 "items" : {
12646 "properties" : {
12647 "address" : {
12648 "type" : "string"
410dc2c9
DM
12649 }
12650 },
9fda36b0
DM
12651 "type" : "object"
12652 },
12653 "type" : "array"
12654 }
12655 },
12656 "POST" : {
12657 "description" : "Add user blacklist entries.",
12658 "method" : "POST",
12659 "name" : "blacklist_add",
12660 "parameters" : {
12661 "additionalProperties" : 0,
12662 "properties" : {
12663 "address" : {
12664 "description" : "The address you want to add.",
9fda36b0 12665 "minLength" : 3,
241ac83c 12666 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
12667 "type" : "string"
12668 },
12669 "pmail" : {
12670 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12671 "maxLength" : 512,
12672 "minLength" : 3,
9fda36b0 12673 "optional" : 1,
241ac83c
TL
12674 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12675 "type" : "string"
9fda36b0
DM
12676 }
12677 }
12678 },
12679 "permissions" : {
12680 "check" : [
12681 "admin",
12682 "qmanager",
12683 "audit",
12684 "quser"
12685 ]
12686 },
12687 "protected" : 1,
12688 "returns" : {
12689 "type" : "null"
12690 }
12691 }
12692 },
12693 "leaf" : 0,
12694 "path" : "/quarantine/blacklist",
12695 "text" : "blacklist"
12696 },
12697 {
12698 "info" : {
12699 "GET" : {
12700 "description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).",
12701 "method" : "GET",
12702 "name" : "spamusers",
12703 "parameters" : {
12704 "additionalProperties" : 0,
12705 "properties" : {
12706 "endtime" : {
12707 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
12708 "minimum" : 1,
12709 "optional" : 1,
12710 "type" : "integer",
12711 "typetext" : "<integer> (1 - N)"
12712 },
12713 "starttime" : {
12714 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
12715 "minimum" : 0,
12716 "optional" : 1,
12717 "type" : "integer",
12718 "typetext" : "<integer> (0 - N)"
410dc2c9 12719 }
9fda36b0
DM
12720 }
12721 },
12722 "permissions" : {
12723 "check" : [
12724 "admin",
12725 "qmanager",
12726 "audit"
12727 ]
12728 },
12729 "returns" : {
12730 "items" : {
12731 "properties" : {
12732 "mail" : {
12733 "description" : "the receiving email",
12734 "type" : "string"
12735 }
12736 },
12737 "type" : "object"
410dc2c9 12738 },
9fda36b0
DM
12739 "type" : "array"
12740 }
12741 }
12742 },
12743 "leaf" : 1,
12744 "path" : "/quarantine/spamusers",
12745 "text" : "spamusers"
12746 },
12747 {
12748 "info" : {
12749 "GET" : {
12750 "description" : "Get Spam Quarantine Status",
12751 "method" : "GET",
12752 "name" : "spamstatus",
12753 "parameters" : {
12754 "additionalProperties" : 0
12755 },
12756 "permissions" : {
12757 "check" : [
12758 "admin",
12759 "qmanager",
12760 "audit"
12761 ]
12762 },
12763 "returns" : {
12764 "properties" : {
12765 "avgbytes" : {
12766 "description" : "Average size of stored mails in bytes.",
12767 "type" : "number"
12768 },
12769 "avgspam" : {
12770 "description" : "Average spam level.",
12771 "type" : "number"
12772 },
12773 "count" : {
12774 "description" : "Number of stored mails.",
12775 "type" : "integer"
12776 },
12777 "mbytes" : {
12778 "description" : "Estimated disk space usage in MByte.",
12779 "type" : "number"
12780 }
12781 },
12782 "type" : "object"
12783 }
12784 }
12785 },
12786 "leaf" : 1,
12787 "path" : "/quarantine/spamstatus",
12788 "text" : "spamstatus"
12789 },
12790 {
12791 "info" : {
12792 "GET" : {
12793 "description" : "Get a list of users with whitelist/blacklist setttings.",
12794 "method" : "GET",
12795 "name" : "quarusers",
12796 "parameters" : {
241ac83c
TL
12797 "additionalProperties" : 0,
12798 "properties" : {
12799 "list" : {
12800 "description" : "If set, limits the result to the given list.",
12801 "enum" : [
12802 "BL",
12803 "WL"
12804 ],
12805 "optional" : 1,
12806 "type" : "string"
12807 }
12808 }
9fda36b0
DM
12809 },
12810 "permissions" : {
12811 "check" : [
12812 "admin",
12813 "qmanager",
12814 "audit"
12815 ]
12816 },
12817 "returns" : {
12818 "items" : {
12819 "properties" : {
12820 "mail" : {
12821 "description" : "the receiving email",
12822 "type" : "string"
410dc2c9
DM
12823 }
12824 },
9fda36b0
DM
12825 "type" : "object"
12826 },
12827 "type" : "array"
12828 }
12829 }
12830 },
12831 "leaf" : 1,
12832 "path" : "/quarantine/quarusers",
12833 "text" : "quarusers"
12834 },
12835 {
12836 "info" : {
12837 "GET" : {
12838 "description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.",
12839 "method" : "GET",
12840 "name" : "spam",
12841 "parameters" : {
12842 "additionalProperties" : 0,
12843 "properties" : {
12844 "endtime" : {
12845 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
12846 "minimum" : 1,
12847 "optional" : 1,
12848 "type" : "integer",
12849 "typetext" : "<integer> (1 - N)"
12850 },
12851 "pmail" : {
12852 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
241ac83c
TL
12853 "maxLength" : 512,
12854 "minLength" : 3,
9fda36b0 12855 "optional" : 1,
241ac83c
TL
12856 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
12857 "type" : "string"
9fda36b0
DM
12858 },
12859 "starttime" : {
12860 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
12861 "minimum" : 0,
12862 "optional" : 1,
12863 "type" : "integer",
12864 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
12865 }
12866 }
12867 },
9fda36b0
DM
12868 "permissions" : {
12869 "check" : [
12870 "admin",
12871 "qmanager",
12872 "audit",
12873 "quser"
12874 ]
12875 },
12876 "returns" : {
12877 "items" : {
12878 "properties" : {
12879 "bytes" : {
12880 "description" : "Size of raw email.",
12881 "type" : "integer"
12882 },
12883 "envelope_sender" : {
12884 "description" : "SMTP envelope sender.",
12885 "type" : "string"
12886 },
12887 "from" : {
12888 "description" : "Header 'From' field.",
12889 "type" : "string"
12890 },
12891 "id" : {
12892 "description" : "Unique ID",
12893 "type" : "string"
12894 },
12895 "receiver" : {
12896 "description" : "Receiver email address",
12897 "type" : "string"
12898 },
12899 "sender" : {
12900 "description" : "Header 'Sender' field.",
12901 "optional" : 1,
12902 "type" : "string"
12903 },
12904 "spamlevel" : {
12905 "description" : "Spam score.",
12906 "type" : "number"
12907 },
12908 "subject" : {
12909 "description" : "Header 'Subject' field.",
12910 "type" : "string"
12911 },
12912 "time" : {
12913 "description" : "Receive time stamp",
12914 "type" : "integer"
410dc2c9
DM
12915 }
12916 },
9fda36b0 12917 "type" : "object"
410dc2c9 12918 },
9fda36b0
DM
12919 "type" : "array"
12920 }
12921 }
12922 },
12923 "leaf" : 1,
12924 "path" : "/quarantine/spam",
12925 "text" : "spam"
12926 },
12927 {
12928 "info" : {
12929 "GET" : {
12930 "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
12931 "method" : "GET",
12932 "name" : "virus",
12933 "parameters" : {
12934 "additionalProperties" : 0,
12935 "properties" : {
12936 "endtime" : {
12937 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
12938 "minimum" : 1,
12939 "optional" : 1,
12940 "type" : "integer",
12941 "typetext" : "<integer> (1 - N)"
410dc2c9 12942 },
9fda36b0
DM
12943 "starttime" : {
12944 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
12945 "minimum" : 0,
12946 "optional" : 1,
12947 "type" : "integer",
12948 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
12949 }
12950 }
12951 },
9fda36b0
DM
12952 "permissions" : {
12953 "check" : [
12954 "admin",
12955 "qmanager",
12956 "audit"
12957 ]
12958 },
12959 "returns" : {
12960 "items" : {
12961 "properties" : {
12962 "bytes" : {
12963 "description" : "Size of raw email.",
12964 "type" : "integer"
12965 },
12966 "envelope_sender" : {
12967 "description" : "SMTP envelope sender.",
12968 "type" : "string"
12969 },
12970 "from" : {
12971 "description" : "Header 'From' field.",
12972 "type" : "string"
12973 },
12974 "id" : {
12975 "description" : "Unique ID",
12976 "type" : "string"
12977 },
12978 "receiver" : {
12979 "description" : "Receiver email address",
12980 "type" : "string"
12981 },
12982 "sender" : {
12983 "description" : "Header 'Sender' field.",
12984 "optional" : 1,
12985 "type" : "string"
12986 },
12987 "subject" : {
12988 "description" : "Header 'Subject' field.",
12989 "type" : "string"
12990 },
12991 "time" : {
12992 "description" : "Receive time stamp",
12993 "type" : "integer"
12994 },
12995 "virusname" : {
12996 "description" : "Virus name.",
12997 "type" : "string"
d7cd791b
DM
12998 }
12999 },
9fda36b0
DM
13000 "type" : "object"
13001 },
13002 "type" : "array"
13003 }
13004 }
13005 },
13006 "leaf" : 1,
13007 "path" : "/quarantine/virus",
13008 "text" : "virus"
13009 },
13010 {
13011 "info" : {
13012 "GET" : {
13013 "description" : "Get Virus Quarantine Status",
13014 "method" : "GET",
13015 "name" : "virusstatus",
13016 "parameters" : {
13017 "additionalProperties" : 0
13018 },
13019 "permissions" : {
13020 "check" : [
13021 "admin",
13022 "qmanager",
13023 "audit"
13024 ]
13025 },
13026 "returns" : {
13027 "properties" : {
13028 "avgbytes" : {
13029 "description" : "Average size of stored mails in bytes.",
13030 "type" : "number"
13031 },
13032 "count" : {
13033 "description" : "Number of stored mails.",
13034 "type" : "integer"
13035 },
13036 "mbytes" : {
13037 "description" : "Estimated disk space usage in MByte.",
13038 "type" : "number"
d7cd791b 13039 }
9fda36b0
DM
13040 },
13041 "type" : "object"
13042 }
d7cd791b 13043 }
9fda36b0
DM
13044 },
13045 "leaf" : 1,
13046 "path" : "/quarantine/virusstatus",
13047 "text" : "virusstatus"
13048 },
13049 {
d7cd791b
DM
13050 "info" : {
13051 "GET" : {
9fda36b0 13052 "description" : "Get email data. There is a special formatter called 'htmlmail' to get sanitized html view of the mail content (use the '/api2/htmlmail/quarantine/content' url).",
d7cd791b 13053 "method" : "GET",
9fda36b0 13054 "name" : "content",
d7cd791b
DM
13055 "parameters" : {
13056 "additionalProperties" : 0,
13057 "properties" : {
9fda36b0
DM
13058 "id" : {
13059 "description" : "Unique ID",
274b47fc
DM
13060 "maxLength" : 60,
13061 "pattern" : "C\\d+R\\d+T\\d+",
9fda36b0
DM
13062 "type" : "string"
13063 },
13064 "raw" : {
13065 "default" : 0,
241ac83c 13066 "description" : "Display 'raw' eml data. Deactivates size limit.",
9fda36b0
DM
13067 "optional" : 1,
13068 "type" : "boolean",
13069 "typetext" : "<boolean>"
d7cd791b
DM
13070 }
13071 }
13072 },
13073 "permissions" : {
9fda36b0
DM
13074 "check" : [
13075 "admin",
13076 "qmanager",
13077 "audit",
13078 "quser"
13079 ]
d7cd791b
DM
13080 },
13081 "returns" : {
9fda36b0
DM
13082 "properties" : {
13083 "bytes" : {
13084 "description" : "Size of raw email.",
13085 "type" : "integer"
13086 },
13087 "content" : {
13088 "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The 'htmlmail' formatter displays the whole email.",
13089 "type" : "string"
13090 },
13091 "envelope_sender" : {
13092 "description" : "SMTP envelope sender.",
13093 "type" : "string"
13094 },
13095 "from" : {
13096 "description" : "Header 'From' field.",
13097 "type" : "string"
13098 },
13099 "header" : {
13100 "description" : "Raw email header data.",
13101 "type" : "string"
13102 },
13103 "id" : {
13104 "description" : "Unique ID",
13105 "type" : "string"
13106 },
13107 "receiver" : {
13108 "description" : "Receiver email address",
13109 "type" : "string"
13110 },
13111 "sender" : {
13112 "description" : "Header 'Sender' field.",
13113 "optional" : 1,
13114 "type" : "string"
13115 },
13116 "spaminfo" : {
13117 "description" : "Information about matched spam tests (name, score, desc, url).",
13118 "type" : "array"
13119 },
13120 "spamlevel" : {
13121 "description" : "Spam score.",
13122 "type" : "number"
13123 },
13124 "subject" : {
13125 "description" : "Header 'Subject' field.",
13126 "type" : "string"
13127 },
13128 "time" : {
13129 "description" : "Receive time stamp",
13130 "type" : "integer"
13131 }
d7cd791b 13132 },
9fda36b0
DM
13133 "type" : "object"
13134 }
13135 },
13136 "POST" : {
13137 "description" : "Execute quarantine actions.",
13138 "method" : "POST",
13139 "name" : "action",
13140 "parameters" : {
13141 "additionalProperties" : 0,
13142 "properties" : {
13143 "action" : {
13144 "description" : "Action - specify what you want to do with the mail.",
13145 "enum" : [
13146 "whitelist",
13147 "blacklist",
13148 "deliver",
13149 "delete"
13150 ],
13151 "type" : "string"
13152 },
13153 "id" : {
445686c9 13154 "description" : "Unique IDs, seperate with ;",
445686c9 13155 "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
9fda36b0 13156 "type" : "string"
410dc2c9 13157 }
9fda36b0
DM
13158 }
13159 },
13160 "permissions" : {
13161 "check" : [
13162 "admin",
13163 "qmanager",
13164 "quser"
13165 ]
13166 },
13167 "protected" : 1,
13168 "returns" : {
13169 "type" : "null"
410dc2c9
DM
13170 }
13171 }
13172 },
9fda36b0
DM
13173 "leaf" : 1,
13174 "path" : "/quarantine/content",
13175 "text" : "content"
410dc2c9
DM
13176 }
13177 ],
13178 "info" : {
13179 "GET" : {
9fda36b0 13180 "description" : "Directory index.",
410dc2c9
DM
13181 "method" : "GET",
13182 "name" : "index",
13183 "parameters" : {
13184 "additionalProperties" : 0
13185 },
13186 "permissions" : {
13187 "user" : "all"
13188 },
13189 "returns" : {
13190 "items" : {
13191 "properties" : {},
13192 "type" : "object"
13193 },
13194 "links" : [
13195 {
9fda36b0 13196 "href" : "{name}",
410dc2c9
DM
13197 "rel" : "child"
13198 }
13199 ],
13200 "type" : "array"
13201 }
13202 }
13203 },
13204 "leaf" : 0,
9fda36b0
DM
13205 "path" : "/quarantine",
13206 "text" : "quarantine"
410dc2c9
DM
13207 },
13208 {
13209 "children" : [
a55e94a6
DM
13210 {
13211 "children" : [
13212 {
13213 "info" : {
a55e94a6 13214 "GET" : {
9fda36b0 13215 "description" : "Detailed Contact Statistics.",
a55e94a6 13216 "method" : "GET",
9fda36b0 13217 "name" : "contactdetails",
a55e94a6
DM
13218 "parameters" : {
13219 "additionalProperties" : 0,
9fda36b0
DM
13220 "properties" : {
13221 "contact" : {
13222 "description" : "Contact email address.",
13223 "maxLength" : 512,
13224 "minLength" : 3,
241ac83c 13225 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
9fda36b0 13226 "type" : "string"
a55e94a6 13227 },
9fda36b0
DM
13228 "day" : {
13229 "description" : "Day of month. Get statistics for a single day.",
13230 "maximum" : 31,
13231 "minimum" : 1,
a55e94a6
DM
13232 "optional" : 1,
13233 "type" : "integer",
9fda36b0 13234 "typetext" : "<integer> (1 - 31)"
a55e94a6 13235 },
9fda36b0
DM
13236 "endtime" : {
13237 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13238 "minimum" : 1,
a55e94a6 13239 "optional" : 1,
9fda36b0
DM
13240 "type" : "integer",
13241 "typetext" : "<integer> (1 - N)"
a55e94a6 13242 },
9fda36b0
DM
13243 "filter" : {
13244 "description" : "Sender address filter.",
13245 "maxLength" : 512,
a55e94a6
DM
13246 "optional" : 1,
13247 "type" : "string",
13248 "typetext" : "<string>"
13249 },
9fda36b0
DM
13250 "month" : {
13251 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13252 "maximum" : 12,
13253 "minimum" : 1,
a55e94a6 13254 "optional" : 1,
9fda36b0
DM
13255 "type" : "integer",
13256 "typetext" : "<integer> (1 - 12)"
a55e94a6 13257 },
9fda36b0
DM
13258 "orderby" : {
13259 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
13260 "maxLength" : 4096,
a55e94a6
DM
13261 "optional" : 1,
13262 "type" : "string",
13263 "typetext" : "<string>"
13264 },
9fda36b0
DM
13265 "starttime" : {
13266 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13267 "minimum" : 0,
a55e94a6 13268 "optional" : 1,
9fda36b0
DM
13269 "type" : "integer",
13270 "typetext" : "<integer> (0 - N)"
a55e94a6 13271 },
9fda36b0
DM
13272 "year" : {
13273 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13274 "maximum" : 3000,
13275 "minimum" : 1900,
13276 "optional" : 1,
13277 "type" : "integer",
13278 "typetext" : "<integer> (1900 - 3000)"
a55e94a6
DM
13279 }
13280 }
13281 },
9fda36b0
DM
13282 "permissions" : {
13283 "check" : [
13284 "admin",
13285 "qmanager",
13286 "audit"
13287 ]
13288 },
a55e94a6 13289 "returns" : {
9fda36b0
DM
13290 "items" : {
13291 "properties" : {
13292 "blocked" : {
13293 "description" : "Mail was blocked.",
13294 "type" : "boolean"
13295 },
13296 "bytes" : {
13297 "description" : "Mail traffic (Bytes).",
13298 "type" : "number"
13299 },
13300 "sender" : {
13301 "description" : "Sender email.",
13302 "type" : "string"
13303 },
13304 "spamlevel" : {
13305 "description" : "Spam score.",
13306 "type" : "number"
13307 },
13308 "time" : {
13309 "description" : "Receive time stamp",
13310 "type" : "integer"
13311 },
13312 "virusinfo" : {
13313 "description" : "Virus name.",
13314 "optional" : 1,
13315 "type" : "string"
13316 }
13317 },
13318 "type" : "object"
13319 },
13320 "type" : "array"
a55e94a6
DM
13321 }
13322 }
13323 },
13324 "leaf" : 1,
9fda36b0
DM
13325 "path" : "/statistics/contact/{contact}",
13326 "text" : "{contact}"
a55e94a6
DM
13327 }
13328 ],
13329 "info" : {
13330 "GET" : {
9fda36b0 13331 "description" : "Contact Address Statistics.",
a55e94a6 13332 "method" : "GET",
9fda36b0 13333 "name" : "contact",
a55e94a6
DM
13334 "parameters" : {
13335 "additionalProperties" : 0,
13336 "properties" : {
9fda36b0
DM
13337 "day" : {
13338 "description" : "Day of month. Get statistics for a single day.",
13339 "maximum" : 31,
13340 "minimum" : 1,
a55e94a6
DM
13341 "optional" : 1,
13342 "type" : "integer",
9fda36b0 13343 "typetext" : "<integer> (1 - 31)"
a55e94a6 13344 },
9fda36b0
DM
13345 "endtime" : {
13346 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13347 "minimum" : 1,
410dc2c9 13348 "optional" : 1,
9fda36b0
DM
13349 "type" : "integer",
13350 "typetext" : "<integer> (1 - N)"
410dc2c9 13351 },
9fda36b0
DM
13352 "filter" : {
13353 "description" : "Contact address filter.",
13354 "maxLength" : 512,
13355 "optional" : 1,
410dc2c9
DM
13356 "type" : "string",
13357 "typetext" : "<string>"
13358 },
9fda36b0
DM
13359 "month" : {
13360 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13361 "maximum" : 12,
13362 "minimum" : 1,
410dc2c9 13363 "optional" : 1,
9fda36b0
DM
13364 "type" : "integer",
13365 "typetext" : "<integer> (1 - 12)"
410dc2c9 13366 },
9fda36b0
DM
13367 "orderby" : {
13368 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
13369 "maxLength" : 4096,
13370 "optional" : 1,
410dc2c9
DM
13371 "type" : "string",
13372 "typetext" : "<string>"
9fda36b0
DM
13373 },
13374 "starttime" : {
13375 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13376 "minimum" : 0,
13377 "optional" : 1,
13378 "type" : "integer",
13379 "typetext" : "<integer> (0 - N)"
13380 },
13381 "year" : {
13382 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13383 "maximum" : 3000,
13384 "minimum" : 1900,
13385 "optional" : 1,
13386 "type" : "integer",
13387 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
13388 }
13389 }
13390 },
13391 "permissions" : {
9fda36b0
DM
13392 "check" : [
13393 "admin",
13394 "qmanager",
13395 "audit"
13396 ]
410dc2c9 13397 },
410dc2c9 13398 "returns" : {
9fda36b0
DM
13399 "items" : {
13400 "properties" : {
13401 "bytes" : {
13402 "description" : "Mail traffic (Bytes).",
13403 "type" : "number"
13404 },
13405 "contact" : {
13406 "description" : "Contact email.",
13407 "type" : "string"
13408 },
13409 "count" : {
13410 "description" : "Mail count.",
13411 "optional" : 1,
13412 "type" : "number"
13413 },
13414 "viruscount" : {
13415 "description" : "Number of sent virus mails.",
13416 "optional" : 1,
13417 "type" : "number"
13418 }
410dc2c9 13419 },
9fda36b0 13420 "type" : "object"
410dc2c9 13421 },
9fda36b0
DM
13422 "links" : [
13423 {
13424 "href" : "{contact}",
13425 "rel" : "child"
13426 }
13427 ],
13428 "type" : "array"
410dc2c9
DM
13429 }
13430 }
13431 },
9fda36b0
DM
13432 "leaf" : 0,
13433 "path" : "/statistics/contact",
13434 "text" : "contact"
410dc2c9
DM
13435 },
13436 {
9fda36b0
DM
13437 "children" : [
13438 {
13439 "info" : {
13440 "GET" : {
13441 "description" : "Detailed Sender Statistics.",
13442 "method" : "GET",
13443 "name" : "senderdetails",
13444 "parameters" : {
13445 "additionalProperties" : 0,
13446 "properties" : {
13447 "day" : {
13448 "description" : "Day of month. Get statistics for a single day.",
13449 "maximum" : 31,
13450 "minimum" : 1,
13451 "optional" : 1,
13452 "type" : "integer",
13453 "typetext" : "<integer> (1 - 31)"
13454 },
13455 "endtime" : {
13456 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13457 "minimum" : 1,
13458 "optional" : 1,
13459 "type" : "integer",
13460 "typetext" : "<integer> (1 - N)"
13461 },
13462 "filter" : {
13463 "description" : "Receiver address filter.",
13464 "maxLength" : 512,
13465 "optional" : 1,
13466 "type" : "string",
13467 "typetext" : "<string>"
13468 },
13469 "month" : {
13470 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13471 "maximum" : 12,
13472 "minimum" : 1,
13473 "optional" : 1,
13474 "type" : "integer",
13475 "typetext" : "<integer> (1 - 12)"
13476 },
13477 "orderby" : {
13478 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
13479 "maxLength" : 4096,
13480 "optional" : 1,
13481 "type" : "string",
13482 "typetext" : "<string>"
13483 },
13484 "sender" : {
13485 "description" : "Sender email address.",
13486 "maxLength" : 512,
13487 "minLength" : 3,
241ac83c 13488 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
9fda36b0
DM
13489 "type" : "string"
13490 },
13491 "starttime" : {
13492 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13493 "minimum" : 0,
13494 "optional" : 1,
13495 "type" : "integer",
13496 "typetext" : "<integer> (0 - N)"
13497 },
13498 "year" : {
13499 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13500 "maximum" : 3000,
13501 "minimum" : 1900,
13502 "optional" : 1,
13503 "type" : "integer",
13504 "typetext" : "<integer> (1900 - 3000)"
13505 }
13506 }
13507 },
13508 "permissions" : {
13509 "check" : [
13510 "admin",
13511 "qmanager",
13512 "audit"
13513 ]
13514 },
13515 "returns" : {
13516 "items" : {
13517 "properties" : {
13518 "blocked" : {
13519 "description" : "Mail was blocked.",
13520 "type" : "boolean"
13521 },
13522 "bytes" : {
13523 "description" : "Mail traffic (Bytes).",
13524 "type" : "number"
13525 },
13526 "receiver" : {
13527 "description" : "Receiver email.",
13528 "type" : "string"
13529 },
13530 "spamlevel" : {
13531 "description" : "Spam score.",
13532 "type" : "number"
13533 },
13534 "time" : {
13535 "description" : "Receive time stamp",
13536 "type" : "integer"
13537 },
13538 "virusinfo" : {
13539 "description" : "Virus name.",
13540 "optional" : 1,
13541 "type" : "string"
13542 }
13543 },
13544 "type" : "object"
13545 },
13546 "type" : "array"
13547 }
13548 }
13549 },
13550 "leaf" : 1,
13551 "path" : "/statistics/sender/{sender}",
13552 "text" : "{sender}"
13553 }
13554 ],
410dc2c9 13555 "info" : {
9fda36b0
DM
13556 "GET" : {
13557 "description" : "Sender Address Statistics.",
13558 "method" : "GET",
13559 "name" : "sender",
410dc2c9
DM
13560 "parameters" : {
13561 "additionalProperties" : 0,
13562 "properties" : {
9fda36b0
DM
13563 "day" : {
13564 "description" : "Day of month. Get statistics for a single day.",
13565 "maximum" : 31,
13566 "minimum" : 1,
13567 "optional" : 1,
13568 "type" : "integer",
13569 "typetext" : "<integer> (1 - 31)"
13570 },
13571 "endtime" : {
13572 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13573 "minimum" : 1,
13574 "optional" : 1,
13575 "type" : "integer",
13576 "typetext" : "<integer> (1 - N)"
13577 },
13578 "filter" : {
13579 "description" : "Sender address filter.",
13580 "maxLength" : 512,
13581 "optional" : 1,
410dc2c9
DM
13582 "type" : "string",
13583 "typetext" : "<string>"
13584 },
9fda36b0
DM
13585 "month" : {
13586 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13587 "maximum" : 12,
13588 "minimum" : 1,
13589 "optional" : 1,
13590 "type" : "integer",
13591 "typetext" : "<integer> (1 - 12)"
13592 },
13593 "orderby" : {
13594 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
13595 "maxLength" : 4096,
13596 "optional" : 1,
410dc2c9
DM
13597 "type" : "string",
13598 "typetext" : "<string>"
9fda36b0
DM
13599 },
13600 "starttime" : {
13601 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13602 "minimum" : 0,
13603 "optional" : 1,
13604 "type" : "integer",
13605 "typetext" : "<integer> (0 - N)"
13606 },
13607 "year" : {
13608 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13609 "maximum" : 3000,
13610 "minimum" : 1900,
13611 "optional" : 1,
13612 "type" : "integer",
13613 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
13614 }
13615 }
13616 },
a55e94a6 13617 "permissions" : {
9fda36b0
DM
13618 "check" : [
13619 "admin",
13620 "qmanager",
13621 "audit"
13622 ]
a55e94a6 13623 },
410dc2c9 13624 "returns" : {
9fda36b0
DM
13625 "items" : {
13626 "properties" : {
13627 "bytes" : {
13628 "description" : "Mail traffic (Bytes).",
13629 "type" : "number"
13630 },
13631 "count" : {
13632 "description" : "Mail count.",
13633 "optional" : 1,
13634 "type" : "number"
13635 },
13636 "sender" : {
13637 "description" : "Sender email.",
13638 "type" : "string"
13639 },
13640 "viruscount" : {
13641 "description" : "Number of sent virus mails.",
13642 "optional" : 1,
13643 "type" : "number"
13644 }
13645 },
13646 "type" : "object"
13647 },
13648 "links" : [
13649 {
13650 "href" : "{sender}",
13651 "rel" : "child"
13652 }
13653 ],
13654 "type" : "array"
410dc2c9 13655 }
9fda36b0
DM
13656 }
13657 },
13658 "leaf" : 0,
13659 "path" : "/statistics/sender",
13660 "text" : "sender"
13661 },
d7cd791b
DM
13662 {
13663 "children" : [
13664 {
13665 "info" : {
9fda36b0
DM
13666 "GET" : {
13667 "description" : "Detailed Receiver Statistics.",
13668 "method" : "GET",
13669 "name" : "receiverdetails",
d7cd791b
DM
13670 "parameters" : {
13671 "additionalProperties" : 0,
13672 "properties" : {
9fda36b0
DM
13673 "day" : {
13674 "description" : "Day of month. Get statistics for a single day.",
13675 "maximum" : 31,
13676 "minimum" : 1,
13677 "optional" : 1,
13678 "type" : "integer",
13679 "typetext" : "<integer> (1 - 31)"
13680 },
13681 "endtime" : {
13682 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13683 "minimum" : 1,
13684 "optional" : 1,
13685 "type" : "integer",
13686 "typetext" : "<integer> (1 - N)"
13687 },
13688 "filter" : {
13689 "description" : "Sender address filter.",
d7cd791b 13690 "maxLength" : 512,
9fda36b0
DM
13691 "optional" : 1,
13692 "type" : "string",
13693 "typetext" : "<string>"
d7cd791b 13694 },
9fda36b0
DM
13695 "month" : {
13696 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13697 "maximum" : 12,
13698 "minimum" : 1,
13699 "optional" : 1,
13700 "type" : "integer",
13701 "typetext" : "<integer> (1 - 12)"
13702 },
13703 "orderby" : {
13704 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
13705 "maxLength" : 4096,
d7cd791b
DM
13706 "optional" : 1,
13707 "type" : "string",
13708 "typetext" : "<string>"
9fda36b0
DM
13709 },
13710 "receiver" : {
13711 "description" : "Receiver email address.",
13712 "maxLength" : 512,
13713 "minLength" : 3,
241ac83c 13714 "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
9fda36b0
DM
13715 "type" : "string"
13716 },
13717 "starttime" : {
13718 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13719 "minimum" : 0,
13720 "optional" : 1,
13721 "type" : "integer",
13722 "typetext" : "<integer> (0 - N)"
13723 },
13724 "year" : {
13725 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13726 "maximum" : 3000,
13727 "minimum" : 1900,
13728 "optional" : 1,
13729 "type" : "integer",
13730 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
13731 }
13732 }
13733 },
13734 "permissions" : {
13735 "check" : [
13736 "admin",
13737 "qmanager",
9fda36b0 13738 "audit"
d7cd791b
DM
13739 ]
13740 },
d7cd791b 13741 "returns" : {
9fda36b0
DM
13742 "items" : {
13743 "properties" : {
13744 "blocked" : {
13745 "description" : "Mail was blocked.",
13746 "type" : "boolean"
13747 },
13748 "bytes" : {
13749 "description" : "Mail traffic (Bytes).",
13750 "type" : "number"
13751 },
13752 "sender" : {
13753 "description" : "Sender email.",
13754 "type" : "string"
13755 },
13756 "spamlevel" : {
13757 "description" : "Spam score.",
13758 "type" : "number"
13759 },
13760 "time" : {
13761 "description" : "Receive time stamp",
13762 "type" : "integer"
13763 },
13764 "virusinfo" : {
13765 "description" : "Virus name.",
13766 "optional" : 1,
13767 "type" : "string"
13768 }
13769 },
13770 "type" : "object"
13771 },
13772 "type" : "array"
d7cd791b
DM
13773 }
13774 }
13775 },
13776 "leaf" : 1,
9fda36b0
DM
13777 "path" : "/statistics/receiver/{receiver}",
13778 "text" : "{receiver}"
d7cd791b
DM
13779 }
13780 ],
13781 "info" : {
13782 "GET" : {
9fda36b0 13783 "description" : "Receiver Address Statistics.",
d7cd791b 13784 "method" : "GET",
9fda36b0 13785 "name" : "receiver",
d7cd791b
DM
13786 "parameters" : {
13787 "additionalProperties" : 0,
13788 "properties" : {
9fda36b0
DM
13789 "day" : {
13790 "description" : "Day of month. Get statistics for a single day.",
13791 "maximum" : 31,
13792 "minimum" : 1,
13793 "optional" : 1,
13794 "type" : "integer",
13795 "typetext" : "<integer> (1 - 31)"
13796 },
13797 "endtime" : {
13798 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13799 "minimum" : 1,
13800 "optional" : 1,
13801 "type" : "integer",
13802 "typetext" : "<integer> (1 - N)"
13803 },
13804 "filter" : {
13805 "description" : "Receiver address filter.",
13806 "maxLength" : 512,
13807 "optional" : 1,
13808 "type" : "string",
13809 "typetext" : "<string>"
13810 },
13811 "month" : {
13812 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13813 "maximum" : 12,
13814 "minimum" : 1,
13815 "optional" : 1,
13816 "type" : "integer",
13817 "typetext" : "<integer> (1 - 12)"
13818 },
13819 "orderby" : {
13820 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
13821 "maxLength" : 4096,
d7cd791b
DM
13822 "optional" : 1,
13823 "type" : "string",
13824 "typetext" : "<string>"
9fda36b0
DM
13825 },
13826 "starttime" : {
13827 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13828 "minimum" : 0,
13829 "optional" : 1,
13830 "type" : "integer",
13831 "typetext" : "<integer> (0 - N)"
13832 },
13833 "year" : {
13834 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13835 "maximum" : 3000,
13836 "minimum" : 1900,
13837 "optional" : 1,
13838 "type" : "integer",
13839 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
13840 }
13841 }
13842 },
13843 "permissions" : {
13844 "check" : [
13845 "admin",
13846 "qmanager",
9fda36b0 13847 "audit"
d7cd791b
DM
13848 ]
13849 },
13850 "returns" : {
13851 "items" : {
13852 "properties" : {
9fda36b0
DM
13853 "bytes" : {
13854 "description" : "Mail traffic (Bytes).",
13855 "type" : "number"
13856 },
13857 "count" : {
13858 "description" : "Mail count.",
13859 "optional" : 1,
13860 "type" : "number"
13861 },
13862 "receiver" : {
13863 "description" : "Sender email.",
d7cd791b 13864 "type" : "string"
9fda36b0
DM
13865 },
13866 "spamcount" : {
13867 "description" : "Number of sent spam mails.",
13868 "optional" : 1,
13869 "type" : "number"
13870 },
13871 "viruscount" : {
13872 "description" : "Number of sent virus mails.",
13873 "optional" : 1,
13874 "type" : "number"
d7cd791b
DM
13875 }
13876 },
13877 "type" : "object"
13878 },
9fda36b0
DM
13879 "links" : [
13880 {
13881 "href" : "{receiver}",
13882 "rel" : "child"
d7cd791b 13883 }
9fda36b0
DM
13884 ],
13885 "type" : "array"
d7cd791b
DM
13886 }
13887 }
13888 },
13889 "leaf" : 0,
9fda36b0
DM
13890 "path" : "/statistics/receiver",
13891 "text" : "receiver"
d7cd791b
DM
13892 },
13893 {
d7cd791b
DM
13894 "info" : {
13895 "GET" : {
9fda36b0 13896 "description" : "Mail Domains Statistics.",
d7cd791b 13897 "method" : "GET",
9fda36b0 13898 "name" : "domains",
d7cd791b
DM
13899 "parameters" : {
13900 "additionalProperties" : 0,
13901 "properties" : {
9fda36b0
DM
13902 "day" : {
13903 "description" : "Day of month. Get statistics for a single day.",
13904 "maximum" : 31,
13905 "minimum" : 1,
13906 "optional" : 1,
13907 "type" : "integer",
13908 "typetext" : "<integer> (1 - 31)"
13909 },
13910 "endtime" : {
13911 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13912 "minimum" : 1,
13913 "optional" : 1,
13914 "type" : "integer",
13915 "typetext" : "<integer> (1 - N)"
13916 },
13917 "month" : {
13918 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
13919 "maximum" : 12,
13920 "minimum" : 1,
13921 "optional" : 1,
13922 "type" : "integer",
13923 "typetext" : "<integer> (1 - 12)"
13924 },
13925 "starttime" : {
13926 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13927 "minimum" : 0,
d7cd791b 13928 "optional" : 1,
9fda36b0
DM
13929 "type" : "integer",
13930 "typetext" : "<integer> (0 - N)"
13931 },
13932 "year" : {
13933 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
13934 "maximum" : 3000,
13935 "minimum" : 1900,
13936 "optional" : 1,
13937 "type" : "integer",
13938 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
13939 }
13940 }
13941 },
13942 "permissions" : {
13943 "check" : [
13944 "admin",
13945 "qmanager",
9fda36b0 13946 "audit"
d7cd791b
DM
13947 ]
13948 },
13949 "returns" : {
13950 "items" : {
13951 "properties" : {
274b47fc
DM
13952 "bytes_in" : {
13953 "description" : "Incoming mail traffic (Bytes).",
13954 "type" : "number"
13955 },
13956 "bytes_out" : {
13957 "description" : "Outgoing mail traffic (Bytes).",
13958 "type" : "number"
13959 },
9fda36b0
DM
13960 "count_in" : {
13961 "description" : "Incoming mail count.",
13962 "type" : "number"
13963 },
13964 "count_out" : {
13965 "description" : "Outgoing mail count.",
13966 "type" : "number"
13967 },
13968 "domain" : {
13969 "description" : "Domain name.",
d7cd791b 13970 "type" : "string"
9fda36b0 13971 },
9fda36b0
DM
13972 "spamcount_in" : {
13973 "description" : "Incoming spam mails.",
13974 "type" : "number"
13975 },
13976 "spamcount_out" : {
13977 "description" : "Outgoing spam mails.",
13978 "type" : "number"
13979 },
13980 "viruscount_in" : {
13981 "description" : "Number of incoming virus mails.",
13982 "type" : "number"
13983 },
13984 "viruscount_out" : {
13985 "description" : "Number of outgoing virus mails.",
13986 "type" : "number"
d7cd791b
DM
13987 }
13988 },
13989 "type" : "object"
13990 },
13991 "type" : "array"
13992 }
9fda36b0
DM
13993 }
13994 },
13995 "leaf" : 1,
13996 "path" : "/statistics/domains",
13997 "text" : "domains"
13998 },
13999 {
14000 "info" : {
14001 "GET" : {
14002 "description" : "General Mail Statistics.",
14003 "method" : "GET",
14004 "name" : "mail",
d7cd791b
DM
14005 "parameters" : {
14006 "additionalProperties" : 0,
14007 "properties" : {
9fda36b0
DM
14008 "day" : {
14009 "description" : "Day of month. Get statistics for a single day.",
14010 "maximum" : 31,
14011 "minimum" : 1,
14012 "optional" : 1,
14013 "type" : "integer",
14014 "typetext" : "<integer> (1 - 31)"
d7cd791b 14015 },
9fda36b0
DM
14016 "endtime" : {
14017 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14018 "minimum" : 1,
d7cd791b 14019 "optional" : 1,
9fda36b0
DM
14020 "type" : "integer",
14021 "typetext" : "<integer> (1 - N)"
14022 },
14023 "month" : {
14024 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
14025 "maximum" : 12,
14026 "minimum" : 1,
14027 "optional" : 1,
14028 "type" : "integer",
14029 "typetext" : "<integer> (1 - 12)"
14030 },
14031 "starttime" : {
14032 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14033 "minimum" : 0,
14034 "optional" : 1,
14035 "type" : "integer",
14036 "typetext" : "<integer> (0 - N)"
14037 },
14038 "year" : {
14039 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
14040 "maximum" : 3000,
14041 "minimum" : 1900,
14042 "optional" : 1,
14043 "type" : "integer",
14044 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
14045 }
14046 }
14047 },
14048 "permissions" : {
14049 "check" : [
14050 "admin",
14051 "qmanager",
9fda36b0 14052 "audit"
d7cd791b
DM
14053 ]
14054 },
d7cd791b 14055 "returns" : {
9fda36b0
DM
14056 "properties" : {
14057 "avptime" : {
14058 "description" : "Average mail processing time in seconds.",
14059 "type" : "number"
14060 },
14061 "bounces_in" : {
14062 "description" : "Incoming bounce mail count (sender = <>).",
14063 "type" : "number"
14064 },
14065 "bounces_out" : {
14066 "description" : "Outgoing bounce mail count (sender = <>).",
14067 "type" : "number"
14068 },
14069 "bytes_in" : {
14070 "description" : "Incoming mail traffic (bytes).",
14071 "type" : "number"
14072 },
14073 "bytes_out" : {
14074 "description" : "Outgoing mail traffic (bytes).",
14075 "type" : "number"
14076 },
14077 "count" : {
14078 "description" : "Overall mail count (in and out).",
14079 "type" : "number"
14080 },
14081 "count_in" : {
14082 "description" : "Incoming mail count.",
14083 "type" : "number"
14084 },
14085 "count_out" : {
14086 "description" : "Outgoing mail count.",
14087 "type" : "number"
14088 },
14089 "glcount" : {
14090 "description" : "Number of greylisted mails.",
14091 "type" : "number"
14092 },
14093 "junk_in" : {
274b47fc 14094 "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
14095 "type" : "number"
14096 },
14097 "junk_out" : {
14098 "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
14099 "type" : "number"
14100 },
274b47fc
DM
14101 "pregreet_rejects" : {
14102 "description" : "PREGREET recject count.",
14103 "type" : "integer"
14104 },
14105 "rbl_rejects" : {
14106 "description" : "Number of RBL rejects.",
14107 "type" : "integer"
14108 },
9fda36b0
DM
14109 "spamcount_in" : {
14110 "description" : "Incoming spam mails.",
14111 "type" : "number"
14112 },
14113 "spamcount_out" : {
14114 "description" : "Outgoing spam mails.",
14115 "type" : "number"
14116 },
14117 "spfcount" : {
14118 "description" : "Mails rejected by SPF.",
14119 "type" : "number"
14120 },
14121 "viruscount_in" : {
14122 "description" : "Number of incoming virus mails.",
14123 "type" : "number"
14124 },
14125 "viruscount_out" : {
14126 "description" : "Number of outgoing virus mails.",
14127 "type" : "number"
14128 }
14129 },
14130 "type" : "object"
d7cd791b
DM
14131 }
14132 }
14133 },
9fda36b0
DM
14134 "leaf" : 1,
14135 "path" : "/statistics/mail",
14136 "text" : "mail"
d7cd791b 14137 },
732d76e1
DM
14138 {
14139 "info" : {
14140 "GET" : {
14141 "description" : "Mail Count Statistics.",
14142 "method" : "GET",
14143 "name" : "recent",
14144 "parameters" : {
14145 "additionalProperties" : 0,
14146 "properties" : {
14147 "hours" : {
14148 "default" : 12,
14149 "description" : "How many hours you want to get",
14150 "maximum" : 24,
14151 "minimum" : 1,
14152 "optional" : 1,
14153 "type" : "integer",
14154 "typetext" : "<integer> (1 - 24)"
14155 },
14156 "timespan" : {
14157 "default" : 1800,
14158 "description" : "The Timespan for one datapoint (in seconds)",
14159 "maximum" : 1800,
14160 "minimum" : 1,
14161 "optional" : 1,
14162 "type" : "integer",
14163 "typetext" : "<integer> (1 - 1800)"
14164 }
14165 }
14166 },
14167 "permissions" : {
14168 "check" : [
14169 "admin",
14170 "qmanager",
14171 "audit"
14172 ]
14173 },
14174 "returns" : {
14175 "items" : {
14176 "properties" : {
14177 "bytes_in" : {
14178 "description" : "Number of incoming bytes mails.",
14179 "type" : "number"
14180 },
14181 "bytes_out" : {
14182 "description" : "Number of outgoing bytes mails.",
14183 "type" : "number"
14184 },
14185 "count" : {
14186 "description" : "Overall mail count (in and out).",
14187 "type" : "number"
14188 },
14189 "count_in" : {
14190 "description" : "Incoming mail count.",
14191 "type" : "number"
14192 },
14193 "count_out" : {
14194 "description" : "Outgoing mail count.",
14195 "type" : "number"
14196 },
14197 "index" : {
14198 "description" : "Time index.",
14199 "type" : "integer"
14200 },
14201 "spam" : {
14202 "description" : "Overall spam mail count (in and out).",
14203 "type" : "number"
14204 },
14205 "spam_in" : {
14206 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
14207 "type" : "number"
14208 },
14209 "spam_out" : {
14210 "description" : "Outgoing spam mails.",
14211 "type" : "number"
14212 },
14213 "time" : {
14214 "description" : "Time (Unix epoch).",
14215 "type" : "integer"
14216 },
14217 "timespan" : {
14218 "description" : "Timespan in seconds for one data point",
14219 "type" : "number"
14220 },
14221 "virus_in" : {
14222 "description" : "Number of incoming virus mails.",
14223 "type" : "number"
14224 },
14225 "virus_out" : {
14226 "description" : "Number of outgoing virus mails.",
14227 "type" : "number"
14228 }
14229 },
14230 "type" : "object"
14231 },
14232 "type" : "array"
14233 }
14234 }
14235 },
14236 "leaf" : 1,
14237 "path" : "/statistics/recent",
14238 "text" : "recent"
14239 },
14240 {
14241 "info" : {
14242 "GET" : {
14243 "description" : "Top recent Mail Receivers (including spam)",
14244 "method" : "GET",
14245 "name" : "recentreceivers",
14246 "parameters" : {
14247 "additionalProperties" : 0,
14248 "properties" : {
14249 "hours" : {
14250 "default" : 12,
14251 "description" : "How many hours you want to get",
14252 "maximum" : 24,
14253 "minimum" : 1,
14254 "optional" : 1,
14255 "type" : "integer",
14256 "typetext" : "<integer> (1 - 24)"
14257 },
14258 "limit" : {
14259 "default" : 5,
14260 "description" : "The maximum number of receivers to return.",
14261 "maximum" : 50,
14262 "minimum" : 1,
14263 "optional" : 1,
14264 "type" : "integer",
14265 "typetext" : "<integer> (1 - 50)"
14266 }
14267 }
14268 },
14269 "permissions" : {
14270 "check" : [
14271 "admin",
14272 "qmanager",
14273 "audit"
14274 ]
14275 },
14276 "returns" : {
14277 "items" : {
14278 "properties" : {
14279 "count" : {
14280 "description" : "The count of incoming not blocked E-Mails",
14281 "type" : "integer"
14282 },
14283 "receiver" : {
14284 "description" : "The receiver",
14285 "type" : "string"
14286 }
14287 },
14288 "type" : "object"
14289 },
14290 "type" : "array"
14291 }
14292 }
14293 },
14294 "leaf" : 1,
14295 "path" : "/statistics/recentreceivers",
14296 "text" : "recentreceivers"
14297 },
d7cd791b 14298 {
9fda36b0
DM
14299 "info" : {
14300 "GET" : {
14301 "description" : "Mail Count Statistics.",
14302 "method" : "GET",
14303 "name" : "mailcount",
14304 "parameters" : {
14305 "additionalProperties" : 0,
14306 "properties" : {
14307 "day" : {
14308 "description" : "Day of month. Get statistics for a single day.",
14309 "maximum" : 31,
14310 "minimum" : 1,
14311 "optional" : 1,
14312 "type" : "integer",
14313 "typetext" : "<integer> (1 - 31)"
d7cd791b 14314 },
9fda36b0
DM
14315 "endtime" : {
14316 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14317 "minimum" : 1,
14318 "optional" : 1,
14319 "type" : "integer",
14320 "typetext" : "<integer> (1 - N)"
d7cd791b 14321 },
9fda36b0
DM
14322 "month" : {
14323 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
14324 "maximum" : 12,
14325 "minimum" : 1,
14326 "optional" : 1,
14327 "type" : "integer",
14328 "typetext" : "<integer> (1 - 12)"
14329 },
14330 "starttime" : {
14331 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14332 "minimum" : 0,
14333 "optional" : 1,
14334 "type" : "integer",
14335 "typetext" : "<integer> (0 - N)"
14336 },
14337 "timespan" : {
14338 "default" : 3600,
14339 "description" : "Return Mails/<timespan>, where <timespan> is specified in seconds.",
14340 "maximum" : 31622400,
14341 "minimum" : 3600,
14342 "optional" : 1,
14343 "type" : "integer",
14344 "typetext" : "<integer> (3600 - 31622400)"
14345 },
14346 "year" : {
14347 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
14348 "maximum" : 3000,
14349 "minimum" : 1900,
14350 "optional" : 1,
14351 "type" : "integer",
14352 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
14353 }
14354 }
14355 },
9fda36b0
DM
14356 "permissions" : {
14357 "check" : [
14358 "admin",
14359 "qmanager",
14360 "audit"
14361 ]
14362 },
14363 "returns" : {
14364 "items" : {
14365 "properties" : {
14366 "bounces_in" : {
14367 "description" : "Incoming bounce mail count (sender = <>).",
14368 "type" : "number"
14369 },
14370 "bounces_out" : {
14371 "description" : "Outgoing bounce mail count (sender = <>).",
14372 "type" : "number"
14373 },
14374 "count" : {
14375 "description" : "Overall mail count (in and out).",
14376 "type" : "number"
14377 },
14378 "count_in" : {
14379 "description" : "Incoming mail count.",
14380 "type" : "number"
14381 },
14382 "count_out" : {
14383 "description" : "Outgoing mail count.",
14384 "type" : "number"
14385 },
14386 "index" : {
14387 "description" : "Time index.",
14388 "type" : "integer"
14389 },
274b47fc
DM
14390 "pregreet_rejects" : {
14391 "description" : "PREGREET recject count.",
14392 "type" : "integer"
14393 },
14394 "rbl_rejects" : {
14395 "description" : "Number of RBL rejects.",
14396 "type" : "integer"
14397 },
9fda36b0 14398 "spamcount_in" : {
274b47fc 14399 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
14400 "type" : "number"
14401 },
14402 "spamcount_out" : {
14403 "description" : "Outgoing spam mails.",
14404 "type" : "number"
14405 },
14406 "time" : {
14407 "description" : "Time (Unix epoch).",
14408 "type" : "integer"
14409 },
14410 "viruscount_in" : {
14411 "description" : "Number of incoming virus mails.",
14412 "type" : "number"
14413 },
14414 "viruscount_out" : {
14415 "description" : "Number of outgoing virus mails.",
14416 "type" : "number"
14417 }
14418 },
14419 "type" : "object"
14420 },
14421 "type" : "array"
14422 }
d7cd791b 14423 }
9fda36b0
DM
14424 },
14425 "leaf" : 1,
14426 "path" : "/statistics/mailcount",
14427 "text" : "mailcount"
14428 },
14429 {
d7cd791b
DM
14430 "info" : {
14431 "GET" : {
9fda36b0 14432 "description" : "Get Statistics about detected Viruses.",
d7cd791b 14433 "method" : "GET",
9fda36b0 14434 "name" : "virus",
d7cd791b
DM
14435 "parameters" : {
14436 "additionalProperties" : 0,
14437 "properties" : {
9fda36b0
DM
14438 "day" : {
14439 "description" : "Day of month. Get statistics for a single day.",
14440 "maximum" : 31,
14441 "minimum" : 1,
14442 "optional" : 1,
14443 "type" : "integer",
14444 "typetext" : "<integer> (1 - 31)"
14445 },
d7cd791b 14446 "endtime" : {
9fda36b0 14447 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
d7cd791b
DM
14448 "minimum" : 1,
14449 "optional" : 1,
14450 "type" : "integer",
14451 "typetext" : "<integer> (1 - N)"
14452 },
9fda36b0
DM
14453 "month" : {
14454 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
14455 "maximum" : 12,
14456 "minimum" : 1,
d7cd791b 14457 "optional" : 1,
9fda36b0
DM
14458 "type" : "integer",
14459 "typetext" : "<integer> (1 - 12)"
d7cd791b
DM
14460 },
14461 "starttime" : {
9fda36b0 14462 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
d7cd791b
DM
14463 "minimum" : 0,
14464 "optional" : 1,
14465 "type" : "integer",
14466 "typetext" : "<integer> (0 - N)"
9fda36b0
DM
14467 },
14468 "year" : {
14469 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
14470 "maximum" : 3000,
14471 "minimum" : 1900,
14472 "optional" : 1,
14473 "type" : "integer",
14474 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
14475 }
14476 }
14477 },
14478 "permissions" : {
14479 "check" : [
14480 "admin",
14481 "qmanager",
9fda36b0 14482 "audit"
d7cd791b
DM
14483 ]
14484 },
14485 "returns" : {
14486 "items" : {
14487 "properties" : {
14488 "count" : {
9fda36b0 14489 "description" : "Detection count.",
d7cd791b
DM
14490 "type" : "integer"
14491 },
9fda36b0
DM
14492 "name" : {
14493 "description" : "Virus name.",
14494 "type" : "string"
d7cd791b
DM
14495 }
14496 },
14497 "type" : "object"
14498 },
d7cd791b
DM
14499 "type" : "array"
14500 }
14501 }
14502 },
9fda36b0
DM
14503 "leaf" : 1,
14504 "path" : "/statistics/virus",
14505 "text" : "virus"
d7cd791b
DM
14506 },
14507 {
14508 "info" : {
14509 "GET" : {
9fda36b0 14510 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
d7cd791b 14511 "method" : "GET",
9fda36b0 14512 "name" : "spamscores",
d7cd791b
DM
14513 "parameters" : {
14514 "additionalProperties" : 0,
14515 "properties" : {
9fda36b0
DM
14516 "day" : {
14517 "description" : "Day of month. Get statistics for a single day.",
14518 "maximum" : 31,
14519 "minimum" : 1,
14520 "optional" : 1,
14521 "type" : "integer",
14522 "typetext" : "<integer> (1 - 31)"
d7cd791b 14523 },
9fda36b0
DM
14524 "endtime" : {
14525 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14526 "minimum" : 1,
d7cd791b 14527 "optional" : 1,
9fda36b0
DM
14528 "type" : "integer",
14529 "typetext" : "<integer> (1 - N)"
14530 },
14531 "month" : {
14532 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
14533 "maximum" : 12,
14534 "minimum" : 1,
14535 "optional" : 1,
14536 "type" : "integer",
14537 "typetext" : "<integer> (1 - 12)"
14538 },
14539 "starttime" : {
14540 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14541 "minimum" : 0,
14542 "optional" : 1,
14543 "type" : "integer",
14544 "typetext" : "<integer> (0 - N)"
14545 },
14546 "year" : {
14547 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
14548 "maximum" : 3000,
14549 "minimum" : 1900,
14550 "optional" : 1,
14551 "type" : "integer",
14552 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
14553 }
14554 }
14555 },
14556 "permissions" : {
14557 "check" : [
14558 "admin",
14559 "qmanager",
9fda36b0 14560 "audit"
d7cd791b
DM
14561 ]
14562 },
14563 "returns" : {
9fda36b0
DM
14564 "items" : {
14565 "properties" : {
14566 "count" : {
14567 "description" : "Detection count.",
14568 "type" : "integer"
14569 },
14570 "level" : {
14571 "description" : "Spam level.",
14572 "type" : "string"
14573 },
14574 "ratio" : {
14575 "description" : "Portion of overall mail count.",
14576 "type" : "number"
14577 }
d7cd791b 14578 },
9fda36b0
DM
14579 "type" : "object"
14580 },
14581 "type" : "array"
14582 }
14583 }
14584 },
14585 "leaf" : 1,
14586 "path" : "/statistics/spamscores",
14587 "text" : "spamscores"
14588 },
14589 {
14590 "info" : {
14591 "GET" : {
14592 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
14593 "method" : "GET",
14594 "name" : "maildistribution",
14595 "parameters" : {
14596 "additionalProperties" : 0,
14597 "properties" : {
14598 "day" : {
14599 "description" : "Day of month. Get statistics for a single day.",
14600 "maximum" : 31,
14601 "minimum" : 1,
d7cd791b 14602 "optional" : 1,
9fda36b0
DM
14603 "type" : "integer",
14604 "typetext" : "<integer> (1 - 31)"
d7cd791b 14605 },
9fda36b0
DM
14606 "endtime" : {
14607 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14608 "minimum" : 1,
14609 "optional" : 1,
14610 "type" : "integer",
14611 "typetext" : "<integer> (1 - N)"
d7cd791b 14612 },
9fda36b0
DM
14613 "month" : {
14614 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
14615 "maximum" : 12,
14616 "minimum" : 1,
14617 "optional" : 1,
14618 "type" : "integer",
14619 "typetext" : "<integer> (1 - 12)"
d7cd791b 14620 },
9fda36b0
DM
14621 "starttime" : {
14622 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14623 "minimum" : 0,
14624 "optional" : 1,
14625 "type" : "integer",
14626 "typetext" : "<integer> (0 - N)"
d7cd791b 14627 },
9fda36b0
DM
14628 "year" : {
14629 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
14630 "maximum" : 3000,
14631 "minimum" : 1900,
14632 "optional" : 1,
14633 "type" : "integer",
14634 "typetext" : "<integer> (1900 - 3000)"
d7cd791b 14635 }
9fda36b0
DM
14636 }
14637 },
14638 "permissions" : {
14639 "check" : [
14640 "admin",
14641 "qmanager",
14642 "audit"
14643 ]
14644 },
14645 "returns" : {
14646 "items" : {
14647 "properties" : {
14648 "bounces_in" : {
14649 "description" : "Incoming bounce mail count (sender = <>).",
14650 "type" : "number"
14651 },
14652 "bounces_out" : {
14653 "description" : "Outgoing bounce mail count (sender = <>).",
14654 "type" : "number"
14655 },
14656 "count" : {
14657 "description" : "Overall mail count (in and out).",
14658 "type" : "number"
14659 },
14660 "count_in" : {
14661 "description" : "Incoming mail count.",
14662 "type" : "number"
14663 },
14664 "count_out" : {
14665 "description" : "Outgoing mail count.",
14666 "type" : "number"
14667 },
14668 "index" : {
14669 "description" : "Hour (0-23).",
14670 "type" : "integer"
14671 },
14672 "spamcount_in" : {
14673 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
14674 "type" : "number"
14675 },
14676 "spamcount_out" : {
14677 "description" : "Outgoing spam mails.",
14678 "type" : "number"
14679 },
14680 "viruscount_in" : {
14681 "description" : "Number of incoming virus mails.",
14682 "type" : "number"
14683 },
14684 "viruscount_out" : {
14685 "description" : "Number of outgoing virus mails.",
14686 "type" : "number"
14687 }
14688 },
14689 "type" : "object"
d7cd791b 14690 },
9fda36b0 14691 "type" : "array"
d7cd791b 14692 }
9fda36b0
DM
14693 }
14694 },
14695 "leaf" : 1,
14696 "path" : "/statistics/maildistribution",
14697 "text" : "maildistribution"
14698 },
14699 {
14700 "info" : {
14701 "GET" : {
274b47fc 14702 "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
9fda36b0 14703 "method" : "GET",
274b47fc 14704 "name" : "rejectcount",
d7cd791b
DM
14705 "parameters" : {
14706 "additionalProperties" : 0,
14707 "properties" : {
9fda36b0
DM
14708 "day" : {
14709 "description" : "Day of month. Get statistics for a single day.",
14710 "maximum" : 31,
14711 "minimum" : 1,
14712 "optional" : 1,
14713 "type" : "integer",
14714 "typetext" : "<integer> (1 - 31)"
d7cd791b 14715 },
9fda36b0
DM
14716 "endtime" : {
14717 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14718 "minimum" : 1,
14719 "optional" : 1,
14720 "type" : "integer",
14721 "typetext" : "<integer> (1 - N)"
14722 },
14723 "month" : {
14724 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
14725 "maximum" : 12,
14726 "minimum" : 1,
14727 "optional" : 1,
14728 "type" : "integer",
14729 "typetext" : "<integer> (1 - 12)"
14730 },
14731 "starttime" : {
14732 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14733 "minimum" : 0,
14734 "optional" : 1,
14735 "type" : "integer",
14736 "typetext" : "<integer> (0 - N)"
14737 },
14738 "timespan" : {
14739 "default" : 3600,
274b47fc 14740 "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.",
9fda36b0
DM
14741 "maximum" : 31622400,
14742 "minimum" : 3600,
14743 "optional" : 1,
14744 "type" : "integer",
14745 "typetext" : "<integer> (3600 - 31622400)"
14746 },
14747 "year" : {
14748 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
14749 "maximum" : 3000,
14750 "minimum" : 1900,
14751 "optional" : 1,
14752 "type" : "integer",
14753 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
14754 }
14755 }
14756 },
14757 "permissions" : {
14758 "check" : [
14759 "admin",
14760 "qmanager",
9fda36b0 14761 "audit"
d7cd791b
DM
14762 ]
14763 },
d7cd791b 14764 "returns" : {
9fda36b0
DM
14765 "items" : {
14766 "properties" : {
9fda36b0
DM
14767 "index" : {
14768 "description" : "Time index.",
14769 "type" : "integer"
14770 },
274b47fc
DM
14771 "pregreet_rejects" : {
14772 "description" : "PREGREET recject count.",
14773 "type" : "integer"
14774 },
14775 "rbl_rejects" : {
14776 "description" : "RBL recject count.",
14777 "type" : "integer"
14778 },
9fda36b0
DM
14779 "time" : {
14780 "description" : "Time (Unix epoch).",
14781 "type" : "integer"
14782 }
14783 },
14784 "type" : "object"
14785 },
14786 "type" : "array"
d7cd791b
DM
14787 }
14788 }
14789 },
14790 "leaf" : 1,
274b47fc
DM
14791 "path" : "/statistics/rejectcount",
14792 "text" : "rejectcount"
d7cd791b
DM
14793 }
14794 ],
14795 "info" : {
14796 "GET" : {
14797 "description" : "Directory index.",
14798 "method" : "GET",
14799 "name" : "index",
14800 "parameters" : {
14801 "additionalProperties" : 0
14802 },
14803 "permissions" : {
9fda36b0
DM
14804 "check" : [
14805 "admin",
14806 "qmanager",
14807 "audit"
14808 ]
d7cd791b
DM
14809 },
14810 "returns" : {
14811 "items" : {
14812 "properties" : {},
14813 "type" : "object"
14814 },
14815 "links" : [
14816 {
14817 "href" : "{name}",
14818 "rel" : "child"
14819 }
14820 ],
14821 "type" : "array"
14822 }
14823 }
14824 },
14825 "leaf" : 0,
9fda36b0
DM
14826 "path" : "/statistics",
14827 "text" : "statistics"
d7cd791b 14828 },
410dc2c9
DM
14829 {
14830 "info" : {
14831 "GET" : {
14832 "description" : "API version details.",
14833 "method" : "GET",
14834 "name" : "version",
14835 "parameters" : {
14836 "additionalProperties" : 0
14837 },
14838 "permissions" : {
14839 "user" : "all"
14840 },
14841 "returns" : {
14842 "properties" : {
14843 "release" : {
241ac83c 14844 "description" : "The current installed Proxmox Mailgateway Release",
410dc2c9
DM
14845 "type" : "string"
14846 },
14847 "repoid" : {
241ac83c 14848 "description" : "The short git commit hash ID from which this version was build",
410dc2c9
DM
14849 "type" : "string"
14850 },
14851 "version" : {
241ac83c 14852 "description" : "The current installed pmg-api package version",
410dc2c9
DM
14853 "type" : "string"
14854 }
14855 },
14856 "type" : "object"
14857 }
14858 }
14859 },
14860 "leaf" : 1,
14861 "path" : "/version",
14862 "text" : "version"
14863 }
14864]
14865;
14866