]> git.proxmox.com Git - pmg-docs.git/blame - api-viewer/apidata.js
pmgqm: slightly reword OnCalendar override instructions
[pmg-docs.git] / api-viewer / apidata.js
CommitLineData
14ffe66b 1var apiSchema = [
410dc2c9
DM
2 {
3 "children" : [
4 {
5 "children" : [
d7cd791b
DM
6 {
7 "info" : {
8 "GET" : {
6bd70b95 9 "allowtoken" : 1,
d7cd791b
DM
10 "description" : "Returns the rule database digest. This is used internally for cluster synchronization.",
11 "method" : "GET",
12 "name" : "ruledb_digest",
13 "parameters" : {
14 "additionalProperties" : 0
15 },
732d76e1
DM
16 "permissions" : {
17 "check" : [
18 "admin",
19 "audit"
20 ]
21 },
d7cd791b
DM
22 "returns" : {
23 "type" : "string"
24 }
25 }
26 },
27 "leaf" : 1,
28 "path" : "/config/ruledb/digest",
29 "text" : "digest"
30 },
410dc2c9 31 {
f245a28c
DM
32 "children" : [
33 {
34 "children" : [
35 {
36 "info" : {
37 "GET" : {
6bd70b95 38 "allowtoken" : 1,
f245a28c
DM
39 "description" : "Get common rule properties.",
40 "method" : "GET",
41 "name" : "config",
42 "parameters" : {
43 "additionalProperties" : 0,
44 "properties" : {
45 "id" : {
46 "description" : "Rule ID.",
47 "type" : "integer",
48 "typetext" : "<integer>"
49 }
50 }
51 },
732d76e1
DM
52 "permissions" : {
53 "check" : [
54 "admin",
55 "audit"
56 ]
57 },
f245a28c
DM
58 "proxyto" : "master",
59 "returns" : {
60 "properties" : {
61 "active" : {
62 "type" : "boolean"
63 },
64 "direction" : {
65 "type" : "integer"
66 },
67 "id" : {
68 "type" : "integer"
69 },
70 "name" : {
71 "type" : "string"
72 },
73 "priority" : {
74 "type" : "integer"
75 }
76 },
77 "type" : "object"
78 }
79 },
80 "PUT" : {
6bd70b95 81 "allowtoken" : 1,
f245a28c
DM
82 "description" : "Set rule properties.",
83 "method" : "PUT",
84 "name" : "update_config",
85 "parameters" : {
86 "additionalProperties" : 0,
87 "properties" : {
88 "active" : {
89 "description" : "Flag to activate rule.",
90 "optional" : 1,
91 "type" : "boolean",
92 "typetext" : "<boolean>"
93 },
94 "direction" : {
d8212759 95 "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
f245a28c
DM
96 "maximum" : 2,
97 "minimum" : 0,
98 "optional" : 1,
99 "type" : "integer",
100 "typetext" : "<integer> (0 - 2)"
101 },
102 "id" : {
103 "description" : "Rule ID.",
104 "type" : "integer",
105 "typetext" : "<integer>"
106 },
107 "name" : {
108 "description" : "Rule name",
109 "optional" : 1,
110 "type" : "string",
111 "typetext" : "<string>"
112 },
113 "priority" : {
114 "description" : "Rule priotity.",
115 "maximum" : 100,
116 "minimum" : 0,
117 "optional" : 1,
118 "type" : "integer",
119 "typetext" : "<integer> (0 - 100)"
120 }
121 }
122 },
732d76e1
DM
123 "permissions" : {
124 "check" : [
125 "admin"
126 ]
127 },
f245a28c
DM
128 "protected" : 1,
129 "proxyto" : "master",
130 "returns" : {
131 "type" : "null"
132 }
133 }
134 },
135 "leaf" : 1,
136 "path" : "/config/ruledb/rules/{id}/config",
137 "text" : "config"
138 },
139 {
140 "children" : [
141 {
142 "info" : {
143 "DELETE" : {
6bd70b95 144 "allowtoken" : 1,
f245a28c
DM
145 "description" : "Delete group from 'from' list.",
146 "method" : "DELETE",
147 "name" : "delete_from_group",
148 "parameters" : {
149 "additionalProperties" : 0,
150 "properties" : {
151 "id" : {
152 "description" : "Rule ID.",
153 "type" : "integer",
154 "typetext" : "<integer>"
155 },
156 "ogroup" : {
157 "description" : "Groups ID.",
158 "type" : "integer",
159 "typetext" : "<integer>"
160 }
161 }
162 },
732d76e1
DM
163 "permissions" : {
164 "check" : [
165 "admin"
166 ]
167 },
f245a28c
DM
168 "protected" : 1,
169 "proxyto" : "master",
170 "returns" : {
171 "type" : "null"
172 }
173 }
174 },
175 "leaf" : 1,
176 "path" : "/config/ruledb/rules/{id}/from/{ogroup}",
177 "text" : "{ogroup}"
178 }
179 ],
180 "info" : {
181 "GET" : {
6bd70b95 182 "allowtoken" : 1,
f245a28c
DM
183 "description" : "Get 'from' group list.",
184 "method" : "GET",
185 "name" : "from",
186 "parameters" : {
187 "additionalProperties" : 0,
188 "properties" : {
189 "id" : {
190 "description" : "Rule ID.",
191 "type" : "integer",
192 "typetext" : "<integer>"
193 }
194 }
195 },
732d76e1
DM
196 "permissions" : {
197 "check" : [
198 "admin",
199 "audit"
200 ]
201 },
f245a28c
DM
202 "proxyto" : "master",
203 "returns" : {
204 "items" : {
205 "properties" : {
206 "id" : {
207 "type" : "integer"
208 }
209 },
210 "type" : "object"
211 },
212 "type" : "array"
213 }
214 },
215 "POST" : {
6bd70b95 216 "allowtoken" : 1,
f245a28c
DM
217 "description" : "Add group to 'from' list.",
218 "method" : "POST",
219 "name" : "add_from_group",
220 "parameters" : {
221 "additionalProperties" : 0,
222 "properties" : {
223 "id" : {
224 "description" : "Rule ID.",
225 "type" : "integer",
226 "typetext" : "<integer>"
227 },
228 "ogroup" : {
229 "description" : "Groups ID.",
230 "type" : "integer",
231 "typetext" : "<integer>"
232 }
233 }
234 },
732d76e1
DM
235 "permissions" : {
236 "check" : [
237 "admin"
238 ]
239 },
f245a28c
DM
240 "protected" : 1,
241 "proxyto" : "master",
242 "returns" : {
243 "type" : "null"
244 }
245 }
246 },
247 "leaf" : 0,
248 "path" : "/config/ruledb/rules/{id}/from",
249 "text" : "from"
250 },
251 {
252 "children" : [
253 {
254 "info" : {
255 "DELETE" : {
6bd70b95 256 "allowtoken" : 1,
f245a28c
DM
257 "description" : "Delete group from 'to' list.",
258 "method" : "DELETE",
259 "name" : "delete_to_group",
260 "parameters" : {
261 "additionalProperties" : 0,
262 "properties" : {
263 "id" : {
264 "description" : "Rule ID.",
265 "type" : "integer",
266 "typetext" : "<integer>"
267 },
268 "ogroup" : {
269 "description" : "Groups ID.",
270 "type" : "integer",
271 "typetext" : "<integer>"
272 }
273 }
274 },
732d76e1
DM
275 "permissions" : {
276 "check" : [
277 "admin"
278 ]
279 },
f245a28c
DM
280 "protected" : 1,
281 "proxyto" : "master",
282 "returns" : {
283 "type" : "null"
284 }
285 }
286 },
287 "leaf" : 1,
288 "path" : "/config/ruledb/rules/{id}/to/{ogroup}",
289 "text" : "{ogroup}"
290 }
291 ],
292 "info" : {
293 "GET" : {
6bd70b95 294 "allowtoken" : 1,
f245a28c
DM
295 "description" : "Get 'to' group list.",
296 "method" : "GET",
297 "name" : "to",
298 "parameters" : {
299 "additionalProperties" : 0,
300 "properties" : {
301 "id" : {
302 "description" : "Rule ID.",
303 "type" : "integer",
304 "typetext" : "<integer>"
305 }
306 }
307 },
732d76e1
DM
308 "permissions" : {
309 "check" : [
310 "admin",
311 "audit"
312 ]
313 },
f245a28c
DM
314 "proxyto" : "master",
315 "returns" : {
316 "items" : {
317 "properties" : {
318 "id" : {
319 "type" : "integer"
320 }
321 },
322 "type" : "object"
323 },
324 "type" : "array"
325 }
326 },
327 "POST" : {
6bd70b95 328 "allowtoken" : 1,
f245a28c
DM
329 "description" : "Add group to 'to' list.",
330 "method" : "POST",
331 "name" : "add_to_group",
332 "parameters" : {
333 "additionalProperties" : 0,
334 "properties" : {
335 "id" : {
336 "description" : "Rule ID.",
337 "type" : "integer",
338 "typetext" : "<integer>"
339 },
340 "ogroup" : {
341 "description" : "Groups ID.",
342 "type" : "integer",
343 "typetext" : "<integer>"
344 }
345 }
346 },
732d76e1
DM
347 "permissions" : {
348 "check" : [
349 "admin"
350 ]
351 },
f245a28c
DM
352 "protected" : 1,
353 "proxyto" : "master",
354 "returns" : {
355 "type" : "null"
356 }
357 }
358 },
359 "leaf" : 0,
360 "path" : "/config/ruledb/rules/{id}/to",
361 "text" : "to"
362 },
363 {
364 "children" : [
365 {
366 "info" : {
367 "DELETE" : {
6bd70b95 368 "allowtoken" : 1,
f245a28c
DM
369 "description" : "Delete group from 'when' list.",
370 "method" : "DELETE",
371 "name" : "delete_when_group",
372 "parameters" : {
373 "additionalProperties" : 0,
374 "properties" : {
375 "id" : {
376 "description" : "Rule ID.",
377 "type" : "integer",
378 "typetext" : "<integer>"
379 },
380 "ogroup" : {
381 "description" : "Groups ID.",
382 "type" : "integer",
383 "typetext" : "<integer>"
384 }
385 }
386 },
732d76e1
DM
387 "permissions" : {
388 "check" : [
389 "admin"
390 ]
391 },
f245a28c
DM
392 "protected" : 1,
393 "proxyto" : "master",
394 "returns" : {
395 "type" : "null"
396 }
397 }
398 },
399 "leaf" : 1,
400 "path" : "/config/ruledb/rules/{id}/when/{ogroup}",
401 "text" : "{ogroup}"
402 }
403 ],
404 "info" : {
405 "GET" : {
6bd70b95 406 "allowtoken" : 1,
f245a28c
DM
407 "description" : "Get 'when' group list.",
408 "method" : "GET",
409 "name" : "when",
410 "parameters" : {
411 "additionalProperties" : 0,
412 "properties" : {
413 "id" : {
414 "description" : "Rule ID.",
415 "type" : "integer",
416 "typetext" : "<integer>"
417 }
418 }
419 },
732d76e1
DM
420 "permissions" : {
421 "check" : [
422 "admin",
423 "audit"
424 ]
425 },
f245a28c
DM
426 "proxyto" : "master",
427 "returns" : {
428 "items" : {
429 "properties" : {
430 "id" : {
431 "type" : "integer"
432 }
433 },
434 "type" : "object"
435 },
436 "type" : "array"
437 }
438 },
439 "POST" : {
6bd70b95 440 "allowtoken" : 1,
f245a28c
DM
441 "description" : "Add group to 'when' list.",
442 "method" : "POST",
443 "name" : "add_when_group",
444 "parameters" : {
445 "additionalProperties" : 0,
446 "properties" : {
447 "id" : {
448 "description" : "Rule ID.",
449 "type" : "integer",
450 "typetext" : "<integer>"
451 },
452 "ogroup" : {
453 "description" : "Groups ID.",
454 "type" : "integer",
455 "typetext" : "<integer>"
456 }
457 }
458 },
732d76e1
DM
459 "permissions" : {
460 "check" : [
461 "admin"
462 ]
463 },
f245a28c
DM
464 "protected" : 1,
465 "proxyto" : "master",
466 "returns" : {
467 "type" : "null"
468 }
469 }
470 },
471 "leaf" : 0,
472 "path" : "/config/ruledb/rules/{id}/when",
473 "text" : "when"
474 },
475 {
476 "children" : [
477 {
478 "info" : {
479 "DELETE" : {
6bd70b95 480 "allowtoken" : 1,
f245a28c
DM
481 "description" : "Delete group from 'what' list.",
482 "method" : "DELETE",
483 "name" : "delete_what_group",
484 "parameters" : {
485 "additionalProperties" : 0,
486 "properties" : {
487 "id" : {
488 "description" : "Rule ID.",
489 "type" : "integer",
490 "typetext" : "<integer>"
491 },
492 "ogroup" : {
493 "description" : "Groups ID.",
494 "type" : "integer",
495 "typetext" : "<integer>"
496 }
497 }
498 },
732d76e1
DM
499 "permissions" : {
500 "check" : [
501 "admin"
502 ]
503 },
f245a28c
DM
504 "protected" : 1,
505 "proxyto" : "master",
506 "returns" : {
507 "type" : "null"
508 }
509 }
510 },
511 "leaf" : 1,
512 "path" : "/config/ruledb/rules/{id}/what/{ogroup}",
513 "text" : "{ogroup}"
514 }
515 ],
516 "info" : {
517 "GET" : {
6bd70b95 518 "allowtoken" : 1,
f245a28c
DM
519 "description" : "Get 'what' group list.",
520 "method" : "GET",
521 "name" : "what",
522 "parameters" : {
523 "additionalProperties" : 0,
524 "properties" : {
525 "id" : {
526 "description" : "Rule ID.",
527 "type" : "integer",
528 "typetext" : "<integer>"
529 }
530 }
531 },
732d76e1
DM
532 "permissions" : {
533 "check" : [
534 "admin",
535 "audit"
536 ]
537 },
f245a28c
DM
538 "proxyto" : "master",
539 "returns" : {
540 "items" : {
541 "properties" : {
542 "id" : {
543 "type" : "integer"
544 }
545 },
546 "type" : "object"
547 },
548 "type" : "array"
549 }
550 },
551 "POST" : {
6bd70b95 552 "allowtoken" : 1,
f245a28c
DM
553 "description" : "Add group to 'what' list.",
554 "method" : "POST",
555 "name" : "add_what_group",
556 "parameters" : {
557 "additionalProperties" : 0,
558 "properties" : {
559 "id" : {
560 "description" : "Rule ID.",
561 "type" : "integer",
562 "typetext" : "<integer>"
563 },
564 "ogroup" : {
565 "description" : "Groups ID.",
566 "type" : "integer",
567 "typetext" : "<integer>"
568 }
569 }
570 },
732d76e1
DM
571 "permissions" : {
572 "check" : [
573 "admin"
574 ]
575 },
f245a28c
DM
576 "protected" : 1,
577 "proxyto" : "master",
578 "returns" : {
579 "type" : "null"
580 }
581 }
582 },
583 "leaf" : 0,
584 "path" : "/config/ruledb/rules/{id}/what",
585 "text" : "what"
586 },
587 {
588 "children" : [
589 {
590 "info" : {
591 "DELETE" : {
6bd70b95 592 "allowtoken" : 1,
f245a28c
DM
593 "description" : "Delete group from 'action' list.",
594 "method" : "DELETE",
595 "name" : "delete_action_group",
596 "parameters" : {
597 "additionalProperties" : 0,
598 "properties" : {
599 "id" : {
600 "description" : "Rule ID.",
601 "type" : "integer",
602 "typetext" : "<integer>"
603 },
604 "ogroup" : {
605 "description" : "Groups ID.",
606 "type" : "integer",
607 "typetext" : "<integer>"
608 }
609 }
610 },
732d76e1
DM
611 "permissions" : {
612 "check" : [
613 "admin"
614 ]
615 },
f245a28c
DM
616 "protected" : 1,
617 "proxyto" : "master",
618 "returns" : {
619 "type" : "null"
620 }
621 }
622 },
623 "leaf" : 1,
624 "path" : "/config/ruledb/rules/{id}/action/{ogroup}",
625 "text" : "{ogroup}"
626 }
627 ],
628 "info" : {
629 "GET" : {
6bd70b95 630 "allowtoken" : 1,
f245a28c
DM
631 "description" : "Get 'action' group list.",
632 "method" : "GET",
633 "name" : "action",
634 "parameters" : {
635 "additionalProperties" : 0,
636 "properties" : {
637 "id" : {
638 "description" : "Rule ID.",
639 "type" : "integer",
640 "typetext" : "<integer>"
641 }
642 }
643 },
732d76e1
DM
644 "permissions" : {
645 "check" : [
646 "admin",
647 "audit"
648 ]
649 },
f245a28c
DM
650 "proxyto" : "master",
651 "returns" : {
652 "items" : {
653 "properties" : {
654 "id" : {
655 "type" : "integer"
656 }
657 },
658 "type" : "object"
659 },
660 "type" : "array"
661 }
662 },
663 "POST" : {
6bd70b95 664 "allowtoken" : 1,
f245a28c
DM
665 "description" : "Add group to 'action' list.",
666 "method" : "POST",
667 "name" : "add_action_group",
668 "parameters" : {
669 "additionalProperties" : 0,
670 "properties" : {
671 "id" : {
672 "description" : "Rule ID.",
673 "type" : "integer",
674 "typetext" : "<integer>"
675 },
676 "ogroup" : {
677 "description" : "Groups ID.",
678 "type" : "integer",
679 "typetext" : "<integer>"
680 }
681 }
682 },
732d76e1
DM
683 "permissions" : {
684 "check" : [
685 "admin"
686 ]
687 },
f245a28c
DM
688 "protected" : 1,
689 "proxyto" : "master",
690 "returns" : {
691 "type" : "null"
692 }
693 }
694 },
695 "leaf" : 0,
696 "path" : "/config/ruledb/rules/{id}/action",
697 "text" : "action"
698 }
699 ],
700 "info" : {
701 "DELETE" : {
6bd70b95 702 "allowtoken" : 1,
f245a28c
DM
703 "description" : "Delete rule.",
704 "method" : "DELETE",
705 "name" : "delete_rule",
706 "parameters" : {
707 "additionalProperties" : 0,
708 "properties" : {
709 "id" : {
710 "description" : "Rule ID.",
711 "type" : "integer",
712 "typetext" : "<integer>"
713 }
714 }
715 },
732d76e1
DM
716 "permissions" : {
717 "check" : [
718 "admin"
719 ]
720 },
d7cd791b
DM
721 "protected" : 1,
722 "proxyto" : "master",
f245a28c
DM
723 "returns" : {
724 "type" : "null"
725 }
726 },
727 "GET" : {
6bd70b95 728 "allowtoken" : 1,
f245a28c
DM
729 "description" : "Directory index.",
730 "method" : "GET",
731 "name" : "index",
732 "parameters" : {
733 "additionalProperties" : 0,
734 "properties" : {
735 "id" : {
736 "description" : "Rule ID.",
737 "type" : "integer",
738 "typetext" : "<integer>"
739 }
740 }
741 },
732d76e1
DM
742 "permissions" : {
743 "check" : [
744 "admin",
745 "audit"
746 ]
747 },
f245a28c
DM
748 "returns" : {
749 "items" : {
750 "properties" : {
751 "subdir" : {
752 "type" : "string"
753 }
754 },
755 "type" : "object"
756 },
757 "links" : [
758 {
759 "href" : "{subdir}",
760 "rel" : "child"
761 }
762 ],
763 "type" : "array"
764 }
765 }
766 },
767 "leaf" : 0,
768 "path" : "/config/ruledb/rules/{id}",
769 "text" : "{id}"
770 }
771 ],
772 "info" : {
773 "GET" : {
6bd70b95 774 "allowtoken" : 1,
f245a28c
DM
775 "description" : "Get list of rules.",
776 "method" : "GET",
777 "name" : "list_rules",
778 "parameters" : {
779 "additionalProperties" : 0
780 },
732d76e1
DM
781 "permissions" : {
782 "check" : [
783 "admin",
784 "audit"
785 ]
786 },
f245a28c
DM
787 "proxyto" : "master",
788 "returns" : {
789 "items" : {
790 "properties" : {
791 "id" : {
792 "type" : "integer"
793 }
794 },
795 "type" : "object"
796 },
797 "links" : [
798 {
799 "href" : "{id}",
800 "rel" : "child"
801 }
802 ],
803 "type" : "array"
804 }
805 },
806 "POST" : {
6bd70b95 807 "allowtoken" : 1,
f245a28c
DM
808 "description" : "Create new rule.",
809 "method" : "POST",
810 "name" : "create_rule",
811 "parameters" : {
812 "additionalProperties" : 0,
813 "properties" : {
814 "active" : {
815 "description" : "Flag to activate rule.",
816 "optional" : 1,
817 "type" : "boolean",
818 "typetext" : "<boolean>"
819 },
820 "direction" : {
d8212759 821 "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
f245a28c
DM
822 "maximum" : 2,
823 "minimum" : 0,
824 "optional" : 1,
825 "type" : "integer",
826 "typetext" : "<integer> (0 - 2)"
827 },
828 "name" : {
829 "description" : "Rule name",
830 "type" : "string",
831 "typetext" : "<string>"
832 },
833 "priority" : {
834 "description" : "Rule priotity.",
835 "maximum" : 100,
836 "minimum" : 0,
837 "type" : "integer",
838 "typetext" : "<integer> (0 - 100)"
839 }
840 }
841 },
732d76e1
DM
842 "permissions" : {
843 "check" : [
844 "admin"
845 ]
846 },
f245a28c
DM
847 "protected" : 1,
848 "proxyto" : "master",
849 "returns" : {
850 "type" : "integer"
851 }
852 }
853 },
854 "leaf" : 0,
855 "path" : "/config/ruledb/rules",
856 "text" : "rules"
857 },
858 {
859 "children" : [
860 {
861 "children" : [
862 {
863 "info" : {
864 "DELETE" : {
6bd70b95 865 "allowtoken" : 1,
f245a28c
DM
866 "description" : "Delete 'actions' object.",
867 "method" : "DELETE",
868 "name" : "delete_action",
869 "parameters" : {
870 "additionalProperties" : 0,
871 "properties" : {
872 "id" : {
873 "description" : "Action Object ID.",
874 "pattern" : "\\d+_\\d+",
875 "type" : "string"
876 }
877 }
878 },
732d76e1
DM
879 "permissions" : {
880 "check" : [
881 "admin"
882 ]
883 },
d7cd791b
DM
884 "protected" : 1,
885 "proxyto" : "master",
f245a28c
DM
886 "returns" : {
887 "type" : "null"
888 }
889 }
890 },
891 "leaf" : 1,
892 "path" : "/config/ruledb/action/objects/{id}",
893 "text" : "{id}"
894 }
895 ],
896 "info" : {
897 "GET" : {
6bd70b95 898 "allowtoken" : 1,
f245a28c
DM
899 "description" : "List 'actions' objects.",
900 "method" : "GET",
901 "name" : "list_actions",
902 "parameters" : {
903 "additionalProperties" : 0
904 },
732d76e1
DM
905 "permissions" : {
906 "check" : [
907 "admin",
908 "audit"
909 ]
910 },
d7cd791b 911 "proxyto" : "master",
f245a28c
DM
912 "returns" : {
913 "items" : {
914 "properties" : {
915 "id" : {
916 "description" : "Action Object ID.",
917 "pattern" : "\\d+_\\d+",
918 "type" : "string"
919 }
920 },
921 "type" : "object"
922 },
923 "links" : [
924 {
925 "href" : "{id}",
926 "rel" : "child"
927 }
928 ],
929 "type" : "array"
930 }
931 }
932 },
933 "leaf" : 0,
934 "path" : "/config/ruledb/action/objects",
935 "text" : "objects"
936 },
937 {
938 "children" : [
939 {
940 "info" : {
941 "GET" : {
6bd70b95 942 "allowtoken" : 1,
f245a28c
DM
943 "description" : "Read 'BCC' object settings.",
944 "method" : "GET",
945 "name" : "read_bcc",
946 "parameters" : {
947 "additionalProperties" : 0,
948 "properties" : {
949 "id" : {
950 "description" : "Action Object ID.",
951 "pattern" : "\\d+_\\d+",
952 "type" : "string"
953 }
954 }
955 },
732d76e1
DM
956 "permissions" : {
957 "check" : [
958 "admin",
959 "audit"
960 ]
961 },
f245a28c
DM
962 "proxyto" : "master",
963 "returns" : {
964 "properties" : {
965 "id" : {
966 "type" : "string"
967 }
968 },
969 "type" : "object"
970 }
971 },
972 "PUT" : {
6bd70b95 973 "allowtoken" : 1,
f245a28c
DM
974 "description" : "Update 'BCC' object.",
975 "method" : "PUT",
976 "name" : "update_bcc",
977 "parameters" : {
978 "additionalProperties" : 0,
979 "properties" : {
980 "id" : {
981 "description" : "Action Object ID.",
982 "pattern" : "\\d+_\\d+",
983 "type" : "string"
984 },
985 "info" : {
986 "description" : "Informational comment.",
987 "maxLength" : 255,
988 "optional" : 1,
989 "type" : "string",
990 "typetext" : "<string>"
991 },
992 "name" : {
993 "description" : "Action name.",
994 "maxLength" : 255,
995 "optional" : 1,
996 "type" : "string",
997 "typetext" : "<string>"
998 },
999 "original" : {
1000 "default" : 1,
1001 "description" : "Send the original, unmodified mail.",
1002 "optional" : 1,
1003 "type" : "boolean",
1004 "typetext" : "<boolean>"
1005 },
1006 "target" : {
1007 "description" : "Send a Blind Carbon Copy to this email address.",
1008 "format" : "email",
1009 "type" : "string",
1010 "typetext" : "<string>"
1011 }
1012 }
1013 },
732d76e1
DM
1014 "permissions" : {
1015 "check" : [
1016 "admin"
1017 ]
1018 },
d7cd791b 1019 "protected" : 1,
f245a28c
DM
1020 "proxyto" : "master",
1021 "returns" : {
1022 "type" : "null"
1023 }
1024 }
1025 },
1026 "leaf" : 1,
1027 "path" : "/config/ruledb/action/bcc/{id}",
1028 "text" : "{id}"
1029 }
1030 ],
1031 "info" : {
1032 "POST" : {
6bd70b95 1033 "allowtoken" : 1,
f245a28c
DM
1034 "description" : "Create 'BCC' object.",
1035 "method" : "POST",
1036 "name" : "bcc",
1037 "parameters" : {
1038 "additionalProperties" : 0,
1039 "properties" : {
1040 "info" : {
1041 "description" : "Informational comment.",
1042 "maxLength" : 255,
1043 "optional" : 1,
1044 "type" : "string",
1045 "typetext" : "<string>"
1046 },
1047 "name" : {
1048 "description" : "Action name.",
1049 "maxLength" : 255,
1050 "type" : "string",
1051 "typetext" : "<string>"
1052 },
1053 "original" : {
1054 "default" : 1,
1055 "description" : "Send the original, unmodified mail.",
1056 "optional" : 1,
1057 "type" : "boolean",
1058 "typetext" : "<boolean>"
1059 },
1060 "target" : {
1061 "description" : "Send a Blind Carbon Copy to this email address.",
1062 "format" : "email",
1063 "type" : "string",
1064 "typetext" : "<string>"
1065 }
1066 }
1067 },
732d76e1
DM
1068 "permissions" : {
1069 "check" : [
1070 "admin"
1071 ]
1072 },
d7cd791b 1073 "protected" : 1,
f245a28c
DM
1074 "proxyto" : "master",
1075 "returns" : {
1076 "description" : "The object ID.",
1077 "type" : "string"
1078 }
1079 }
1080 },
1081 "leaf" : 0,
1082 "path" : "/config/ruledb/action/bcc",
1083 "text" : "bcc"
732d76e1 1084 },
f245a28c
DM
1085 {
1086 "children" : [
1087 {
1088 "info" : {
1089 "GET" : {
6bd70b95 1090 "allowtoken" : 1,
732d76e1 1091 "description" : "Read 'Header Attribute' object settings.",
f245a28c 1092 "method" : "GET",
732d76e1 1093 "name" : "read_field",
f245a28c
DM
1094 "parameters" : {
1095 "additionalProperties" : 0,
1096 "properties" : {
732d76e1
DM
1097 "id" : {
1098 "description" : "Action Object ID.",
1099 "pattern" : "\\d+_\\d+",
1100 "type" : "string"
f245a28c
DM
1101 }
1102 }
1103 },
732d76e1
DM
1104 "permissions" : {
1105 "check" : [
1106 "admin",
1107 "audit"
1108 ]
1109 },
f245a28c
DM
1110 "proxyto" : "master",
1111 "returns" : {
1112 "properties" : {
1113 "id" : {
f245a28c
DM
1114 "type" : "string"
1115 }
1116 },
1117 "type" : "object"
1118 }
1119 },
1120 "PUT" : {
6bd70b95 1121 "allowtoken" : 1,
732d76e1 1122 "description" : "Update 'Header Attribute' object.",
f245a28c 1123 "method" : "PUT",
732d76e1 1124 "name" : "update_field",
f245a28c
DM
1125 "parameters" : {
1126 "additionalProperties" : 0,
1127 "properties" : {
732d76e1
DM
1128 "field" : {
1129 "description" : "The Field",
1130 "maxLength" : 1024,
1131 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1132 "type" : "string"
1133 },
1134 "id" : {
1135 "description" : "Action Object ID.",
1136 "pattern" : "\\d+_\\d+",
1137 "type" : "string"
1138 },
f245a28c
DM
1139 "info" : {
1140 "description" : "Informational comment.",
1141 "maxLength" : 255,
1142 "optional" : 1,
1143 "type" : "string",
1144 "typetext" : "<string>"
1145 },
1146 "name" : {
732d76e1 1147 "description" : "Action name.",
f245a28c
DM
1148 "maxLength" : 255,
1149 "optional" : 1,
1150 "type" : "string",
1151 "typetext" : "<string>"
1152 },
732d76e1
DM
1153 "value" : {
1154 "description" : "The Value",
1155 "maxLength" : 1024,
4a46ced6
DM
1156 "type" : "string",
1157 "typetext" : "<string>"
f245a28c
DM
1158 }
1159 }
1160 },
732d76e1
DM
1161 "permissions" : {
1162 "check" : [
1163 "admin"
1164 ]
1165 },
d7cd791b 1166 "protected" : 1,
f245a28c
DM
1167 "proxyto" : "master",
1168 "returns" : {
1169 "type" : "null"
1170 }
1171 }
1172 },
1173 "leaf" : 1,
732d76e1
DM
1174 "path" : "/config/ruledb/action/field/{id}",
1175 "text" : "{id}"
1176 }
1177 ],
1178 "info" : {
1179 "POST" : {
6bd70b95 1180 "allowtoken" : 1,
732d76e1
DM
1181 "description" : "Create 'Header Attribute' object.",
1182 "method" : "POST",
1183 "name" : "field",
1184 "parameters" : {
1185 "additionalProperties" : 0,
1186 "properties" : {
1187 "field" : {
1188 "description" : "The Field",
1189 "maxLength" : 1024,
1190 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1191 "type" : "string"
1192 },
f245a28c 1193 "info" : {
732d76e1
DM
1194 "description" : "Informational comment.",
1195 "maxLength" : 255,
1196 "optional" : 1,
1197 "type" : "string",
1198 "typetext" : "<string>"
1199 },
1200 "name" : {
1201 "description" : "Action name.",
1202 "maxLength" : 255,
1203 "type" : "string",
1204 "typetext" : "<string>"
1205 },
1206 "value" : {
1207 "description" : "The Value",
1208 "maxLength" : 1024,
4a46ced6
DM
1209 "type" : "string",
1210 "typetext" : "<string>"
732d76e1
DM
1211 }
1212 }
1213 },
1214 "permissions" : {
1215 "check" : [
1216 "admin"
1217 ]
1218 },
1219 "protected" : 1,
1220 "proxyto" : "master",
1221 "returns" : {
1222 "description" : "The object ID.",
1223 "type" : "string"
1224 }
1225 }
1226 },
1227 "leaf" : 0,
1228 "path" : "/config/ruledb/action/field",
1229 "text" : "field"
1230 },
1231 {
1232 "children" : [
1233 {
1234 "info" : {
1235 "GET" : {
6bd70b95 1236 "allowtoken" : 1,
732d76e1
DM
1237 "description" : "Read 'Notification' object settings.",
1238 "method" : "GET",
1239 "name" : "read_notification",
1240 "parameters" : {
1241 "additionalProperties" : 0,
1242 "properties" : {
1243 "id" : {
1244 "description" : "Action Object ID.",
1245 "pattern" : "\\d+_\\d+",
1246 "type" : "string"
1247 }
1248 }
1249 },
1250 "permissions" : {
1251 "check" : [
1252 "admin",
1253 "audit"
1254 ]
1255 },
1256 "proxyto" : "master",
1257 "returns" : {
1258 "properties" : {
1259 "id" : {
1260 "type" : "string"
1261 }
1262 },
1263 "type" : "object"
1264 }
1265 },
1266 "PUT" : {
6bd70b95 1267 "allowtoken" : 1,
732d76e1
DM
1268 "description" : "Update 'Notification' object.",
1269 "method" : "PUT",
1270 "name" : "update_notification",
1271 "parameters" : {
1272 "additionalProperties" : 0,
1273 "properties" : {
1274 "attach" : {
1275 "default" : 0,
1276 "description" : "Attach original E-Mail",
1277 "optional" : 1,
1278 "type" : "boolean",
1279 "typetext" : "<boolean>"
1280 },
1281 "body" : {
1282 "description" : "The Notification Body",
1283 "maxLength" : 2048,
1284 "type" : "string",
1285 "typetext" : "<string>"
1286 },
1287 "id" : {
1288 "description" : "Action Object ID.",
1289 "pattern" : "\\d+_\\d+",
1290 "type" : "string"
1291 },
1292 "info" : {
1293 "description" : "Informational comment.",
1294 "maxLength" : 255,
1295 "optional" : 1,
1296 "type" : "string",
1297 "typetext" : "<string>"
1298 },
1299 "name" : {
1300 "description" : "Action name.",
1301 "maxLength" : 255,
1302 "optional" : 1,
1303 "type" : "string",
1304 "typetext" : "<string>"
1305 },
1306 "subject" : {
1307 "description" : "The Notification subject",
1308 "maxLength" : 100,
1309 "type" : "string",
1310 "typetext" : "<string>"
1311 },
1312 "to" : {
1313 "description" : "The Receiver E-Mail address",
1314 "maxLength" : 200,
1315 "type" : "string",
1316 "typetext" : "<string>"
1317 }
1318 }
1319 },
1320 "permissions" : {
1321 "check" : [
1322 "admin"
1323 ]
1324 },
1325 "protected" : 1,
1326 "proxyto" : "master",
1327 "returns" : {
1328 "type" : "null"
1329 }
1330 }
1331 },
1332 "leaf" : 1,
1333 "path" : "/config/ruledb/action/notification/{id}",
1334 "text" : "{id}"
1335 }
1336 ],
1337 "info" : {
1338 "POST" : {
6bd70b95 1339 "allowtoken" : 1,
732d76e1
DM
1340 "description" : "Create 'Notification' object.",
1341 "method" : "POST",
1342 "name" : "notification",
1343 "parameters" : {
1344 "additionalProperties" : 0,
1345 "properties" : {
1346 "attach" : {
1347 "default" : 0,
1348 "description" : "Attach original E-Mail",
1349 "optional" : 1,
1350 "type" : "boolean",
1351 "typetext" : "<boolean>"
1352 },
1353 "body" : {
1354 "description" : "The Notification Body",
1355 "maxLength" : 2048,
1356 "type" : "string",
1357 "typetext" : "<string>"
1358 },
1359 "info" : {
1360 "description" : "Informational comment.",
1361 "maxLength" : 255,
1362 "optional" : 1,
1363 "type" : "string",
1364 "typetext" : "<string>"
1365 },
1366 "name" : {
1367 "description" : "Action name.",
1368 "maxLength" : 255,
1369 "type" : "string",
1370 "typetext" : "<string>"
1371 },
1372 "subject" : {
1373 "description" : "The Notification subject",
1374 "maxLength" : 100,
1375 "type" : "string",
1376 "typetext" : "<string>"
1377 },
1378 "to" : {
1379 "description" : "The Receiver E-Mail address",
1380 "maxLength" : 200,
1381 "type" : "string",
1382 "typetext" : "<string>"
1383 }
1384 }
1385 },
1386 "permissions" : {
1387 "check" : [
1388 "admin"
1389 ]
1390 },
1391 "protected" : 1,
1392 "proxyto" : "master",
1393 "returns" : {
1394 "description" : "The object ID.",
1395 "type" : "string"
1396 }
1397 }
1398 },
1399 "leaf" : 0,
1400 "path" : "/config/ruledb/action/notification",
1401 "text" : "notification"
1402 },
1403 {
1404 "children" : [
1405 {
1406 "info" : {
1407 "GET" : {
6bd70b95 1408 "allowtoken" : 1,
732d76e1
DM
1409 "description" : "Read 'Disclaimer' object settings.",
1410 "method" : "GET",
1411 "name" : "read_disclaimer",
1412 "parameters" : {
1413 "additionalProperties" : 0,
1414 "properties" : {
1415 "id" : {
1416 "description" : "Action Object ID.",
1417 "pattern" : "\\d+_\\d+",
1418 "type" : "string"
1419 }
1420 }
1421 },
1422 "permissions" : {
1423 "check" : [
1424 "admin",
1425 "audit"
1426 ]
1427 },
1428 "proxyto" : "master",
1429 "returns" : {
1430 "properties" : {
1431 "id" : {
1432 "type" : "string"
1433 }
1434 },
1435 "type" : "object"
1436 }
1437 },
1438 "PUT" : {
6bd70b95 1439 "allowtoken" : 1,
732d76e1
DM
1440 "description" : "Update 'Disclaimer' object.",
1441 "method" : "PUT",
1442 "name" : "update_disclaimer",
1443 "parameters" : {
1444 "additionalProperties" : 0,
1445 "properties" : {
1446 "disclaimer" : {
1447 "description" : "The Disclaimer",
1448 "maxLength" : 2048,
1449 "type" : "string",
1450 "typetext" : "<string>"
1451 },
1452 "id" : {
1453 "description" : "Action Object ID.",
1454 "pattern" : "\\d+_\\d+",
1455 "type" : "string"
1456 },
1457 "info" : {
1458 "description" : "Informational comment.",
1459 "maxLength" : 255,
1460 "optional" : 1,
1461 "type" : "string",
1462 "typetext" : "<string>"
1463 },
1464 "name" : {
1465 "description" : "Action name.",
1466 "maxLength" : 255,
1467 "optional" : 1,
1468 "type" : "string",
1469 "typetext" : "<string>"
1470 }
1471 }
1472 },
1473 "permissions" : {
1474 "check" : [
1475 "admin"
1476 ]
1477 },
1478 "protected" : 1,
1479 "proxyto" : "master",
1480 "returns" : {
1481 "type" : "null"
1482 }
1483 }
1484 },
1485 "leaf" : 1,
1486 "path" : "/config/ruledb/action/disclaimer/{id}",
1487 "text" : "{id}"
1488 }
1489 ],
1490 "info" : {
1491 "POST" : {
6bd70b95 1492 "allowtoken" : 1,
732d76e1
DM
1493 "description" : "Create 'Disclaimer' object.",
1494 "method" : "POST",
1495 "name" : "disclaimer",
1496 "parameters" : {
1497 "additionalProperties" : 0,
1498 "properties" : {
1499 "disclaimer" : {
1500 "description" : "The Disclaimer",
1501 "maxLength" : 2048,
1502 "type" : "string",
1503 "typetext" : "<string>"
1504 },
1505 "info" : {
1506 "description" : "Informational comment.",
1507 "maxLength" : 255,
1508 "optional" : 1,
1509 "type" : "string",
1510 "typetext" : "<string>"
1511 },
1512 "name" : {
1513 "description" : "Action name.",
1514 "maxLength" : 255,
1515 "type" : "string",
1516 "typetext" : "<string>"
1517 }
1518 }
1519 },
1520 "permissions" : {
1521 "check" : [
1522 "admin"
1523 ]
1524 },
1525 "protected" : 1,
1526 "proxyto" : "master",
1527 "returns" : {
1528 "description" : "The object ID.",
1529 "type" : "string"
1530 }
1531 }
1532 },
1533 "leaf" : 0,
1534 "path" : "/config/ruledb/action/disclaimer",
1535 "text" : "disclaimer"
1536 },
1537 {
1538 "children" : [
1539 {
1540 "info" : {
1541 "GET" : {
6bd70b95 1542 "allowtoken" : 1,
732d76e1
DM
1543 "description" : "Read 'Remove attachments' object settings.",
1544 "method" : "GET",
1545 "name" : "read_removeattachments",
1546 "parameters" : {
1547 "additionalProperties" : 0,
1548 "properties" : {
1549 "id" : {
1550 "description" : "Action Object ID.",
1551 "pattern" : "\\d+_\\d+",
1552 "type" : "string"
1553 }
1554 }
1555 },
1556 "permissions" : {
1557 "check" : [
1558 "admin",
1559 "audit"
1560 ]
1561 },
1562 "proxyto" : "master",
1563 "returns" : {
1564 "properties" : {
1565 "id" : {
1566 "type" : "string"
1567 }
1568 },
1569 "type" : "object"
1570 }
1571 },
1572 "PUT" : {
6bd70b95 1573 "allowtoken" : 1,
732d76e1
DM
1574 "description" : "Update 'Remove attachments' object.",
1575 "method" : "PUT",
1576 "name" : "update_removeattachments",
1577 "parameters" : {
1578 "additionalProperties" : 0,
1579 "properties" : {
1580 "all" : {
1581 "description" : "Remove all attachments",
1582 "optional" : 1,
1583 "type" : "boolean",
1584 "typetext" : "<boolean>"
1585 },
1586 "id" : {
1587 "description" : "Action Object ID.",
1588 "pattern" : "\\d+_\\d+",
1589 "type" : "string"
1590 },
1591 "info" : {
1592 "description" : "Informational comment.",
1593 "maxLength" : 255,
1594 "optional" : 1,
1595 "type" : "string",
1596 "typetext" : "<string>"
1597 },
1598 "name" : {
1599 "description" : "Action name.",
1600 "maxLength" : 255,
1601 "optional" : 1,
1602 "type" : "string",
1603 "typetext" : "<string>"
1604 },
d210277a
TL
1605 "quarantine" : {
1606 "default" : 0,
1607 "description" : "Copy original mail to attachment Quarantine.",
1608 "optional" : 1,
1609 "type" : "boolean",
1610 "typetext" : "<boolean>"
1611 },
732d76e1
DM
1612 "text" : {
1613 "description" : "The replacement text.",
1614 "maxLength" : 2048,
1615 "type" : "string",
1616 "typetext" : "<string>"
1617 }
1618 }
1619 },
1620 "permissions" : {
1621 "check" : [
1622 "admin"
1623 ]
1624 },
1625 "protected" : 1,
1626 "proxyto" : "master",
1627 "returns" : {
1628 "type" : "null"
1629 }
1630 }
1631 },
1632 "leaf" : 1,
1633 "path" : "/config/ruledb/action/removeattachments/{id}",
1634 "text" : "{id}"
1635 }
1636 ],
1637 "info" : {
1638 "POST" : {
6bd70b95 1639 "allowtoken" : 1,
732d76e1
DM
1640 "description" : "Create 'Remove attachments' object.",
1641 "method" : "POST",
1642 "name" : "removeattachments",
1643 "parameters" : {
1644 "additionalProperties" : 0,
1645 "properties" : {
1646 "all" : {
1647 "description" : "Remove all attachments",
1648 "optional" : 1,
1649 "type" : "boolean",
1650 "typetext" : "<boolean>"
1651 },
1652 "info" : {
1653 "description" : "Informational comment.",
1654 "maxLength" : 255,
1655 "optional" : 1,
1656 "type" : "string",
1657 "typetext" : "<string>"
1658 },
1659 "name" : {
1660 "description" : "Action name.",
1661 "maxLength" : 255,
1662 "type" : "string",
1663 "typetext" : "<string>"
1664 },
d210277a
TL
1665 "quarantine" : {
1666 "default" : 0,
1667 "description" : "Copy original mail to attachment Quarantine.",
1668 "optional" : 1,
1669 "type" : "boolean",
1670 "typetext" : "<boolean>"
1671 },
732d76e1
DM
1672 "text" : {
1673 "description" : "The replacement text.",
1674 "maxLength" : 2048,
1675 "type" : "string",
1676 "typetext" : "<string>"
1677 }
1678 }
1679 },
1680 "permissions" : {
1681 "check" : [
1682 "admin"
1683 ]
1684 },
1685 "protected" : 1,
1686 "proxyto" : "master",
1687 "returns" : {
1688 "description" : "The object ID.",
1689 "type" : "string"
1690 }
1691 }
1692 },
1693 "leaf" : 0,
1694 "path" : "/config/ruledb/action/removeattachments",
1695 "text" : "removeattachments"
1696 }
1697 ],
1698 "info" : {
1699 "GET" : {
6bd70b95 1700 "allowtoken" : 1,
732d76e1
DM
1701 "description" : "Directory index.",
1702 "method" : "GET",
1703 "name" : "index",
1704 "parameters" : {
1705 "additionalProperties" : 0
1706 },
1707 "permissions" : {
1708 "check" : [
1709 "admin",
1710 "audit"
1711 ]
1712 },
1713 "returns" : {
1714 "items" : {
1715 "properties" : {
1716 "subdir" : {
1717 "type" : "string"
1718 }
1719 },
1720 "type" : "object"
1721 },
1722 "links" : [
1723 {
1724 "href" : "{subdir}",
1725 "rel" : "child"
1726 }
1727 ],
1728 "type" : "array"
1729 }
1730 }
1731 },
1732 "leaf" : 0,
1733 "path" : "/config/ruledb/action",
1734 "text" : "action"
1735 },
1736 {
1737 "children" : [
1738 {
1739 "children" : [
1740 {
1741 "info" : {
1742 "GET" : {
6bd70b95 1743 "allowtoken" : 1,
732d76e1
DM
1744 "description" : "Get 'what' group properties",
1745 "method" : "GET",
1746 "name" : "get_config",
1747 "parameters" : {
1748 "additionalProperties" : 0,
1749 "properties" : {
1750 "ogroup" : {
1751 "description" : "Object Group ID.",
1752 "type" : "integer",
1753 "typetext" : "<integer>"
1754 }
1755 }
1756 },
1757 "permissions" : {
1758 "check" : [
1759 "admin",
1760 "audit"
1761 ]
1762 },
1763 "proxyto" : "master",
1764 "returns" : {
1765 "properties" : {
1766 "id" : {
1767 "type" : "integer"
1768 },
1769 "info" : {
1770 "type" : "string"
1771 },
1772 "name" : {
1773 "type" : "string"
1774 }
1775 },
1776 "type" : "object"
1777 }
1778 },
1779 "PUT" : {
6bd70b95 1780 "allowtoken" : 1,
732d76e1
DM
1781 "description" : "Modify 'what' group properties",
1782 "method" : "PUT",
1783 "name" : "set_config",
1784 "parameters" : {
1785 "additionalProperties" : 0,
1786 "properties" : {
1787 "info" : {
1788 "description" : "Informational comment.",
1789 "maxLength" : 255,
1790 "optional" : 1,
1791 "type" : "string",
1792 "typetext" : "<string>"
1793 },
1794 "name" : {
1795 "description" : "Group name.",
1796 "maxLength" : 255,
1797 "optional" : 1,
1798 "type" : "string",
1799 "typetext" : "<string>"
1800 },
1801 "ogroup" : {
1802 "description" : "Object Group ID.",
1803 "type" : "integer",
1804 "typetext" : "<integer>"
1805 }
1806 }
1807 },
1808 "permissions" : {
1809 "check" : [
1810 "admin"
1811 ]
1812 },
1813 "protected" : 1,
1814 "proxyto" : "master",
1815 "returns" : {
1816 "type" : "null"
1817 }
1818 }
1819 },
1820 "leaf" : 1,
1821 "path" : "/config/ruledb/what/{ogroup}/config",
1822 "text" : "config"
1823 },
1824 {
1825 "children" : [
1826 {
1827 "info" : {
1828 "DELETE" : {
6bd70b95 1829 "allowtoken" : 1,
732d76e1
DM
1830 "description" : "Remove an object from the 'what' group.",
1831 "method" : "DELETE",
1832 "name" : "delete_object",
1833 "parameters" : {
1834 "additionalProperties" : 0,
1835 "properties" : {
1836 "id" : {
1837 "description" : "Object ID.",
1838 "type" : "integer",
1839 "typetext" : "<integer>"
1840 },
1841 "ogroup" : {
1842 "description" : "Object Group ID.",
1843 "type" : "integer",
1844 "typetext" : "<integer>"
1845 }
1846 }
1847 },
1848 "permissions" : {
1849 "check" : [
1850 "admin"
1851 ]
1852 },
1853 "protected" : 1,
1854 "proxyto" : "master",
f245a28c
DM
1855 "returns" : {
1856 "type" : "null"
1857 }
1858 }
1859 },
1860 "leaf" : 1,
1861 "path" : "/config/ruledb/what/{ogroup}/objects/{id}",
1862 "text" : "{id}"
1863 }
1864 ],
1865 "info" : {
1866 "GET" : {
6bd70b95 1867 "allowtoken" : 1,
f245a28c
DM
1868 "description" : "List 'what' group objects.",
1869 "method" : "GET",
1870 "name" : "objects",
1871 "parameters" : {
1872 "additionalProperties" : 0,
1873 "properties" : {
1874 "ogroup" : {
1875 "description" : "Object Group ID.",
1876 "type" : "integer",
1877 "typetext" : "<integer>"
1878 }
1879 }
1880 },
732d76e1
DM
1881 "permissions" : {
1882 "check" : [
1883 "admin",
1884 "audit"
1885 ]
1886 },
f245a28c
DM
1887 "proxyto" : "master",
1888 "returns" : {
1889 "items" : {
1890 "properties" : {
1891 "id" : {
1892 "type" : "integer"
1893 }
1894 },
1895 "type" : "object"
1896 },
1897 "links" : [
1898 {
1899 "href" : "{id}",
1900 "rel" : "child"
1901 }
1902 ],
1903 "type" : "array"
1904 }
1905 }
1906 },
1907 "leaf" : 0,
1908 "path" : "/config/ruledb/what/{ogroup}/objects",
1909 "text" : "objects"
f245a28c 1910 },
9fda36b0
DM
1911 {
1912 "children" : [
1913 {
1914 "info" : {
1915 "GET" : {
6bd70b95 1916 "allowtoken" : 1,
9fda36b0
DM
1917 "description" : "Read 'ContentType Filter' object settings.",
1918 "method" : "GET",
1919 "name" : "read_contenttype",
1920 "parameters" : {
1921 "additionalProperties" : 0,
1922 "properties" : {
1923 "id" : {
1924 "description" : "Object ID.",
1925 "type" : "integer",
1926 "typetext" : "<integer>"
1927 },
1928 "ogroup" : {
1929 "description" : "Object Groups ID.",
1930 "type" : "integer",
1931 "typetext" : "<integer>"
1932 }
1933 }
1934 },
c061d61d
DM
1935 "permissions" : {
1936 "check" : [
1937 "admin",
1938 "audit"
1939 ]
1940 },
9fda36b0
DM
1941 "proxyto" : "master",
1942 "returns" : {
1943 "properties" : {
1944 "id" : {
1945 "type" : "integer"
1946 }
1947 },
1948 "type" : "object"
1949 }
1950 },
1951 "PUT" : {
6bd70b95 1952 "allowtoken" : 1,
9fda36b0
DM
1953 "description" : "Update 'ContentType Filter' object.",
1954 "method" : "PUT",
1955 "name" : "update_contenttype",
1956 "parameters" : {
1957 "additionalProperties" : 0,
1958 "properties" : {
1959 "contenttype" : {
1960 "description" : "Content Type",
1961 "maxLength" : 1024,
1962 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1963 "type" : "string"
1964 },
1965 "id" : {
1966 "description" : "Object ID.",
1967 "type" : "integer",
1968 "typetext" : "<integer>"
1969 },
1970 "ogroup" : {
1971 "description" : "Object Groups ID.",
1972 "type" : "integer",
1973 "typetext" : "<integer>"
1974 }
1975 }
1976 },
c061d61d
DM
1977 "permissions" : {
1978 "check" : [
1979 "admin"
1980 ]
1981 },
9fda36b0
DM
1982 "protected" : 1,
1983 "proxyto" : "master",
1984 "returns" : {
1985 "type" : "null"
1986 }
f245a28c
DM
1987 }
1988 },
9fda36b0
DM
1989 "leaf" : 1,
1990 "path" : "/config/ruledb/what/{ogroup}/contenttype/{id}",
1991 "text" : "{id}"
eff914dc 1992 }
9fda36b0 1993 ],
f245a28c 1994 "info" : {
9fda36b0 1995 "POST" : {
6bd70b95 1996 "allowtoken" : 1,
9fda36b0
DM
1997 "description" : "Add 'ContentType Filter' object.",
1998 "method" : "POST",
1999 "name" : "contenttype",
f245a28c
DM
2000 "parameters" : {
2001 "additionalProperties" : 0,
2002 "properties" : {
9fda36b0
DM
2003 "contenttype" : {
2004 "description" : "Content Type",
2005 "maxLength" : 1024,
2006 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
f245a28c 2007 "type" : "string"
f245a28c
DM
2008 },
2009 "ogroup" : {
9fda36b0 2010 "description" : "Object Groups ID.",
f245a28c
DM
2011 "type" : "integer",
2012 "typetext" : "<integer>"
2013 }
2014 }
2015 },
c061d61d
DM
2016 "permissions" : {
2017 "check" : [
2018 "admin"
2019 ]
2020 },
d7cd791b 2021 "protected" : 1,
f245a28c
DM
2022 "proxyto" : "master",
2023 "returns" : {
9fda36b0
DM
2024 "description" : "The object ID.",
2025 "type" : "integer"
f245a28c
DM
2026 }
2027 }
2028 },
9fda36b0
DM
2029 "leaf" : 0,
2030 "path" : "/config/ruledb/what/{ogroup}/contenttype",
2031 "text" : "contenttype"
f245a28c
DM
2032 },
2033 {
2034 "children" : [
2035 {
2036 "info" : {
9fda36b0 2037 "GET" : {
6bd70b95 2038 "allowtoken" : 1,
9fda36b0
DM
2039 "description" : "Read 'Match Field' object settings.",
2040 "method" : "GET",
2041 "name" : "read_matchfield",
f245a28c
DM
2042 "parameters" : {
2043 "additionalProperties" : 0,
2044 "properties" : {
2045 "id" : {
2046 "description" : "Object ID.",
2047 "type" : "integer",
2048 "typetext" : "<integer>"
2049 },
2050 "ogroup" : {
9fda36b0 2051 "description" : "Object Groups ID.",
f245a28c
DM
2052 "type" : "integer",
2053 "typetext" : "<integer>"
2054 }
2055 }
2056 },
c061d61d
DM
2057 "permissions" : {
2058 "check" : [
2059 "admin",
2060 "audit"
2061 ]
2062 },
f245a28c
DM
2063 "proxyto" : "master",
2064 "returns" : {
9fda36b0
DM
2065 "properties" : {
2066 "id" : {
2067 "type" : "integer"
2068 }
2069 },
2070 "type" : "object"
f245a28c 2071 }
9fda36b0
DM
2072 },
2073 "PUT" : {
6bd70b95 2074 "allowtoken" : 1,
9fda36b0
DM
2075 "description" : "Update 'Match Field' object.",
2076 "method" : "PUT",
2077 "name" : "update_matchfield",
2078 "parameters" : {
2079 "additionalProperties" : 0,
2080 "properties" : {
2081 "field" : {
2082 "description" : "The Field",
2083 "maxLength" : 1024,
2084 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2085 "type" : "string"
2086 },
2087 "id" : {
2088 "description" : "Object ID.",
2089 "type" : "integer",
2090 "typetext" : "<integer>"
2091 },
2092 "ogroup" : {
2093 "description" : "Object Groups ID.",
2094 "type" : "integer",
2095 "typetext" : "<integer>"
2096 },
2097 "value" : {
2098 "description" : "The Value",
2099 "maxLength" : 1024,
4a46ced6
DM
2100 "type" : "string",
2101 "typetext" : "<string>"
9fda36b0
DM
2102 }
2103 }
2104 },
c061d61d
DM
2105 "permissions" : {
2106 "check" : [
2107 "admin"
2108 ]
2109 },
9fda36b0
DM
2110 "protected" : 1,
2111 "proxyto" : "master",
2112 "returns" : {
2113 "type" : "null"
2114 }
2115 }
2116 },
2117 "leaf" : 1,
2118 "path" : "/config/ruledb/what/{ogroup}/matchfield/{id}",
2119 "text" : "{id}"
2120 }
2121 ],
f245a28c 2122 "info" : {
9fda36b0 2123 "POST" : {
6bd70b95 2124 "allowtoken" : 1,
9fda36b0
DM
2125 "description" : "Add 'Match Field' object.",
2126 "method" : "POST",
2127 "name" : "matchfield",
f245a28c
DM
2128 "parameters" : {
2129 "additionalProperties" : 0,
2130 "properties" : {
9fda36b0
DM
2131 "field" : {
2132 "description" : "The Field",
2133 "maxLength" : 1024,
2134 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2135 "type" : "string"
2136 },
f245a28c 2137 "ogroup" : {
9fda36b0 2138 "description" : "Object Groups ID.",
f245a28c
DM
2139 "type" : "integer",
2140 "typetext" : "<integer>"
9fda36b0
DM
2141 },
2142 "value" : {
2143 "description" : "The Value",
2144 "maxLength" : 1024,
4a46ced6
DM
2145 "type" : "string",
2146 "typetext" : "<string>"
f245a28c
DM
2147 }
2148 }
2149 },
c061d61d
DM
2150 "permissions" : {
2151 "check" : [
2152 "admin"
2153 ]
2154 },
9fda36b0 2155 "protected" : 1,
f245a28c
DM
2156 "proxyto" : "master",
2157 "returns" : {
9fda36b0
DM
2158 "description" : "The object ID.",
2159 "type" : "integer"
f245a28c
DM
2160 }
2161 }
2162 },
2163 "leaf" : 0,
9fda36b0
DM
2164 "path" : "/config/ruledb/what/{ogroup}/matchfield",
2165 "text" : "matchfield"
f245a28c
DM
2166 },
2167 {
2168 "children" : [
2169 {
2170 "info" : {
2171 "GET" : {
6bd70b95 2172 "allowtoken" : 1,
9fda36b0 2173 "description" : "Read 'Spam Filter' object settings.",
f245a28c 2174 "method" : "GET",
9fda36b0 2175 "name" : "read_spamfilter",
f245a28c
DM
2176 "parameters" : {
2177 "additionalProperties" : 0,
2178 "properties" : {
2179 "id" : {
2180 "description" : "Object ID.",
2181 "type" : "integer",
2182 "typetext" : "<integer>"
2183 },
2184 "ogroup" : {
2185 "description" : "Object Groups ID.",
2186 "type" : "integer",
2187 "typetext" : "<integer>"
2188 }
2189 }
2190 },
c061d61d
DM
2191 "permissions" : {
2192 "check" : [
2193 "admin",
2194 "audit"
2195 ]
2196 },
f245a28c
DM
2197 "proxyto" : "master",
2198 "returns" : {
2199 "properties" : {
2200 "id" : {
2201 "type" : "integer"
2202 }
2203 },
2204 "type" : "object"
2205 }
2206 },
2207 "PUT" : {
6bd70b95 2208 "allowtoken" : 1,
9fda36b0 2209 "description" : "Update 'Spam Filter' object.",
f245a28c 2210 "method" : "PUT",
9fda36b0 2211 "name" : "update_spamfilter",
f245a28c
DM
2212 "parameters" : {
2213 "additionalProperties" : 0,
2214 "properties" : {
f245a28c
DM
2215 "id" : {
2216 "description" : "Object ID.",
2217 "type" : "integer",
2218 "typetext" : "<integer>"
2219 },
2220 "ogroup" : {
2221 "description" : "Object Groups ID.",
2222 "type" : "integer",
2223 "typetext" : "<integer>"
2224 },
9fda36b0
DM
2225 "spamlevel" : {
2226 "description" : "Spam Level",
2227 "minimum" : 0,
2228 "type" : "integer",
2229 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2230 }
2231 }
2232 },
c061d61d
DM
2233 "permissions" : {
2234 "check" : [
2235 "admin"
2236 ]
2237 },
a55e94a6 2238 "protected" : 1,
f245a28c
DM
2239 "proxyto" : "master",
2240 "returns" : {
2241 "type" : "null"
2242 }
2243 }
2244 },
2245 "leaf" : 1,
9fda36b0 2246 "path" : "/config/ruledb/what/{ogroup}/spamfilter/{id}",
f245a28c
DM
2247 "text" : "{id}"
2248 }
2249 ],
2250 "info" : {
2251 "POST" : {
6bd70b95 2252 "allowtoken" : 1,
9fda36b0 2253 "description" : "Add 'Spam Filter' object.",
f245a28c 2254 "method" : "POST",
9fda36b0 2255 "name" : "spamfilter",
f245a28c
DM
2256 "parameters" : {
2257 "additionalProperties" : 0,
2258 "properties" : {
f245a28c
DM
2259 "ogroup" : {
2260 "description" : "Object Groups ID.",
2261 "type" : "integer",
2262 "typetext" : "<integer>"
2263 },
9fda36b0
DM
2264 "spamlevel" : {
2265 "description" : "Spam Level",
2266 "minimum" : 0,
2267 "type" : "integer",
2268 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2269 }
2270 }
2271 },
c061d61d
DM
2272 "permissions" : {
2273 "check" : [
2274 "admin"
2275 ]
2276 },
a55e94a6 2277 "protected" : 1,
f245a28c
DM
2278 "proxyto" : "master",
2279 "returns" : {
2280 "description" : "The object ID.",
2281 "type" : "integer"
2282 }
2283 }
2284 },
2285 "leaf" : 0,
9fda36b0
DM
2286 "path" : "/config/ruledb/what/{ogroup}/spamfilter",
2287 "text" : "spamfilter"
410dc2c9 2288 },
9fda36b0
DM
2289 {
2290 "children" : [
2291 {
2292 "info" : {
2293 "GET" : {
6bd70b95 2294 "allowtoken" : 1,
9fda36b0
DM
2295 "description" : "Read 'Archive Filter' object settings.",
2296 "method" : "GET",
2297 "name" : "read_archivefilter",
2298 "parameters" : {
2299 "additionalProperties" : 0,
2300 "properties" : {
2301 "id" : {
2302 "description" : "Object ID.",
2303 "type" : "integer",
2304 "typetext" : "<integer>"
2305 },
2306 "ogroup" : {
2307 "description" : "Object Groups ID.",
2308 "type" : "integer",
2309 "typetext" : "<integer>"
2310 }
2311 }
2312 },
c061d61d
DM
2313 "permissions" : {
2314 "check" : [
2315 "admin",
2316 "audit"
2317 ]
2318 },
9fda36b0
DM
2319 "proxyto" : "master",
2320 "returns" : {
2321 "properties" : {
2322 "id" : {
2323 "type" : "integer"
2324 }
2325 },
2326 "type" : "object"
2327 }
2328 },
2329 "PUT" : {
6bd70b95 2330 "allowtoken" : 1,
9fda36b0
DM
2331 "description" : "Update 'Archive Filter' object.",
2332 "method" : "PUT",
2333 "name" : "update_archivefilter",
2334 "parameters" : {
2335 "additionalProperties" : 0,
2336 "properties" : {
2337 "contenttype" : {
2338 "description" : "Content Type",
2339 "maxLength" : 1024,
2340 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2341 "type" : "string"
2342 },
2343 "id" : {
2344 "description" : "Object ID.",
2345 "type" : "integer",
2346 "typetext" : "<integer>"
2347 },
2348 "ogroup" : {
2349 "description" : "Object Groups ID.",
2350 "type" : "integer",
2351 "typetext" : "<integer>"
2352 }
2353 }
2354 },
c061d61d
DM
2355 "permissions" : {
2356 "check" : [
2357 "admin"
2358 ]
2359 },
9fda36b0
DM
2360 "protected" : 1,
2361 "proxyto" : "master",
2362 "returns" : {
2363 "type" : "null"
2364 }
2365 }
2366 },
2367 "leaf" : 1,
2368 "path" : "/config/ruledb/what/{ogroup}/archivefilter/{id}",
2369 "text" : "{id}"
f245a28c 2370 }
9fda36b0
DM
2371 ],
2372 "info" : {
2373 "POST" : {
6bd70b95 2374 "allowtoken" : 1,
9fda36b0
DM
2375 "description" : "Add 'Archive Filter' object.",
2376 "method" : "POST",
2377 "name" : "archivefilter",
2378 "parameters" : {
2379 "additionalProperties" : 0,
2380 "properties" : {
2381 "contenttype" : {
2382 "description" : "Content Type",
2383 "maxLength" : 1024,
2384 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2385 "type" : "string"
2386 },
2387 "ogroup" : {
2388 "description" : "Object Groups ID.",
2389 "type" : "integer",
2390 "typetext" : "<integer>"
2391 }
f245a28c
DM
2392 }
2393 },
c061d61d
DM
2394 "permissions" : {
2395 "check" : [
2396 "admin"
2397 ]
2398 },
9fda36b0
DM
2399 "protected" : 1,
2400 "proxyto" : "master",
2401 "returns" : {
2402 "description" : "The object ID.",
2403 "type" : "integer"
f245a28c 2404 }
eff914dc
DM
2405 }
2406 },
9fda36b0 2407 "leaf" : 0,
732d76e1
DM
2408 "path" : "/config/ruledb/what/{ogroup}/archivefilter",
2409 "text" : "archivefilter"
2410 },
2411 {
2412 "children" : [
2413 {
2414 "info" : {
2415 "GET" : {
6bd70b95 2416 "allowtoken" : 1,
732d76e1
DM
2417 "description" : "Read 'Match Filename' object settings.",
2418 "method" : "GET",
2419 "name" : "read_filenamefilter",
2420 "parameters" : {
2421 "additionalProperties" : 0,
2422 "properties" : {
2423 "id" : {
2424 "description" : "Object ID.",
2425 "type" : "integer",
2426 "typetext" : "<integer>"
2427 },
2428 "ogroup" : {
2429 "description" : "Object Groups ID.",
2430 "type" : "integer",
2431 "typetext" : "<integer>"
2432 }
2433 }
2434 },
c061d61d
DM
2435 "permissions" : {
2436 "check" : [
2437 "admin",
2438 "audit"
2439 ]
2440 },
732d76e1
DM
2441 "proxyto" : "master",
2442 "returns" : {
2443 "properties" : {
2444 "id" : {
2445 "type" : "integer"
2446 }
2447 },
2448 "type" : "object"
2449 }
2450 },
2451 "PUT" : {
6bd70b95 2452 "allowtoken" : 1,
732d76e1
DM
2453 "description" : "Update 'Match Filename' object.",
2454 "method" : "PUT",
2455 "name" : "update_filenamefilter",
2456 "parameters" : {
2457 "additionalProperties" : 0,
2458 "properties" : {
2459 "filename" : {
2460 "description" : "Filename filter",
2461 "maxLength" : 1024,
2462 "type" : "string",
2463 "typetext" : "<string>"
2464 },
2465 "id" : {
2466 "description" : "Object ID.",
2467 "type" : "integer",
2468 "typetext" : "<integer>"
2469 },
2470 "ogroup" : {
2471 "description" : "Object Groups ID.",
2472 "type" : "integer",
2473 "typetext" : "<integer>"
2474 }
2475 }
2476 },
c061d61d
DM
2477 "permissions" : {
2478 "check" : [
2479 "admin"
2480 ]
2481 },
732d76e1
DM
2482 "protected" : 1,
2483 "proxyto" : "master",
2484 "returns" : {
2485 "type" : "null"
2486 }
2487 }
2488 },
2489 "leaf" : 1,
2490 "path" : "/config/ruledb/what/{ogroup}/filenamefilter/{id}",
2491 "text" : "{id}"
2492 }
2493 ],
2494 "info" : {
2495 "POST" : {
6bd70b95 2496 "allowtoken" : 1,
732d76e1
DM
2497 "description" : "Add 'Match Filename' object.",
2498 "method" : "POST",
2499 "name" : "filenamefilter",
2500 "parameters" : {
2501 "additionalProperties" : 0,
2502 "properties" : {
2503 "filename" : {
2504 "description" : "Filename filter",
2505 "maxLength" : 1024,
2506 "type" : "string",
2507 "typetext" : "<string>"
2508 },
2509 "ogroup" : {
2510 "description" : "Object Groups ID.",
2511 "type" : "integer",
2512 "typetext" : "<integer>"
2513 }
2514 }
2515 },
c061d61d
DM
2516 "permissions" : {
2517 "check" : [
2518 "admin"
2519 ]
2520 },
732d76e1
DM
2521 "protected" : 1,
2522 "proxyto" : "master",
2523 "returns" : {
2524 "description" : "The object ID.",
2525 "type" : "integer"
2526 }
2527 }
2528 },
2529 "leaf" : 0,
2530 "path" : "/config/ruledb/what/{ogroup}/filenamefilter",
2531 "text" : "filenamefilter"
410dc2c9 2532 },
9fda36b0
DM
2533 {
2534 "children" : [
2535 {
2536 "info" : {
2537 "GET" : {
6bd70b95 2538 "allowtoken" : 1,
732d76e1 2539 "description" : "Read 'Virus Filter' object settings.",
9fda36b0 2540 "method" : "GET",
732d76e1 2541 "name" : "read_virusfilter",
9fda36b0
DM
2542 "parameters" : {
2543 "additionalProperties" : 0,
2544 "properties" : {
2545 "id" : {
2546 "description" : "Object ID.",
2547 "type" : "integer",
2548 "typetext" : "<integer>"
2549 },
2550 "ogroup" : {
2551 "description" : "Object Groups ID.",
2552 "type" : "integer",
2553 "typetext" : "<integer>"
2554 }
2555 }
2556 },
c061d61d
DM
2557 "permissions" : {
2558 "check" : [
2559 "admin",
2560 "audit"
2561 ]
2562 },
9fda36b0
DM
2563 "proxyto" : "master",
2564 "returns" : {
2565 "properties" : {
2566 "id" : {
2567 "type" : "integer"
2568 }
2569 },
2570 "type" : "object"
2571 }
2572 },
2573 "PUT" : {
6bd70b95 2574 "allowtoken" : 1,
732d76e1 2575 "description" : "Update 'Virus Filter' object.",
9fda36b0 2576 "method" : "PUT",
732d76e1 2577 "name" : "update_virusfilter",
9fda36b0
DM
2578 "parameters" : {
2579 "additionalProperties" : 0,
2580 "properties" : {
9fda36b0
DM
2581 "id" : {
2582 "description" : "Object ID.",
2583 "type" : "integer",
2584 "typetext" : "<integer>"
2585 },
2586 "ogroup" : {
2587 "description" : "Object Groups ID.",
2588 "type" : "integer",
2589 "typetext" : "<integer>"
2590 }
2591 }
2592 },
c061d61d
DM
2593 "permissions" : {
2594 "check" : [
2595 "admin"
2596 ]
2597 },
9fda36b0
DM
2598 "protected" : 1,
2599 "proxyto" : "master",
2600 "returns" : {
2601 "type" : "null"
2602 }
2603 }
2604 },
2605 "leaf" : 1,
732d76e1 2606 "path" : "/config/ruledb/what/{ogroup}/virusfilter/{id}",
9fda36b0
DM
2607 "text" : "{id}"
2608 }
2609 ],
2610 "info" : {
2611 "POST" : {
6bd70b95 2612 "allowtoken" : 1,
732d76e1 2613 "description" : "Add 'Virus Filter' object.",
9fda36b0 2614 "method" : "POST",
732d76e1 2615 "name" : "virusfilter",
9fda36b0
DM
2616 "parameters" : {
2617 "additionalProperties" : 0,
2618 "properties" : {
9fda36b0
DM
2619 "ogroup" : {
2620 "description" : "Object Groups ID.",
2621 "type" : "integer",
2622 "typetext" : "<integer>"
2623 }
2624 }
2625 },
c061d61d
DM
2626 "permissions" : {
2627 "check" : [
2628 "admin"
2629 ]
2630 },
9fda36b0
DM
2631 "protected" : 1,
2632 "proxyto" : "master",
2633 "returns" : {
2634 "description" : "The object ID.",
2635 "type" : "integer"
2636 }
2637 }
2638 },
2639 "leaf" : 0,
732d76e1
DM
2640 "path" : "/config/ruledb/what/{ogroup}/virusfilter",
2641 "text" : "virusfilter"
549cfb68
TL
2642 },
2643 {
2644 "children" : [
2645 {
2646 "info" : {
2647 "GET" : {
2648 "allowtoken" : 1,
2649 "description" : "Read 'Match Archive Filename' object settings.",
2650 "method" : "GET",
2651 "name" : "read_archivefilenamefilter",
2652 "parameters" : {
2653 "additionalProperties" : 0,
2654 "properties" : {
2655 "id" : {
2656 "description" : "Object ID.",
2657 "type" : "integer",
2658 "typetext" : "<integer>"
2659 },
2660 "ogroup" : {
2661 "description" : "Object Groups ID.",
2662 "type" : "integer",
2663 "typetext" : "<integer>"
2664 }
2665 }
2666 },
2667 "permissions" : {
2668 "check" : [
2669 "admin",
2670 "audit"
2671 ]
2672 },
2673 "proxyto" : "master",
2674 "returns" : {
2675 "properties" : {
2676 "id" : {
2677 "type" : "integer"
2678 }
2679 },
2680 "type" : "object"
2681 }
2682 },
2683 "PUT" : {
2684 "allowtoken" : 1,
2685 "description" : "Update 'Match Archive Filename' object.",
2686 "method" : "PUT",
2687 "name" : "update_archivefilenamefilter",
2688 "parameters" : {
2689 "additionalProperties" : 0,
2690 "properties" : {
2691 "filename" : {
2692 "description" : "Filename filter",
2693 "maxLength" : 1024,
2694 "type" : "string",
2695 "typetext" : "<string>"
2696 },
2697 "id" : {
2698 "description" : "Object ID.",
2699 "type" : "integer",
2700 "typetext" : "<integer>"
2701 },
2702 "ogroup" : {
2703 "description" : "Object Groups ID.",
2704 "type" : "integer",
2705 "typetext" : "<integer>"
2706 }
2707 }
2708 },
2709 "permissions" : {
2710 "check" : [
2711 "admin"
2712 ]
2713 },
2714 "protected" : 1,
2715 "proxyto" : "master",
2716 "returns" : {
2717 "type" : "null"
2718 }
2719 }
2720 },
2721 "leaf" : 1,
2722 "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter/{id}",
2723 "text" : "{id}"
2724 }
2725 ],
2726 "info" : {
2727 "POST" : {
2728 "allowtoken" : 1,
2729 "description" : "Add 'Match Archive Filename' object.",
2730 "method" : "POST",
2731 "name" : "archivefilenamefilter",
2732 "parameters" : {
2733 "additionalProperties" : 0,
2734 "properties" : {
2735 "filename" : {
2736 "description" : "Filename filter",
2737 "maxLength" : 1024,
2738 "type" : "string",
2739 "typetext" : "<string>"
2740 },
2741 "ogroup" : {
2742 "description" : "Object Groups ID.",
2743 "type" : "integer",
2744 "typetext" : "<integer>"
2745 }
2746 }
2747 },
2748 "permissions" : {
2749 "check" : [
2750 "admin"
2751 ]
2752 },
2753 "protected" : 1,
2754 "proxyto" : "master",
2755 "returns" : {
2756 "description" : "The object ID.",
2757 "type" : "integer"
2758 }
2759 }
2760 },
2761 "leaf" : 0,
2762 "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter",
2763 "text" : "archivefilenamefilter"
9fda36b0
DM
2764 }
2765 ],
2766 "info" : {
2767 "DELETE" : {
6bd70b95 2768 "allowtoken" : 1,
9fda36b0
DM
2769 "description" : "Delete a 'what' group.",
2770 "method" : "DELETE",
2771 "name" : "delete_{$oclass}_group",
2772 "parameters" : {
2773 "additionalProperties" : 0,
2774 "properties" : {
2775 "ogroup" : {
2776 "description" : "Object Group ID.",
2777 "type" : "integer",
2778 "typetext" : "<integer>"
2779 }
2780 }
2781 },
732d76e1
DM
2782 "permissions" : {
2783 "check" : [
2784 "admin"
2785 ]
2786 },
9fda36b0
DM
2787 "protected" : 1,
2788 "proxyto" : "master",
2789 "returns" : {
2790 "type" : "null"
2791 }
2792 },
2793 "GET" : {
6bd70b95 2794 "allowtoken" : 1,
9fda36b0
DM
2795 "description" : "Directory index.",
2796 "method" : "GET",
2797 "name" : "index",
2798 "parameters" : {
2799 "additionalProperties" : 0,
2800 "properties" : {
2801 "ogroup" : {
2802 "description" : "Object Group ID.",
2803 "type" : "integer",
2804 "typetext" : "<integer>"
2805 }
2806 }
2807 },
732d76e1
DM
2808 "permissions" : {
2809 "check" : [
2810 "admin",
2811 "audit"
2812 ]
2813 },
9fda36b0
DM
2814 "returns" : {
2815 "items" : {
2816 "properties" : {
2817 "subdir" : {
2818 "type" : "string"
2819 }
2820 },
2821 "type" : "object"
2822 },
2823 "links" : [
2824 {
2825 "href" : "{subdir}",
2826 "rel" : "child"
2827 }
2828 ],
2829 "type" : "array"
2830 }
2831 }
2832 },
2833 "leaf" : 0,
2834 "path" : "/config/ruledb/what/{ogroup}",
2835 "text" : "{ogroup}"
2836 }
2837 ],
2838 "info" : {
2839 "GET" : {
6bd70b95 2840 "allowtoken" : 1,
9fda36b0
DM
2841 "description" : "Get list of 'what' groups.",
2842 "method" : "GET",
2843 "name" : "list_what_groups",
2844 "parameters" : {
2845 "additionalProperties" : 0
2846 },
732d76e1
DM
2847 "permissions" : {
2848 "check" : [
2849 "admin",
2850 "audit"
2851 ]
2852 },
9fda36b0
DM
2853 "proxyto" : "master",
2854 "returns" : {
2855 "items" : {
2856 "properties" : {
2857 "id" : {
2858 "type" : "integer"
2859 }
2860 },
2861 "type" : "object"
2862 },
2863 "type" : "array"
2864 }
2865 },
2866 "POST" : {
6bd70b95 2867 "allowtoken" : 1,
9fda36b0 2868 "description" : "Create a new 'what' group.",
eff914dc 2869 "method" : "POST",
9fda36b0 2870 "name" : "create_what_group",
eff914dc
DM
2871 "parameters" : {
2872 "additionalProperties" : 0,
2873 "properties" : {
2874 "info" : {
2875 "description" : "Informational comment.",
2876 "maxLength" : 255,
2877 "optional" : 1,
2878 "type" : "string",
2879 "typetext" : "<string>"
2880 },
2881 "name" : {
2882 "description" : "Group name.",
2883 "maxLength" : 255,
2884 "type" : "string",
2885 "typetext" : "<string>"
2886 }
2887 }
2888 },
732d76e1
DM
2889 "permissions" : {
2890 "check" : [
2891 "admin"
2892 ]
2893 },
eff914dc
DM
2894 "protected" : 1,
2895 "proxyto" : "master",
2896 "returns" : {
2897 "type" : "integer"
2898 }
410dc2c9
DM
2899 }
2900 },
f245a28c 2901 "leaf" : 0,
9fda36b0
DM
2902 "path" : "/config/ruledb/what",
2903 "text" : "what"
410dc2c9
DM
2904 },
2905 {
f245a28c
DM
2906 "children" : [
2907 {
2908 "children" : [
2909 {
eff914dc 2910 "info" : {
f245a28c 2911 "GET" : {
6bd70b95 2912 "allowtoken" : 1,
9fda36b0 2913 "description" : "Get 'when' group properties",
f245a28c
DM
2914 "method" : "GET",
2915 "name" : "get_config",
2916 "parameters" : {
2917 "additionalProperties" : 0,
2918 "properties" : {
2919 "ogroup" : {
2920 "description" : "Object Group ID.",
2921 "type" : "integer",
2922 "typetext" : "<integer>"
2923 }
2924 }
2925 },
732d76e1
DM
2926 "permissions" : {
2927 "check" : [
2928 "admin",
2929 "audit"
2930 ]
2931 },
f245a28c
DM
2932 "proxyto" : "master",
2933 "returns" : {
2934 "properties" : {
2935 "id" : {
2936 "type" : "integer"
2937 },
2938 "info" : {
2939 "type" : "string"
2940 },
2941 "name" : {
2942 "type" : "string"
2943 }
2944 },
2945 "type" : "object"
2946 }
2947 },
2948 "PUT" : {
6bd70b95 2949 "allowtoken" : 1,
9fda36b0 2950 "description" : "Modify 'when' group properties",
f245a28c
DM
2951 "method" : "PUT",
2952 "name" : "set_config",
2953 "parameters" : {
2954 "additionalProperties" : 0,
2955 "properties" : {
2956 "info" : {
2957 "description" : "Informational comment.",
2958 "maxLength" : 255,
2959 "optional" : 1,
2960 "type" : "string",
2961 "typetext" : "<string>"
2962 },
2963 "name" : {
2964 "description" : "Group name.",
2965 "maxLength" : 255,
2966 "optional" : 1,
2967 "type" : "string",
2968 "typetext" : "<string>"
2969 },
2970 "ogroup" : {
2971 "description" : "Object Group ID.",
2972 "type" : "integer",
2973 "typetext" : "<integer>"
2974 }
2975 }
2976 },
732d76e1
DM
2977 "permissions" : {
2978 "check" : [
2979 "admin"
2980 ]
2981 },
d7cd791b 2982 "protected" : 1,
f245a28c
DM
2983 "proxyto" : "master",
2984 "returns" : {
2985 "type" : "null"
2986 }
2987 }
eff914dc 2988 },
f245a28c 2989 "leaf" : 1,
9fda36b0 2990 "path" : "/config/ruledb/when/{ogroup}/config",
f245a28c
DM
2991 "text" : "config"
2992 },
eff914dc
DM
2993 {
2994 "children" : [
2995 {
2996 "info" : {
2997 "DELETE" : {
6bd70b95 2998 "allowtoken" : 1,
9fda36b0 2999 "description" : "Remove an object from the 'when' group.",
eff914dc
DM
3000 "method" : "DELETE",
3001 "name" : "delete_object",
3002 "parameters" : {
3003 "additionalProperties" : 0,
3004 "properties" : {
3005 "id" : {
3006 "description" : "Object ID.",
3007 "type" : "integer",
3008 "typetext" : "<integer>"
3009 },
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 },
a55e94a6 3022 "protected" : 1,
eff914dc
DM
3023 "proxyto" : "master",
3024 "returns" : {
3025 "type" : "null"
3026 }
3027 }
3028 },
3029 "leaf" : 1,
9fda36b0 3030 "path" : "/config/ruledb/when/{ogroup}/objects/{id}",
eff914dc
DM
3031 "text" : "{id}"
3032 }
3033 ],
3034 "info" : {
3035 "GET" : {
6bd70b95 3036 "allowtoken" : 1,
9fda36b0 3037 "description" : "List 'when' group objects.",
eff914dc
DM
3038 "method" : "GET",
3039 "name" : "objects",
3040 "parameters" : {
3041 "additionalProperties" : 0,
3042 "properties" : {
3043 "ogroup" : {
3044 "description" : "Object Group ID.",
3045 "type" : "integer",
3046 "typetext" : "<integer>"
3047 }
3048 }
3049 },
732d76e1
DM
3050 "permissions" : {
3051 "check" : [
3052 "admin",
3053 "audit"
3054 ]
3055 },
eff914dc
DM
3056 "proxyto" : "master",
3057 "returns" : {
3058 "items" : {
3059 "properties" : {
3060 "id" : {
3061 "type" : "integer"
3062 }
3063 },
3064 "type" : "object"
3065 },
3066 "links" : [
3067 {
3068 "href" : "{id}",
3069 "rel" : "child"
3070 }
3071 ],
3072 "type" : "array"
3073 }
3074 }
3075 },
3076 "leaf" : 0,
9fda36b0 3077 "path" : "/config/ruledb/when/{ogroup}/objects",
eff914dc
DM
3078 "text" : "objects"
3079 },
3080 {
3081 "children" : [
3082 {
3083 "info" : {
3084 "GET" : {
6bd70b95 3085 "allowtoken" : 1,
9fda36b0 3086 "description" : "Read 'TimeFrame' object settings.",
eff914dc 3087 "method" : "GET",
9fda36b0 3088 "name" : "read_timeframe",
eff914dc
DM
3089 "parameters" : {
3090 "additionalProperties" : 0,
3091 "properties" : {
3092 "id" : {
3093 "description" : "Object ID.",
3094 "type" : "integer",
3095 "typetext" : "<integer>"
3096 },
3097 "ogroup" : {
3098 "description" : "Object Groups ID.",
3099 "type" : "integer",
3100 "typetext" : "<integer>"
3101 }
3102 }
3103 },
c061d61d
DM
3104 "permissions" : {
3105 "check" : [
3106 "admin",
3107 "audit"
3108 ]
3109 },
eff914dc
DM
3110 "proxyto" : "master",
3111 "returns" : {
3112 "properties" : {
3113 "id" : {
3114 "type" : "integer"
3115 }
3116 },
3117 "type" : "object"
3118 }
3119 },
3120 "PUT" : {
6bd70b95 3121 "allowtoken" : 1,
9fda36b0 3122 "description" : "Update 'TimeFrame' object.",
eff914dc 3123 "method" : "PUT",
9fda36b0 3124 "name" : "update_timeframe",
eff914dc
DM
3125 "parameters" : {
3126 "additionalProperties" : 0,
3127 "properties" : {
9fda36b0
DM
3128 "end" : {
3129 "description" : "End time in `H:i` format (00:00).",
3130 "pattern" : "\\d?\\d:\\d?\\d",
3131 "type" : "string"
eff914dc
DM
3132 },
3133 "id" : {
3134 "description" : "Object ID.",
3135 "type" : "integer",
3136 "typetext" : "<integer>"
3137 },
3138 "ogroup" : {
3139 "description" : "Object Groups ID.",
3140 "type" : "integer",
3141 "typetext" : "<integer>"
9fda36b0
DM
3142 },
3143 "start" : {
3144 "description" : "Start time in `H:i` format (00:00).",
3145 "pattern" : "\\d?\\d:\\d?\\d",
3146 "type" : "string"
eff914dc
DM
3147 }
3148 }
3149 },
c061d61d
DM
3150 "permissions" : {
3151 "check" : [
3152 "admin"
3153 ]
3154 },
a55e94a6 3155 "protected" : 1,
eff914dc
DM
3156 "proxyto" : "master",
3157 "returns" : {
3158 "type" : "null"
3159 }
3160 }
3161 },
3162 "leaf" : 1,
9fda36b0 3163 "path" : "/config/ruledb/when/{ogroup}/timeframe/{id}",
eff914dc
DM
3164 "text" : "{id}"
3165 }
3166 ],
3167 "info" : {
3168 "POST" : {
6bd70b95 3169 "allowtoken" : 1,
9fda36b0 3170 "description" : "Add 'TimeFrame' object.",
eff914dc 3171 "method" : "POST",
9fda36b0 3172 "name" : "timeframe",
eff914dc
DM
3173 "parameters" : {
3174 "additionalProperties" : 0,
3175 "properties" : {
9fda36b0
DM
3176 "end" : {
3177 "description" : "End time in `H:i` format (00:00).",
3178 "pattern" : "\\d?\\d:\\d?\\d",
3179 "type" : "string"
eff914dc
DM
3180 },
3181 "ogroup" : {
3182 "description" : "Object Groups ID.",
3183 "type" : "integer",
3184 "typetext" : "<integer>"
9fda36b0
DM
3185 },
3186 "start" : {
3187 "description" : "Start time in `H:i` format (00:00).",
3188 "pattern" : "\\d?\\d:\\d?\\d",
3189 "type" : "string"
eff914dc
DM
3190 }
3191 }
3192 },
c061d61d
DM
3193 "permissions" : {
3194 "check" : [
3195 "admin"
3196 ]
3197 },
a55e94a6 3198 "protected" : 1,
eff914dc
DM
3199 "proxyto" : "master",
3200 "returns" : {
3201 "description" : "The object ID.",
3202 "type" : "integer"
3203 }
3204 }
3205 },
3206 "leaf" : 0,
9fda36b0
DM
3207 "path" : "/config/ruledb/when/{ogroup}/timeframe",
3208 "text" : "timeframe"
3209 }
3210 ],
3211 "info" : {
3212 "DELETE" : {
6bd70b95 3213 "allowtoken" : 1,
9fda36b0
DM
3214 "description" : "Delete a 'when' group.",
3215 "method" : "DELETE",
3216 "name" : "delete_{$oclass}_group",
3217 "parameters" : {
3218 "additionalProperties" : 0,
3219 "properties" : {
3220 "ogroup" : {
3221 "description" : "Object Group ID.",
3222 "type" : "integer",
3223 "typetext" : "<integer>"
3224 }
3225 }
3226 },
732d76e1
DM
3227 "permissions" : {
3228 "check" : [
3229 "admin"
3230 ]
3231 },
9fda36b0
DM
3232 "protected" : 1,
3233 "proxyto" : "master",
3234 "returns" : {
3235 "type" : "null"
3236 }
3237 },
3238 "GET" : {
6bd70b95 3239 "allowtoken" : 1,
9fda36b0
DM
3240 "description" : "Directory index.",
3241 "method" : "GET",
3242 "name" : "index",
3243 "parameters" : {
3244 "additionalProperties" : 0,
3245 "properties" : {
3246 "ogroup" : {
3247 "description" : "Object Group ID.",
3248 "type" : "integer",
3249 "typetext" : "<integer>"
3250 }
3251 }
3252 },
732d76e1
DM
3253 "permissions" : {
3254 "check" : [
3255 "admin",
3256 "audit"
3257 ]
3258 },
9fda36b0
DM
3259 "returns" : {
3260 "items" : {
3261 "properties" : {
3262 "subdir" : {
3263 "type" : "string"
eff914dc
DM
3264 }
3265 },
9fda36b0
DM
3266 "type" : "object"
3267 },
3268 "links" : [
3269 {
3270 "href" : "{subdir}",
3271 "rel" : "child"
3272 }
3273 ],
3274 "type" : "array"
3275 }
3276 }
3277 },
3278 "leaf" : 0,
3279 "path" : "/config/ruledb/when/{ogroup}",
3280 "text" : "{ogroup}"
3281 }
3282 ],
3283 "info" : {
3284 "GET" : {
6bd70b95 3285 "allowtoken" : 1,
9fda36b0
DM
3286 "description" : "Get list of 'when' groups.",
3287 "method" : "GET",
3288 "name" : "list_when_groups",
3289 "parameters" : {
3290 "additionalProperties" : 0
3291 },
732d76e1
DM
3292 "permissions" : {
3293 "check" : [
3294 "admin",
3295 "audit"
3296 ]
3297 },
9fda36b0
DM
3298 "proxyto" : "master",
3299 "returns" : {
3300 "items" : {
3301 "properties" : {
3302 "id" : {
3303 "type" : "integer"
eff914dc 3304 }
9fda36b0
DM
3305 },
3306 "type" : "object"
3307 },
3308 "type" : "array"
3309 }
3310 },
3311 "POST" : {
6bd70b95 3312 "allowtoken" : 1,
9fda36b0
DM
3313 "description" : "Create a new 'when' group.",
3314 "method" : "POST",
3315 "name" : "create_when_group",
3316 "parameters" : {
3317 "additionalProperties" : 0,
3318 "properties" : {
eff914dc 3319 "info" : {
9fda36b0
DM
3320 "description" : "Informational comment.",
3321 "maxLength" : 255,
3322 "optional" : 1,
3323 "type" : "string",
3324 "typetext" : "<string>"
3325 },
3326 "name" : {
3327 "description" : "Group name.",
3328 "maxLength" : 255,
3329 "type" : "string",
3330 "typetext" : "<string>"
3331 }
3332 }
3333 },
732d76e1
DM
3334 "permissions" : {
3335 "check" : [
3336 "admin"
3337 ]
3338 },
9fda36b0
DM
3339 "protected" : 1,
3340 "proxyto" : "master",
3341 "returns" : {
3342 "type" : "integer"
3343 }
3344 }
3345 },
3346 "leaf" : 0,
3347 "path" : "/config/ruledb/when",
3348 "text" : "when"
3349 },
3350 {
3351 "children" : [
3352 {
3353 "children" : [
3354 {
3355 "info" : {
3356 "GET" : {
6bd70b95 3357 "allowtoken" : 1,
9fda36b0
DM
3358 "description" : "Get 'who' group properties",
3359 "method" : "GET",
3360 "name" : "get_config",
eff914dc
DM
3361 "parameters" : {
3362 "additionalProperties" : 0,
3363 "properties" : {
9fda36b0
DM
3364 "ogroup" : {
3365 "description" : "Object Group ID.",
3366 "type" : "integer",
3367 "typetext" : "<integer>"
3368 }
3369 }
3370 },
732d76e1
DM
3371 "permissions" : {
3372 "check" : [
3373 "admin",
3374 "audit"
3375 ]
3376 },
9fda36b0
DM
3377 "proxyto" : "master",
3378 "returns" : {
3379 "properties" : {
3380 "id" : {
3381 "type" : "integer"
3382 },
3383 "info" : {
3384 "type" : "string"
3385 },
3386 "name" : {
3387 "type" : "string"
3388 }
3389 },
3390 "type" : "object"
3391 }
3392 },
3393 "PUT" : {
6bd70b95 3394 "allowtoken" : 1,
9fda36b0
DM
3395 "description" : "Modify 'who' group properties",
3396 "method" : "PUT",
3397 "name" : "set_config",
3398 "parameters" : {
3399 "additionalProperties" : 0,
3400 "properties" : {
3401 "info" : {
3402 "description" : "Informational comment.",
3403 "maxLength" : 255,
3404 "optional" : 1,
3405 "type" : "string",
3406 "typetext" : "<string>"
3407 },
3408 "name" : {
3409 "description" : "Group name.",
3410 "maxLength" : 255,
3411 "optional" : 1,
eff914dc
DM
3412 "type" : "string",
3413 "typetext" : "<string>"
3414 },
3415 "ogroup" : {
9fda36b0 3416 "description" : "Object Group ID.",
eff914dc
DM
3417 "type" : "integer",
3418 "typetext" : "<integer>"
3419 }
3420 }
3421 },
732d76e1
DM
3422 "permissions" : {
3423 "check" : [
3424 "admin"
3425 ]
3426 },
a55e94a6 3427 "protected" : 1,
eff914dc
DM
3428 "proxyto" : "master",
3429 "returns" : {
9fda36b0 3430 "type" : "null"
eff914dc
DM
3431 }
3432 }
3433 },
9fda36b0
DM
3434 "leaf" : 1,
3435 "path" : "/config/ruledb/who/{ogroup}/config",
3436 "text" : "config"
eff914dc
DM
3437 },
3438 {
3439 "children" : [
3440 {
3441 "info" : {
9fda36b0 3442 "DELETE" : {
6bd70b95 3443 "allowtoken" : 1,
9fda36b0
DM
3444 "description" : "Remove an object from the 'who' group.",
3445 "method" : "DELETE",
3446 "name" : "delete_object",
eff914dc
DM
3447 "parameters" : {
3448 "additionalProperties" : 0,
3449 "properties" : {
3450 "id" : {
3451 "description" : "Object ID.",
3452 "type" : "integer",
3453 "typetext" : "<integer>"
3454 },
3455 "ogroup" : {
9fda36b0 3456 "description" : "Object Group ID.",
eff914dc
DM
3457 "type" : "integer",
3458 "typetext" : "<integer>"
3459 }
3460 }
3461 },
732d76e1
DM
3462 "permissions" : {
3463 "check" : [
3464 "admin"
3465 ]
3466 },
9fda36b0 3467 "protected" : 1,
eff914dc
DM
3468 "proxyto" : "master",
3469 "returns" : {
9fda36b0 3470 "type" : "null"
eff914dc
DM
3471 }
3472 }
3473 },
3474 "leaf" : 1,
9fda36b0 3475 "path" : "/config/ruledb/who/{ogroup}/objects/{id}",
eff914dc
DM
3476 "text" : "{id}"
3477 }
3478 ],
3479 "info" : {
9fda36b0 3480 "GET" : {
6bd70b95 3481 "allowtoken" : 1,
9fda36b0
DM
3482 "description" : "List 'who' group objects.",
3483 "method" : "GET",
3484 "name" : "objects",
eff914dc
DM
3485 "parameters" : {
3486 "additionalProperties" : 0,
3487 "properties" : {
3488 "ogroup" : {
9fda36b0 3489 "description" : "Object Group ID.",
eff914dc
DM
3490 "type" : "integer",
3491 "typetext" : "<integer>"
eff914dc
DM
3492 }
3493 }
3494 },
732d76e1
DM
3495 "permissions" : {
3496 "check" : [
3497 "admin",
3498 "audit"
3499 ]
3500 },
eff914dc
DM
3501 "proxyto" : "master",
3502 "returns" : {
9fda36b0
DM
3503 "items" : {
3504 "properties" : {
3505 "id" : {
3506 "type" : "integer"
3507 }
3508 },
3509 "type" : "object"
3510 },
3511 "links" : [
3512 {
3513 "href" : "{id}",
3514 "rel" : "child"
3515 }
3516 ],
3517 "type" : "array"
eff914dc
DM
3518 }
3519 }
3520 },
3521 "leaf" : 0,
9fda36b0
DM
3522 "path" : "/config/ruledb/who/{ogroup}/objects",
3523 "text" : "objects"
eff914dc
DM
3524 },
3525 {
3526 "children" : [
3527 {
3528 "info" : {
3529 "GET" : {
6bd70b95 3530 "allowtoken" : 1,
9fda36b0 3531 "description" : "Read 'Mail address' object settings.",
eff914dc 3532 "method" : "GET",
9fda36b0 3533 "name" : "read_email",
eff914dc
DM
3534 "parameters" : {
3535 "additionalProperties" : 0,
3536 "properties" : {
3537 "id" : {
3538 "description" : "Object ID.",
3539 "type" : "integer",
3540 "typetext" : "<integer>"
3541 },
3542 "ogroup" : {
3543 "description" : "Object Groups ID.",
3544 "type" : "integer",
3545 "typetext" : "<integer>"
3546 }
3547 }
3548 },
c061d61d
DM
3549 "permissions" : {
3550 "check" : [
3551 "admin",
3552 "audit"
3553 ]
3554 },
eff914dc
DM
3555 "proxyto" : "master",
3556 "returns" : {
3557 "properties" : {
3558 "id" : {
3559 "type" : "integer"
3560 }
3561 },
3562 "type" : "object"
3563 }
3564 },
3565 "PUT" : {
6bd70b95 3566 "allowtoken" : 1,
9fda36b0 3567 "description" : "Update 'Mail address' object.",
eff914dc 3568 "method" : "PUT",
9fda36b0 3569 "name" : "update_email",
eff914dc
DM
3570 "parameters" : {
3571 "additionalProperties" : 0,
3572 "properties" : {
9fda36b0
DM
3573 "email" : {
3574 "description" : "Email address.",
3575 "format" : "email",
3576 "type" : "string",
3577 "typetext" : "<string>"
3578 },
eff914dc
DM
3579 "id" : {
3580 "description" : "Object ID.",
3581 "type" : "integer",
3582 "typetext" : "<integer>"
3583 },
eff914dc
DM
3584 "ogroup" : {
3585 "description" : "Object Groups ID.",
3586 "type" : "integer",
3587 "typetext" : "<integer>"
3588 }
3589 }
3590 },
c061d61d
DM
3591 "permissions" : {
3592 "check" : [
3593 "admin"
3594 ]
3595 },
a55e94a6 3596 "protected" : 1,
eff914dc
DM
3597 "proxyto" : "master",
3598 "returns" : {
3599 "type" : "null"
3600 }
3601 }
3602 },
3603 "leaf" : 1,
9fda36b0 3604 "path" : "/config/ruledb/who/{ogroup}/email/{id}",
eff914dc
DM
3605 "text" : "{id}"
3606 }
3607 ],
3608 "info" : {
3609 "POST" : {
6bd70b95 3610 "allowtoken" : 1,
9fda36b0 3611 "description" : "Add 'Mail address' object.",
eff914dc 3612 "method" : "POST",
9fda36b0 3613 "name" : "email",
eff914dc
DM
3614 "parameters" : {
3615 "additionalProperties" : 0,
3616 "properties" : {
9fda36b0
DM
3617 "email" : {
3618 "description" : "Email address.",
3619 "format" : "email",
eff914dc
DM
3620 "type" : "string",
3621 "typetext" : "<string>"
3622 },
3623 "ogroup" : {
3624 "description" : "Object Groups ID.",
3625 "type" : "integer",
3626 "typetext" : "<integer>"
3627 }
3628 }
3629 },
c061d61d
DM
3630 "permissions" : {
3631 "check" : [
3632 "admin"
3633 ]
3634 },
a55e94a6 3635 "protected" : 1,
eff914dc
DM
3636 "proxyto" : "master",
3637 "returns" : {
3638 "description" : "The object ID.",
3639 "type" : "integer"
3640 }
3641 }
3642 },
3643 "leaf" : 0,
9fda36b0
DM
3644 "path" : "/config/ruledb/who/{ogroup}/email",
3645 "text" : "email"
eff914dc
DM
3646 },
3647 {
3648 "children" : [
3649 {
3650 "info" : {
3651 "GET" : {
6bd70b95 3652 "allowtoken" : 1,
9fda36b0 3653 "description" : "Read 'Domain' object settings.",
eff914dc 3654 "method" : "GET",
9fda36b0 3655 "name" : "read_domain",
eff914dc
DM
3656 "parameters" : {
3657 "additionalProperties" : 0,
3658 "properties" : {
3659 "id" : {
3660 "description" : "Object ID.",
3661 "type" : "integer",
3662 "typetext" : "<integer>"
3663 },
3664 "ogroup" : {
3665 "description" : "Object Groups ID.",
3666 "type" : "integer",
3667 "typetext" : "<integer>"
3668 }
3669 }
3670 },
c061d61d
DM
3671 "permissions" : {
3672 "check" : [
3673 "admin",
3674 "audit"
3675 ]
3676 },
eff914dc
DM
3677 "proxyto" : "master",
3678 "returns" : {
3679 "properties" : {
3680 "id" : {
3681 "type" : "integer"
3682 }
3683 },
3684 "type" : "object"
3685 }
3686 },
3687 "PUT" : {
6bd70b95 3688 "allowtoken" : 1,
9fda36b0 3689 "description" : "Update 'Domain' object.",
eff914dc 3690 "method" : "PUT",
9fda36b0 3691 "name" : "update_domain",
eff914dc
DM
3692 "parameters" : {
3693 "additionalProperties" : 0,
3694 "properties" : {
9fda36b0
DM
3695 "domain" : {
3696 "description" : "DNS domain name (Sender).",
3697 "format" : "dns-name",
eff914dc
DM
3698 "type" : "string",
3699 "typetext" : "<string>"
3700 },
3701 "id" : {
3702 "description" : "Object ID.",
3703 "type" : "integer",
3704 "typetext" : "<integer>"
3705 },
3706 "ogroup" : {
3707 "description" : "Object Groups ID.",
3708 "type" : "integer",
3709 "typetext" : "<integer>"
3710 }
3711 }
3712 },
c061d61d
DM
3713 "permissions" : {
3714 "check" : [
3715 "admin"
3716 ]
3717 },
a55e94a6 3718 "protected" : 1,
eff914dc
DM
3719 "proxyto" : "master",
3720 "returns" : {
3721 "type" : "null"
3722 }
3723 }
3724 },
3725 "leaf" : 1,
9fda36b0 3726 "path" : "/config/ruledb/who/{ogroup}/domain/{id}",
eff914dc
DM
3727 "text" : "{id}"
3728 }
3729 ],
3730 "info" : {
3731 "POST" : {
6bd70b95 3732 "allowtoken" : 1,
9fda36b0 3733 "description" : "Add 'Domain' object.",
eff914dc 3734 "method" : "POST",
9fda36b0 3735 "name" : "domain",
eff914dc
DM
3736 "parameters" : {
3737 "additionalProperties" : 0,
3738 "properties" : {
9fda36b0
DM
3739 "domain" : {
3740 "description" : "DNS domain name (Sender).",
3741 "format" : "dns-name",
eff914dc
DM
3742 "type" : "string",
3743 "typetext" : "<string>"
3744 },
3745 "ogroup" : {
3746 "description" : "Object Groups ID.",
3747 "type" : "integer",
3748 "typetext" : "<integer>"
3749 }
3750 }
3751 },
c061d61d
DM
3752 "permissions" : {
3753 "check" : [
3754 "admin"
3755 ]
3756 },
a55e94a6 3757 "protected" : 1,
eff914dc
DM
3758 "proxyto" : "master",
3759 "returns" : {
3760 "description" : "The object ID.",
3761 "type" : "integer"
3762 }
3763 }
3764 },
3765 "leaf" : 0,
9fda36b0
DM
3766 "path" : "/config/ruledb/who/{ogroup}/domain",
3767 "text" : "domain"
a55e94a6
DM
3768 },
3769 {
3770 "children" : [
3771 {
3772 "info" : {
3773 "GET" : {
6bd70b95 3774 "allowtoken" : 1,
9fda36b0 3775 "description" : "Read 'Regular Expression' object settings.",
a55e94a6 3776 "method" : "GET",
9fda36b0 3777 "name" : "read_regex",
a55e94a6
DM
3778 "parameters" : {
3779 "additionalProperties" : 0,
3780 "properties" : {
3781 "id" : {
3782 "description" : "Object ID.",
3783 "type" : "integer",
3784 "typetext" : "<integer>"
3785 },
3786 "ogroup" : {
3787 "description" : "Object Groups ID.",
3788 "type" : "integer",
3789 "typetext" : "<integer>"
3790 }
3791 }
3792 },
c061d61d
DM
3793 "permissions" : {
3794 "check" : [
3795 "admin",
3796 "audit"
3797 ]
3798 },
a55e94a6
DM
3799 "proxyto" : "master",
3800 "returns" : {
3801 "properties" : {
3802 "id" : {
3803 "type" : "integer"
3804 }
3805 },
3806 "type" : "object"
3807 }
3808 },
3809 "PUT" : {
6bd70b95 3810 "allowtoken" : 1,
9fda36b0 3811 "description" : "Update 'Regular Expression' object.",
a55e94a6 3812 "method" : "PUT",
9fda36b0 3813 "name" : "update_regex",
a55e94a6
DM
3814 "parameters" : {
3815 "additionalProperties" : 0,
3816 "properties" : {
a55e94a6
DM
3817 "id" : {
3818 "description" : "Object ID.",
3819 "type" : "integer",
3820 "typetext" : "<integer>"
3821 },
a55e94a6
DM
3822 "ogroup" : {
3823 "description" : "Object Groups ID.",
3824 "type" : "integer",
3825 "typetext" : "<integer>"
3826 },
9fda36b0
DM
3827 "regex" : {
3828 "description" : "Email address regular expression.",
3829 "maxLength" : 1024,
a55e94a6
DM
3830 "type" : "string",
3831 "typetext" : "<string>"
3832 }
3833 }
3834 },
c061d61d
DM
3835 "permissions" : {
3836 "check" : [
3837 "admin"
3838 ]
3839 },
a55e94a6
DM
3840 "protected" : 1,
3841 "proxyto" : "master",
3842 "returns" : {
3843 "type" : "null"
3844 }
3845 }
3846 },
3847 "leaf" : 1,
9fda36b0 3848 "path" : "/config/ruledb/who/{ogroup}/regex/{id}",
a55e94a6
DM
3849 "text" : "{id}"
3850 }
3851 ],
3852 "info" : {
3853 "POST" : {
6bd70b95 3854 "allowtoken" : 1,
9fda36b0 3855 "description" : "Add 'Regular Expression' object.",
a55e94a6 3856 "method" : "POST",
9fda36b0 3857 "name" : "regex",
a55e94a6
DM
3858 "parameters" : {
3859 "additionalProperties" : 0,
3860 "properties" : {
a55e94a6
DM
3861 "ogroup" : {
3862 "description" : "Object Groups ID.",
3863 "type" : "integer",
3864 "typetext" : "<integer>"
3865 },
9fda36b0
DM
3866 "regex" : {
3867 "description" : "Email address regular expression.",
3868 "maxLength" : 1024,
a55e94a6
DM
3869 "type" : "string",
3870 "typetext" : "<string>"
3871 }
3872 }
3873 },
c061d61d
DM
3874 "permissions" : {
3875 "check" : [
3876 "admin"
3877 ]
3878 },
a55e94a6
DM
3879 "protected" : 1,
3880 "proxyto" : "master",
3881 "returns" : {
3882 "description" : "The object ID.",
3883 "type" : "integer"
3884 }
3885 }
3886 },
3887 "leaf" : 0,
9fda36b0
DM
3888 "path" : "/config/ruledb/who/{ogroup}/regex",
3889 "text" : "regex"
a55e94a6
DM
3890 },
3891 {
3892 "children" : [
3893 {
3894 "info" : {
3895 "GET" : {
6bd70b95 3896 "allowtoken" : 1,
9fda36b0 3897 "description" : "Read 'IP Address' object settings.",
a55e94a6 3898 "method" : "GET",
9fda36b0 3899 "name" : "read_ip",
a55e94a6
DM
3900 "parameters" : {
3901 "additionalProperties" : 0,
3902 "properties" : {
3903 "id" : {
3904 "description" : "Object ID.",
3905 "type" : "integer",
3906 "typetext" : "<integer>"
3907 },
3908 "ogroup" : {
3909 "description" : "Object Groups ID.",
3910 "type" : "integer",
3911 "typetext" : "<integer>"
3912 }
3913 }
3914 },
c061d61d
DM
3915 "permissions" : {
3916 "check" : [
3917 "admin",
3918 "audit"
3919 ]
3920 },
a55e94a6
DM
3921 "proxyto" : "master",
3922 "returns" : {
3923 "properties" : {
3924 "id" : {
3925 "type" : "integer"
3926 }
3927 },
3928 "type" : "object"
3929 }
3930 },
3931 "PUT" : {
6bd70b95 3932 "allowtoken" : 1,
9fda36b0 3933 "description" : "Update 'IP Address' object.",
a55e94a6 3934 "method" : "PUT",
9fda36b0 3935 "name" : "update_ip",
a55e94a6
DM
3936 "parameters" : {
3937 "additionalProperties" : 0,
3938 "properties" : {
a55e94a6
DM
3939 "id" : {
3940 "description" : "Object ID.",
3941 "type" : "integer",
3942 "typetext" : "<integer>"
3943 },
9fda36b0
DM
3944 "ip" : {
3945 "description" : "IP address",
3946 "format" : "ip",
3947 "type" : "string",
3948 "typetext" : "<string>"
3949 },
a55e94a6
DM
3950 "ogroup" : {
3951 "description" : "Object Groups ID.",
3952 "type" : "integer",
3953 "typetext" : "<integer>"
a55e94a6
DM
3954 }
3955 }
3956 },
c061d61d
DM
3957 "permissions" : {
3958 "check" : [
3959 "admin"
3960 ]
3961 },
a55e94a6
DM
3962 "protected" : 1,
3963 "proxyto" : "master",
3964 "returns" : {
3965 "type" : "null"
3966 }
3967 }
3968 },
3969 "leaf" : 1,
9fda36b0 3970 "path" : "/config/ruledb/who/{ogroup}/ip/{id}",
a55e94a6
DM
3971 "text" : "{id}"
3972 }
3973 ],
3974 "info" : {
3975 "POST" : {
6bd70b95 3976 "allowtoken" : 1,
9fda36b0 3977 "description" : "Add 'IP Address' object.",
a55e94a6 3978 "method" : "POST",
9fda36b0 3979 "name" : "ip",
a55e94a6
DM
3980 "parameters" : {
3981 "additionalProperties" : 0,
3982 "properties" : {
9fda36b0
DM
3983 "ip" : {
3984 "description" : "IP address",
3985 "format" : "ip",
a55e94a6
DM
3986 "type" : "string",
3987 "typetext" : "<string>"
3988 },
3989 "ogroup" : {
3990 "description" : "Object Groups ID.",
3991 "type" : "integer",
3992 "typetext" : "<integer>"
a55e94a6
DM
3993 }
3994 }
3995 },
c061d61d
DM
3996 "permissions" : {
3997 "check" : [
3998 "admin"
3999 ]
4000 },
a55e94a6
DM
4001 "protected" : 1,
4002 "proxyto" : "master",
4003 "returns" : {
4004 "description" : "The object ID.",
4005 "type" : "integer"
4006 }
4007 }
4008 },
4009 "leaf" : 0,
9fda36b0
DM
4010 "path" : "/config/ruledb/who/{ogroup}/ip",
4011 "text" : "ip"
eff914dc 4012 },
9fda36b0
DM
4013 {
4014 "children" : [
4015 {
4016 "info" : {
4017 "GET" : {
6bd70b95 4018 "allowtoken" : 1,
9fda36b0
DM
4019 "description" : "Read 'IP Network' object settings.",
4020 "method" : "GET",
4021 "name" : "read_network",
4022 "parameters" : {
4023 "additionalProperties" : 0,
4024 "properties" : {
4025 "id" : {
4026 "description" : "Object ID.",
4027 "type" : "integer",
4028 "typetext" : "<integer>"
4029 },
4030 "ogroup" : {
4031 "description" : "Object Groups ID.",
4032 "type" : "integer",
4033 "typetext" : "<integer>"
4034 }
4035 }
4036 },
c061d61d
DM
4037 "permissions" : {
4038 "check" : [
4039 "admin",
4040 "audit"
4041 ]
4042 },
9fda36b0
DM
4043 "proxyto" : "master",
4044 "returns" : {
4045 "properties" : {
4046 "id" : {
4047 "type" : "integer"
4048 }
4049 },
4050 "type" : "object"
4051 }
4052 },
4053 "PUT" : {
6bd70b95 4054 "allowtoken" : 1,
9fda36b0
DM
4055 "description" : "Update 'IP Network' object.",
4056 "method" : "PUT",
4057 "name" : "update_network",
4058 "parameters" : {
4059 "additionalProperties" : 0,
4060 "properties" : {
4061 "cidr" : {
4062 "description" : "Network address in CIDR notation.",
4063 "format" : "CIDR",
4064 "type" : "string",
4065 "typetext" : "<string>"
4066 },
4067 "id" : {
4068 "description" : "Object ID.",
4069 "type" : "integer",
4070 "typetext" : "<integer>"
4071 },
4072 "ogroup" : {
4073 "description" : "Object Groups ID.",
4074 "type" : "integer",
4075 "typetext" : "<integer>"
4076 }
4077 }
4078 },
c061d61d
DM
4079 "permissions" : {
4080 "check" : [
4081 "admin"
4082 ]
4083 },
9fda36b0
DM
4084 "protected" : 1,
4085 "proxyto" : "master",
4086 "returns" : {
4087 "type" : "null"
4088 }
4089 }
4090 },
4091 "leaf" : 1,
4092 "path" : "/config/ruledb/who/{ogroup}/network/{id}",
4093 "text" : "{id}"
eff914dc 4094 }
9fda36b0
DM
4095 ],
4096 "info" : {
4097 "POST" : {
6bd70b95 4098 "allowtoken" : 1,
9fda36b0
DM
4099 "description" : "Add 'IP Network' object.",
4100 "method" : "POST",
4101 "name" : "network",
4102 "parameters" : {
4103 "additionalProperties" : 0,
4104 "properties" : {
4105 "cidr" : {
4106 "description" : "Network address in CIDR notation.",
4107 "format" : "CIDR",
4108 "type" : "string",
4109 "typetext" : "<string>"
4110 },
4111 "ogroup" : {
4112 "description" : "Object Groups ID.",
4113 "type" : "integer",
4114 "typetext" : "<integer>"
4115 }
eff914dc
DM
4116 }
4117 },
c061d61d
DM
4118 "permissions" : {
4119 "check" : [
4120 "admin"
4121 ]
4122 },
9fda36b0
DM
4123 "protected" : 1,
4124 "proxyto" : "master",
4125 "returns" : {
4126 "description" : "The object ID.",
4127 "type" : "integer"
eff914dc 4128 }
eff914dc
DM
4129 }
4130 },
9fda36b0
DM
4131 "leaf" : 0,
4132 "path" : "/config/ruledb/who/{ogroup}/network",
4133 "text" : "network"
410dc2c9 4134 },
9fda36b0
DM
4135 {
4136 "children" : [
4137 {
4138 "info" : {
4139 "GET" : {
6bd70b95 4140 "allowtoken" : 1,
9fda36b0
DM
4141 "description" : "Read 'LDAP Group' object settings.",
4142 "method" : "GET",
4143 "name" : "read_ldap",
4144 "parameters" : {
4145 "additionalProperties" : 0,
4146 "properties" : {
4147 "id" : {
4148 "description" : "Object ID.",
4149 "type" : "integer",
4150 "typetext" : "<integer>"
4151 },
4152 "ogroup" : {
4153 "description" : "Object Groups ID.",
4154 "type" : "integer",
4155 "typetext" : "<integer>"
4156 }
4157 }
4158 },
c061d61d
DM
4159 "permissions" : {
4160 "check" : [
4161 "admin",
4162 "audit"
4163 ]
4164 },
9fda36b0
DM
4165 "proxyto" : "master",
4166 "returns" : {
4167 "properties" : {
4168 "id" : {
4169 "type" : "integer"
4170 }
4171 },
4172 "type" : "object"
4173 }
4174 },
4175 "PUT" : {
6bd70b95 4176 "allowtoken" : 1,
9fda36b0
DM
4177 "description" : "Update 'LDAP Group' object.",
4178 "method" : "PUT",
4179 "name" : "update_ldap",
4180 "parameters" : {
4181 "additionalProperties" : 0,
4182 "properties" : {
4183 "group" : {
4184 "description" : "LDAP Group DN",
4185 "maxLength" : 1024,
4186 "minLength" : 1,
4187 "optional" : 1,
4188 "type" : "string",
4189 "typetext" : "<string>"
4190 },
4191 "id" : {
4192 "description" : "Object ID.",
4193 "type" : "integer",
4194 "typetext" : "<integer>"
4195 },
4196 "mode" : {
4197 "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.",
4198 "enum" : [
4199 "any",
4200 "none",
4201 "group"
4202 ],
4203 "type" : "string"
4204 },
4205 "ogroup" : {
4206 "description" : "Object Groups ID.",
4207 "type" : "integer",
4208 "typetext" : "<integer>"
4209 },
4210 "profile" : {
4211 "description" : "Profile ID.",
4212 "format" : "pve-configid",
4213 "optional" : 1,
4214 "type" : "string",
4215 "typetext" : "<string>"
4216 }
4217 }
4218 },
c061d61d
DM
4219 "permissions" : {
4220 "check" : [
4221 "admin"
4222 ]
4223 },
9fda36b0
DM
4224 "protected" : 1,
4225 "proxyto" : "master",
4226 "returns" : {
4227 "type" : "null"
4228 }
4229 }
4230 },
4231 "leaf" : 1,
4232 "path" : "/config/ruledb/who/{ogroup}/ldap/{id}",
4233 "text" : "{id}"
4234 }
4235 ],
4236 "info" : {
4237 "POST" : {
6bd70b95 4238 "allowtoken" : 1,
9fda36b0
DM
4239 "description" : "Add 'LDAP Group' object.",
4240 "method" : "POST",
4241 "name" : "ldap",
4242 "parameters" : {
4243 "additionalProperties" : 0,
4244 "properties" : {
4245 "group" : {
4246 "description" : "LDAP Group DN",
4247 "maxLength" : 1024,
4248 "minLength" : 1,
4249 "optional" : 1,
4250 "type" : "string",
4251 "typetext" : "<string>"
4252 },
4253 "mode" : {
4254 "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.",
4255 "enum" : [
4256 "any",
4257 "none",
4258 "group"
4259 ],
4260 "type" : "string"
4261 },
4262 "ogroup" : {
4263 "description" : "Object Groups ID.",
4264 "type" : "integer",
4265 "typetext" : "<integer>"
4266 },
4267 "profile" : {
4268 "description" : "Profile ID.",
4269 "format" : "pve-configid",
4270 "optional" : 1,
4271 "type" : "string",
4272 "typetext" : "<string>"
4273 }
4274 }
4275 },
c061d61d
DM
4276 "permissions" : {
4277 "check" : [
4278 "admin"
4279 ]
4280 },
9fda36b0
DM
4281 "protected" : 1,
4282 "proxyto" : "master",
4283 "returns" : {
4284 "description" : "The object ID.",
4285 "type" : "integer"
4286 }
4287 }
4288 },
4289 "leaf" : 0,
4290 "path" : "/config/ruledb/who/{ogroup}/ldap",
4291 "text" : "ldap"
4292 },
4293 {
4294 "children" : [
4295 {
4296 "info" : {
4297 "GET" : {
6bd70b95 4298 "allowtoken" : 1,
9fda36b0
DM
4299 "description" : "Read 'LDAP User' object settings.",
4300 "method" : "GET",
4301 "name" : "read_ldapuser",
4302 "parameters" : {
4303 "additionalProperties" : 0,
4304 "properties" : {
4305 "id" : {
4306 "description" : "Object ID.",
4307 "type" : "integer",
4308 "typetext" : "<integer>"
4309 },
4310 "ogroup" : {
4311 "description" : "Object Groups ID.",
4312 "type" : "integer",
4313 "typetext" : "<integer>"
4314 }
4315 }
4316 },
c061d61d
DM
4317 "permissions" : {
4318 "check" : [
4319 "admin",
4320 "audit"
4321 ]
4322 },
9fda36b0
DM
4323 "proxyto" : "master",
4324 "returns" : {
4325 "properties" : {
4326 "id" : {
4327 "type" : "integer"
4328 }
4329 },
4330 "type" : "object"
4331 }
4332 },
4333 "PUT" : {
6bd70b95 4334 "allowtoken" : 1,
9fda36b0
DM
4335 "description" : "Update 'LDAP User' object.",
4336 "method" : "PUT",
4337 "name" : "update_ldapuser",
4338 "parameters" : {
4339 "additionalProperties" : 0,
4340 "properties" : {
4341 "account" : {
4342 "description" : "LDAP user account name.",
4343 "maxLength" : 1024,
4344 "minLength" : 1,
4345 "type" : "string",
4346 "typetext" : "<string>"
4347 },
4348 "id" : {
4349 "description" : "Object ID.",
4350 "type" : "integer",
4351 "typetext" : "<integer>"
4352 },
4353 "ogroup" : {
4354 "description" : "Object Groups ID.",
4355 "type" : "integer",
4356 "typetext" : "<integer>"
4357 },
4358 "profile" : {
4359 "description" : "Profile ID.",
4360 "format" : "pve-configid",
4361 "type" : "string",
4362 "typetext" : "<string>"
4363 }
4364 }
4365 },
c061d61d
DM
4366 "permissions" : {
4367 "check" : [
4368 "admin"
4369 ]
4370 },
9fda36b0
DM
4371 "protected" : 1,
4372 "proxyto" : "master",
4373 "returns" : {
4374 "type" : "null"
4375 }
4376 }
4377 },
4378 "leaf" : 1,
4379 "path" : "/config/ruledb/who/{ogroup}/ldapuser/{id}",
4380 "text" : "{id}"
4381 }
4382 ],
4383 "info" : {
4384 "POST" : {
6bd70b95 4385 "allowtoken" : 1,
9fda36b0
DM
4386 "description" : "Add 'LDAP User' object.",
4387 "method" : "POST",
4388 "name" : "ldapuser",
4389 "parameters" : {
4390 "additionalProperties" : 0,
4391 "properties" : {
4392 "account" : {
4393 "description" : "LDAP user account name.",
4394 "maxLength" : 1024,
4395 "minLength" : 1,
4396 "type" : "string",
4397 "typetext" : "<string>"
4398 },
4399 "ogroup" : {
4400 "description" : "Object Groups ID.",
4401 "type" : "integer",
4402 "typetext" : "<integer>"
4403 },
4404 "profile" : {
4405 "description" : "Profile ID.",
4406 "format" : "pve-configid",
4407 "type" : "string",
4408 "typetext" : "<string>"
4409 }
4410 }
4411 },
c061d61d
DM
4412 "permissions" : {
4413 "check" : [
4414 "admin"
4415 ]
4416 },
9fda36b0
DM
4417 "protected" : 1,
4418 "proxyto" : "master",
4419 "returns" : {
4420 "description" : "The object ID.",
4421 "type" : "integer"
4422 }
4423 }
4424 },
4425 "leaf" : 0,
4426 "path" : "/config/ruledb/who/{ogroup}/ldapuser",
4427 "text" : "ldapuser"
4428 }
4429 ],
4430 "info" : {
4431 "DELETE" : {
6bd70b95 4432 "allowtoken" : 1,
9fda36b0
DM
4433 "description" : "Delete a 'who' group.",
4434 "method" : "DELETE",
4435 "name" : "delete_{$oclass}_group",
4436 "parameters" : {
4437 "additionalProperties" : 0,
4438 "properties" : {
4439 "ogroup" : {
4440 "description" : "Object Group ID.",
4441 "type" : "integer",
4442 "typetext" : "<integer>"
4443 }
4444 }
4445 },
732d76e1
DM
4446 "permissions" : {
4447 "check" : [
4448 "admin"
4449 ]
4450 },
9fda36b0
DM
4451 "protected" : 1,
4452 "proxyto" : "master",
4453 "returns" : {
4454 "type" : "null"
4455 }
4456 },
4457 "GET" : {
6bd70b95 4458 "allowtoken" : 1,
9fda36b0
DM
4459 "description" : "Directory index.",
4460 "method" : "GET",
4461 "name" : "index",
4462 "parameters" : {
4463 "additionalProperties" : 0,
4464 "properties" : {
4465 "ogroup" : {
4466 "description" : "Object Group ID.",
4467 "type" : "integer",
4468 "typetext" : "<integer>"
4469 }
4470 }
4471 },
732d76e1
DM
4472 "permissions" : {
4473 "check" : [
4474 "admin",
4475 "audit"
4476 ]
4477 },
9fda36b0
DM
4478 "returns" : {
4479 "items" : {
4480 "properties" : {
4481 "subdir" : {
4482 "type" : "string"
4483 }
4484 },
4485 "type" : "object"
4486 },
4487 "links" : [
4488 {
4489 "href" : "{subdir}",
4490 "rel" : "child"
4491 }
4492 ],
4493 "type" : "array"
4494 }
4495 }
4496 },
4497 "leaf" : 0,
4498 "path" : "/config/ruledb/who/{ogroup}",
4499 "text" : "{ogroup}"
4500 }
4501 ],
4502 "info" : {
4503 "GET" : {
6bd70b95 4504 "allowtoken" : 1,
9fda36b0
DM
4505 "description" : "Get list of 'who' groups.",
4506 "method" : "GET",
4507 "name" : "list_who_groups",
4508 "parameters" : {
4509 "additionalProperties" : 0
4510 },
732d76e1
DM
4511 "permissions" : {
4512 "check" : [
4513 "admin",
4514 "audit"
4515 ]
4516 },
9fda36b0
DM
4517 "proxyto" : "master",
4518 "returns" : {
4519 "items" : {
4520 "properties" : {
4521 "id" : {
4522 "type" : "integer"
4523 }
4524 },
4525 "type" : "object"
4526 },
4527 "type" : "array"
4528 }
4529 },
4530 "POST" : {
6bd70b95 4531 "allowtoken" : 1,
9fda36b0
DM
4532 "description" : "Create a new 'who' group.",
4533 "method" : "POST",
4534 "name" : "create_who_group",
4535 "parameters" : {
4536 "additionalProperties" : 0,
4537 "properties" : {
eff914dc
DM
4538 "info" : {
4539 "description" : "Informational comment.",
4540 "maxLength" : 255,
4541 "optional" : 1,
4542 "type" : "string",
4543 "typetext" : "<string>"
4544 },
4545 "name" : {
4546 "description" : "Group name.",
4547 "maxLength" : 255,
4548 "type" : "string",
4549 "typetext" : "<string>"
4550 }
4551 }
4552 },
732d76e1
DM
4553 "permissions" : {
4554 "check" : [
4555 "admin"
4556 ]
4557 },
eff914dc
DM
4558 "protected" : 1,
4559 "proxyto" : "master",
4560 "returns" : {
4561 "type" : "integer"
4562 }
410dc2c9
DM
4563 }
4564 },
eff914dc 4565 "leaf" : 0,
410dc2c9
DM
4566 "path" : "/config/ruledb/who",
4567 "text" : "who"
4568 }
4569 ],
4570 "info" : {
4571 "GET" : {
6bd70b95 4572 "allowtoken" : 1,
410dc2c9
DM
4573 "description" : "Directory index.",
4574 "method" : "GET",
4575 "name" : "index",
4576 "parameters" : {
4577 "additionalProperties" : 0
4578 },
732d76e1
DM
4579 "permissions" : {
4580 "check" : [
4581 "admin",
4582 "audit"
4583 ]
4584 },
410dc2c9
DM
4585 "returns" : {
4586 "items" : {
4587 "properties" : {},
4588 "type" : "object"
4589 },
4590 "links" : [
4591 {
4592 "href" : "{name}",
4593 "rel" : "child"
4594 }
4595 ],
4596 "type" : "array"
4597 }
d7cd791b
DM
4598 },
4599 "POST" : {
6bd70b95 4600 "allowtoken" : 1,
d7cd791b
DM
4601 "description" : "Reset PMG rule database back to factory defaults.",
4602 "method" : "POST",
4603 "name" : "reset_ruledb",
4604 "parameters" : {
4605 "additionalProperties" : 0
4606 },
4a46ced6
DM
4607 "permissions" : {
4608 "check" : [
4609 "admin"
4610 ]
4611 },
d7cd791b
DM
4612 "protected" : 1,
4613 "returns" : {
4614 "type" : "null"
4615 }
410dc2c9
DM
4616 }
4617 },
4618 "leaf" : 0,
4619 "path" : "/config/ruledb",
4620 "text" : "ruledb"
4621 },
4622 {
4623 "children" : [
4624 {
eff914dc
DM
4625 "children" : [
4626 {
4627 "info" : {
4628 "DELETE" : {
6bd70b95 4629 "allowtoken" : 1,
eff914dc
DM
4630 "description" : "Remove an object from the SMTP whitelist.",
4631 "method" : "DELETE",
4632 "name" : "delete_object",
4633 "parameters" : {
4634 "additionalProperties" : 0,
4635 "properties" : {
4636 "id" : {
4637 "description" : "Object ID.",
4638 "type" : "integer",
4639 "typetext" : "<integer>"
4640 }
4641 }
4642 },
732d76e1
DM
4643 "permissions" : {
4644 "check" : [
4645 "admin"
4646 ]
4647 },
bb6e6e0d 4648 "protected" : 1,
eff914dc
DM
4649 "proxyto" : "master",
4650 "returns" : {
4651 "type" : "null"
4652 }
4653 }
4654 },
4655 "leaf" : 1,
4656 "path" : "/config/whitelist/objects/{id}",
4657 "text" : "{id}"
4658 }
4659 ],
410dc2c9 4660 "info" : {
eff914dc 4661 "GET" : {
6bd70b95 4662 "allowtoken" : 1,
eff914dc
DM
4663 "description" : "Get list of all SMTP whitelist entries.",
4664 "method" : "GET",
4665 "name" : "objects",
4666 "parameters" : {
4667 "additionalProperties" : 0
4668 },
732d76e1
DM
4669 "permissions" : {
4670 "check" : [
4671 "admin",
4672 "audit"
4673 ]
4674 },
eff914dc
DM
4675 "proxyto" : "master",
4676 "returns" : {
4677 "items" : {
4678 "properties" : {
4679 "id" : {
4680 "type" : "integer"
4681 }
4682 },
4683 "type" : "object"
4684 },
4685 "links" : [
4686 {
4687 "href" : "{id}",
4688 "rel" : "child"
4689 }
4690 ],
4691 "type" : "array"
4692 }
4693 }
4694 },
4695 "leaf" : 0,
4696 "path" : "/config/whitelist/objects",
4697 "text" : "objects"
4698 },
4699 {
4700 "children" : [
4701 {
4702 "info" : {
4703 "GET" : {
6bd70b95 4704 "allowtoken" : 1,
eff914dc
DM
4705 "description" : "Read 'Mail address' object settings.",
4706 "method" : "GET",
4707 "name" : "read_email",
4708 "parameters" : {
4709 "additionalProperties" : 0,
4710 "properties" : {
4711 "id" : {
4712 "description" : "Object ID.",
4713 "type" : "integer",
4714 "typetext" : "<integer>"
4715 }
4716 }
4717 },
c061d61d
DM
4718 "permissions" : {
4719 "check" : [
4720 "admin",
4721 "audit"
4722 ]
4723 },
eff914dc
DM
4724 "proxyto" : "master",
4725 "returns" : {
4726 "properties" : {
4727 "id" : {
4728 "type" : "integer"
4729 }
4730 },
4731 "type" : "object"
4732 }
4733 },
4734 "PUT" : {
6bd70b95 4735 "allowtoken" : 1,
eff914dc
DM
4736 "description" : "Update 'Mail address' object.",
4737 "method" : "PUT",
4738 "name" : "update_email",
4739 "parameters" : {
4740 "additionalProperties" : 0,
4741 "properties" : {
4742 "email" : {
4743 "description" : "Email address.",
4744 "format" : "email",
4745 "type" : "string",
4746 "typetext" : "<string>"
4747 },
4748 "id" : {
4749 "description" : "Object ID.",
4750 "type" : "integer",
4751 "typetext" : "<integer>"
4752 }
4753 }
4754 },
c061d61d
DM
4755 "permissions" : {
4756 "check" : [
4757 "admin"
4758 ]
4759 },
a55e94a6 4760 "protected" : 1,
eff914dc
DM
4761 "proxyto" : "master",
4762 "returns" : {
4763 "type" : "null"
4764 }
4765 }
4766 },
4767 "leaf" : 1,
4768 "path" : "/config/whitelist/email/{id}",
4769 "text" : "{id}"
4770 }
4771 ],
4772 "info" : {
4773 "POST" : {
6bd70b95 4774 "allowtoken" : 1,
eff914dc
DM
4775 "description" : "Add 'Mail address' object.",
4776 "method" : "POST",
4777 "name" : "email",
410dc2c9
DM
4778 "parameters" : {
4779 "additionalProperties" : 0,
4780 "properties" : {
eff914dc
DM
4781 "email" : {
4782 "description" : "Email address.",
4783 "format" : "email",
410dc2c9
DM
4784 "type" : "string",
4785 "typetext" : "<string>"
4786 }
4787 }
4788 },
c061d61d
DM
4789 "permissions" : {
4790 "check" : [
4791 "admin"
4792 ]
4793 },
a55e94a6 4794 "protected" : 1,
410dc2c9
DM
4795 "proxyto" : "master",
4796 "returns" : {
eff914dc
DM
4797 "description" : "The object ID.",
4798 "type" : "integer"
410dc2c9 4799 }
eff914dc
DM
4800 }
4801 },
4802 "leaf" : 0,
4803 "path" : "/config/whitelist/email",
4804 "text" : "email"
4805 },
4806 {
4807 "children" : [
4808 {
4809 "info" : {
4810 "GET" : {
6bd70b95 4811 "allowtoken" : 1,
eff914dc
DM
4812 "description" : "Read 'Mail address' object settings.",
4813 "method" : "GET",
4814 "name" : "read_receiver",
4815 "parameters" : {
4816 "additionalProperties" : 0,
4817 "properties" : {
4818 "id" : {
4819 "description" : "Object ID.",
4820 "type" : "integer",
4821 "typetext" : "<integer>"
4822 }
4823 }
4824 },
c061d61d
DM
4825 "permissions" : {
4826 "check" : [
4827 "admin",
4828 "audit"
4829 ]
4830 },
eff914dc
DM
4831 "proxyto" : "master",
4832 "returns" : {
4833 "properties" : {
4834 "id" : {
4835 "type" : "integer"
4836 }
4837 },
4838 "type" : "object"
4839 }
4840 },
4841 "PUT" : {
6bd70b95 4842 "allowtoken" : 1,
eff914dc
DM
4843 "description" : "Update 'Mail address' object.",
4844 "method" : "PUT",
4845 "name" : "update_receiver",
4846 "parameters" : {
4847 "additionalProperties" : 0,
4848 "properties" : {
4849 "email" : {
4850 "description" : "Email address.",
4851 "format" : "email",
4852 "type" : "string",
4853 "typetext" : "<string>"
4854 },
4855 "id" : {
4856 "description" : "Object ID.",
4857 "type" : "integer",
4858 "typetext" : "<integer>"
4859 }
4860 }
4861 },
c061d61d
DM
4862 "permissions" : {
4863 "check" : [
4864 "admin"
4865 ]
4866 },
a55e94a6 4867 "protected" : 1,
eff914dc
DM
4868 "proxyto" : "master",
4869 "returns" : {
4870 "type" : "null"
4871 }
4872 }
4873 },
4874 "leaf" : 1,
4875 "path" : "/config/whitelist/receiver/{id}",
4876 "text" : "{id}"
4877 }
4878 ],
4879 "info" : {
4880 "POST" : {
6bd70b95 4881 "allowtoken" : 1,
eff914dc
DM
4882 "description" : "Add 'Mail address' object.",
4883 "method" : "POST",
4884 "name" : "receiver",
410dc2c9
DM
4885 "parameters" : {
4886 "additionalProperties" : 0,
4887 "properties" : {
eff914dc
DM
4888 "email" : {
4889 "description" : "Email address.",
4890 "format" : "email",
410dc2c9
DM
4891 "type" : "string",
4892 "typetext" : "<string>"
4893 }
4894 }
4895 },
c061d61d
DM
4896 "permissions" : {
4897 "check" : [
4898 "admin"
4899 ]
4900 },
a55e94a6 4901 "protected" : 1,
410dc2c9 4902 "proxyto" : "master",
eff914dc
DM
4903 "returns" : {
4904 "description" : "The object ID.",
4905 "type" : "integer"
4906 }
4907 }
4908 },
4909 "leaf" : 0,
4910 "path" : "/config/whitelist/receiver",
4911 "text" : "receiver"
4912 },
4913 {
4914 "children" : [
4915 {
4916 "info" : {
4917 "GET" : {
6bd70b95 4918 "allowtoken" : 1,
eff914dc
DM
4919 "description" : "Read 'Domain' object settings.",
4920 "method" : "GET",
4921 "name" : "read_domain",
4922 "parameters" : {
4923 "additionalProperties" : 0,
4924 "properties" : {
4925 "id" : {
4926 "description" : "Object ID.",
4927 "type" : "integer",
4928 "typetext" : "<integer>"
4929 }
4930 }
4931 },
c061d61d
DM
4932 "permissions" : {
4933 "check" : [
4934 "admin",
4935 "audit"
4936 ]
4937 },
eff914dc
DM
4938 "proxyto" : "master",
4939 "returns" : {
4940 "properties" : {
4941 "id" : {
4942 "type" : "integer"
4943 }
4944 },
4945 "type" : "object"
4946 }
4947 },
4948 "PUT" : {
6bd70b95 4949 "allowtoken" : 1,
eff914dc
DM
4950 "description" : "Update 'Domain' object.",
4951 "method" : "PUT",
4952 "name" : "update_domain",
4953 "parameters" : {
4954 "additionalProperties" : 0,
4955 "properties" : {
4956 "domain" : {
4957 "description" : "DNS domain name (Sender).",
4958 "format" : "dns-name",
4959 "type" : "string",
4960 "typetext" : "<string>"
4961 },
4962 "id" : {
4963 "description" : "Object ID.",
4964 "type" : "integer",
4965 "typetext" : "<integer>"
4966 }
4967 }
4968 },
c061d61d
DM
4969 "permissions" : {
4970 "check" : [
4971 "admin"
4972 ]
4973 },
a55e94a6 4974 "protected" : 1,
eff914dc
DM
4975 "proxyto" : "master",
4976 "returns" : {
4977 "type" : "null"
4978 }
4979 }
4980 },
4981 "leaf" : 1,
4982 "path" : "/config/whitelist/domain/{id}",
4983 "text" : "{id}"
4984 }
4985 ],
4986 "info" : {
4987 "POST" : {
6bd70b95 4988 "allowtoken" : 1,
eff914dc
DM
4989 "description" : "Add 'Domain' object.",
4990 "method" : "POST",
4991 "name" : "domain",
410dc2c9
DM
4992 "parameters" : {
4993 "additionalProperties" : 0,
4994 "properties" : {
eff914dc
DM
4995 "domain" : {
4996 "description" : "DNS domain name (Sender).",
4997 "format" : "dns-name",
410dc2c9
DM
4998 "type" : "string",
4999 "typetext" : "<string>"
eff914dc
DM
5000 }
5001 }
5002 },
c061d61d
DM
5003 "permissions" : {
5004 "check" : [
5005 "admin"
5006 ]
5007 },
a55e94a6 5008 "protected" : 1,
eff914dc
DM
5009 "proxyto" : "master",
5010 "returns" : {
5011 "description" : "The object ID.",
5012 "type" : "integer"
5013 }
5014 }
5015 },
5016 "leaf" : 0,
5017 "path" : "/config/whitelist/domain",
5018 "text" : "domain"
5019 },
5020 {
5021 "children" : [
5022 {
5023 "info" : {
5024 "GET" : {
6bd70b95 5025 "allowtoken" : 1,
eff914dc
DM
5026 "description" : "Read 'Domain' object settings.",
5027 "method" : "GET",
5028 "name" : "read_receiver_domain",
5029 "parameters" : {
5030 "additionalProperties" : 0,
5031 "properties" : {
5032 "id" : {
5033 "description" : "Object ID.",
5034 "type" : "integer",
5035 "typetext" : "<integer>"
5036 }
5037 }
410dc2c9 5038 },
c061d61d
DM
5039 "permissions" : {
5040 "check" : [
5041 "admin",
5042 "audit"
5043 ]
5044 },
eff914dc
DM
5045 "proxyto" : "master",
5046 "returns" : {
5047 "properties" : {
5048 "id" : {
5049 "type" : "integer"
5050 }
5051 },
5052 "type" : "object"
5053 }
5054 },
5055 "PUT" : {
6bd70b95 5056 "allowtoken" : 1,
eff914dc
DM
5057 "description" : "Update 'Domain' object.",
5058 "method" : "PUT",
5059 "name" : "update_receiver_domain",
5060 "parameters" : {
5061 "additionalProperties" : 0,
5062 "properties" : {
5063 "domain" : {
5064 "description" : "DNS domain name (Sender).",
5065 "format" : "dns-name",
5066 "type" : "string",
5067 "typetext" : "<string>"
5068 },
5069 "id" : {
5070 "description" : "Object ID.",
5071 "type" : "integer",
5072 "typetext" : "<integer>"
5073 }
5074 }
410dc2c9 5075 },
c061d61d
DM
5076 "permissions" : {
5077 "check" : [
5078 "admin"
5079 ]
5080 },
a55e94a6 5081 "protected" : 1,
eff914dc
DM
5082 "proxyto" : "master",
5083 "returns" : {
5084 "type" : "null"
5085 }
5086 }
5087 },
5088 "leaf" : 1,
5089 "path" : "/config/whitelist/receiver_domain/{id}",
5090 "text" : "{id}"
5091 }
5092 ],
5093 "info" : {
5094 "POST" : {
6bd70b95 5095 "allowtoken" : 1,
eff914dc
DM
5096 "description" : "Add 'Domain' object.",
5097 "method" : "POST",
5098 "name" : "receiver_domain",
5099 "parameters" : {
5100 "additionalProperties" : 0,
5101 "properties" : {
5102 "domain" : {
5103 "description" : "DNS domain name (Sender).",
5104 "format" : "dns-name",
410dc2c9
DM
5105 "type" : "string",
5106 "typetext" : "<string>"
eff914dc
DM
5107 }
5108 }
5109 },
c061d61d
DM
5110 "permissions" : {
5111 "check" : [
5112 "admin"
5113 ]
5114 },
a55e94a6 5115 "protected" : 1,
eff914dc
DM
5116 "proxyto" : "master",
5117 "returns" : {
5118 "description" : "The object ID.",
5119 "type" : "integer"
5120 }
5121 }
5122 },
5123 "leaf" : 0,
5124 "path" : "/config/whitelist/receiver_domain",
5125 "text" : "receiver_domain"
5126 },
5127 {
5128 "children" : [
5129 {
5130 "info" : {
5131 "GET" : {
6bd70b95 5132 "allowtoken" : 1,
eff914dc
DM
5133 "description" : "Read 'Regular Expression' object settings.",
5134 "method" : "GET",
5135 "name" : "read_regex",
5136 "parameters" : {
5137 "additionalProperties" : 0,
5138 "properties" : {
5139 "id" : {
5140 "description" : "Object ID.",
5141 "type" : "integer",
5142 "typetext" : "<integer>"
5143 }
5144 }
410dc2c9 5145 },
c061d61d
DM
5146 "permissions" : {
5147 "check" : [
5148 "admin",
5149 "audit"
5150 ]
5151 },
eff914dc
DM
5152 "proxyto" : "master",
5153 "returns" : {
5154 "properties" : {
5155 "id" : {
5156 "type" : "integer"
5157 }
5158 },
5159 "type" : "object"
5160 }
5161 },
5162 "PUT" : {
6bd70b95 5163 "allowtoken" : 1,
eff914dc
DM
5164 "description" : "Update 'Regular Expression' object.",
5165 "method" : "PUT",
5166 "name" : "update_regex",
5167 "parameters" : {
5168 "additionalProperties" : 0,
5169 "properties" : {
5170 "id" : {
5171 "description" : "Object ID.",
5172 "type" : "integer",
5173 "typetext" : "<integer>"
5174 },
5175 "regex" : {
5176 "description" : "Email address regular expression.",
5177 "maxLength" : 1024,
5178 "type" : "string",
5179 "typetext" : "<string>"
5180 }
5181 }
5182 },
c061d61d
DM
5183 "permissions" : {
5184 "check" : [
5185 "admin"
5186 ]
5187 },
a55e94a6 5188 "protected" : 1,
eff914dc
DM
5189 "proxyto" : "master",
5190 "returns" : {
5191 "type" : "null"
5192 }
5193 }
5194 },
5195 "leaf" : 1,
5196 "path" : "/config/whitelist/regex/{id}",
5197 "text" : "{id}"
5198 }
5199 ],
5200 "info" : {
5201 "POST" : {
6bd70b95 5202 "allowtoken" : 1,
eff914dc
DM
5203 "description" : "Add 'Regular Expression' object.",
5204 "method" : "POST",
5205 "name" : "regex",
5206 "parameters" : {
5207 "additionalProperties" : 0,
5208 "properties" : {
5209 "regex" : {
5210 "description" : "Email address regular expression.",
5211 "maxLength" : 1024,
410dc2c9
DM
5212 "type" : "string",
5213 "typetext" : "<string>"
eff914dc
DM
5214 }
5215 }
5216 },
c061d61d
DM
5217 "permissions" : {
5218 "check" : [
5219 "admin"
5220 ]
5221 },
a55e94a6 5222 "protected" : 1,
eff914dc
DM
5223 "proxyto" : "master",
5224 "returns" : {
5225 "description" : "The object ID.",
5226 "type" : "integer"
5227 }
5228 }
5229 },
5230 "leaf" : 0,
5231 "path" : "/config/whitelist/regex",
5232 "text" : "regex"
5233 },
5234 {
5235 "children" : [
5236 {
5237 "info" : {
5238 "GET" : {
6bd70b95 5239 "allowtoken" : 1,
eff914dc
DM
5240 "description" : "Read 'Regular Expression' object settings.",
5241 "method" : "GET",
5242 "name" : "read_receiver_regex",
5243 "parameters" : {
5244 "additionalProperties" : 0,
5245 "properties" : {
5246 "id" : {
5247 "description" : "Object ID.",
5248 "type" : "integer",
5249 "typetext" : "<integer>"
5250 }
5251 }
5252 },
c061d61d
DM
5253 "permissions" : {
5254 "check" : [
5255 "admin",
5256 "audit"
5257 ]
5258 },
eff914dc
DM
5259 "proxyto" : "master",
5260 "returns" : {
5261 "properties" : {
5262 "id" : {
5263 "type" : "integer"
5264 }
5265 },
5266 "type" : "object"
5267 }
5268 },
5269 "PUT" : {
6bd70b95 5270 "allowtoken" : 1,
eff914dc
DM
5271 "description" : "Update 'Regular Expression' object.",
5272 "method" : "PUT",
5273 "name" : "update_receiver_regex",
5274 "parameters" : {
5275 "additionalProperties" : 0,
5276 "properties" : {
5277 "id" : {
5278 "description" : "Object ID.",
5279 "type" : "integer",
5280 "typetext" : "<integer>"
5281 },
5282 "regex" : {
5283 "description" : "Email address regular expression.",
5284 "maxLength" : 1024,
5285 "type" : "string",
5286 "typetext" : "<string>"
5287 }
5288 }
5289 },
c061d61d
DM
5290 "permissions" : {
5291 "check" : [
5292 "admin"
5293 ]
5294 },
a55e94a6 5295 "protected" : 1,
eff914dc
DM
5296 "proxyto" : "master",
5297 "returns" : {
5298 "type" : "null"
5299 }
5300 }
5301 },
5302 "leaf" : 1,
5303 "path" : "/config/whitelist/receiver_regex/{id}",
5304 "text" : "{id}"
5305 }
5306 ],
5307 "info" : {
5308 "POST" : {
6bd70b95 5309 "allowtoken" : 1,
eff914dc
DM
5310 "description" : "Add 'Regular Expression' object.",
5311 "method" : "POST",
5312 "name" : "receiver_regex",
5313 "parameters" : {
5314 "additionalProperties" : 0,
5315 "properties" : {
5316 "regex" : {
5317 "description" : "Email address regular expression.",
5318 "maxLength" : 1024,
5319 "type" : "string",
5320 "typetext" : "<string>"
5321 }
5322 }
5323 },
c061d61d
DM
5324 "permissions" : {
5325 "check" : [
5326 "admin"
5327 ]
5328 },
a55e94a6 5329 "protected" : 1,
eff914dc
DM
5330 "proxyto" : "master",
5331 "returns" : {
5332 "description" : "The object ID.",
5333 "type" : "integer"
5334 }
5335 }
5336 },
5337 "leaf" : 0,
5338 "path" : "/config/whitelist/receiver_regex",
5339 "text" : "receiver_regex"
5340 },
5341 {
5342 "children" : [
5343 {
5344 "info" : {
5345 "GET" : {
6bd70b95 5346 "allowtoken" : 1,
eff914dc
DM
5347 "description" : "Read 'IP Address' object settings.",
5348 "method" : "GET",
5349 "name" : "read_ip",
5350 "parameters" : {
5351 "additionalProperties" : 0,
5352 "properties" : {
5353 "id" : {
5354 "description" : "Object ID.",
5355 "type" : "integer",
5356 "typetext" : "<integer>"
5357 }
5358 }
5359 },
c061d61d
DM
5360 "permissions" : {
5361 "check" : [
5362 "admin",
5363 "audit"
5364 ]
5365 },
eff914dc
DM
5366 "proxyto" : "master",
5367 "returns" : {
5368 "properties" : {
5369 "id" : {
5370 "type" : "integer"
5371 }
5372 },
5373 "type" : "object"
5374 }
5375 },
5376 "PUT" : {
6bd70b95 5377 "allowtoken" : 1,
eff914dc
DM
5378 "description" : "Update 'IP Address' object.",
5379 "method" : "PUT",
5380 "name" : "update_ip",
5381 "parameters" : {
5382 "additionalProperties" : 0,
5383 "properties" : {
5384 "id" : {
5385 "description" : "Object ID.",
5386 "type" : "integer",
5387 "typetext" : "<integer>"
5388 },
5389 "ip" : {
5390 "description" : "IP address",
5391 "format" : "ip",
5392 "type" : "string",
5393 "typetext" : "<string>"
5394 }
5395 }
5396 },
c061d61d
DM
5397 "permissions" : {
5398 "check" : [
5399 "admin"
5400 ]
5401 },
a55e94a6 5402 "protected" : 1,
eff914dc
DM
5403 "proxyto" : "master",
5404 "returns" : {
5405 "type" : "null"
5406 }
5407 }
5408 },
5409 "leaf" : 1,
5410 "path" : "/config/whitelist/ip/{id}",
5411 "text" : "{id}"
5412 }
5413 ],
5414 "info" : {
5415 "POST" : {
6bd70b95 5416 "allowtoken" : 1,
eff914dc
DM
5417 "description" : "Add 'IP Address' object.",
5418 "method" : "POST",
5419 "name" : "ip",
5420 "parameters" : {
5421 "additionalProperties" : 0,
5422 "properties" : {
5423 "ip" : {
5424 "description" : "IP address",
5425 "format" : "ip",
5426 "type" : "string",
5427 "typetext" : "<string>"
5428 }
5429 }
5430 },
c061d61d
DM
5431 "permissions" : {
5432 "check" : [
5433 "admin"
5434 ]
5435 },
a55e94a6 5436 "protected" : 1,
eff914dc
DM
5437 "proxyto" : "master",
5438 "returns" : {
5439 "description" : "The object ID.",
5440 "type" : "integer"
5441 }
5442 }
5443 },
5444 "leaf" : 0,
5445 "path" : "/config/whitelist/ip",
5446 "text" : "ip"
5447 },
5448 {
5449 "children" : [
5450 {
5451 "info" : {
5452 "GET" : {
6bd70b95 5453 "allowtoken" : 1,
eff914dc
DM
5454 "description" : "Read 'IP Network' object settings.",
5455 "method" : "GET",
5456 "name" : "read_network",
5457 "parameters" : {
5458 "additionalProperties" : 0,
5459 "properties" : {
5460 "id" : {
5461 "description" : "Object ID.",
5462 "type" : "integer",
5463 "typetext" : "<integer>"
5464 }
5465 }
5466 },
c061d61d
DM
5467 "permissions" : {
5468 "check" : [
5469 "admin",
5470 "audit"
5471 ]
5472 },
eff914dc
DM
5473 "proxyto" : "master",
5474 "returns" : {
5475 "properties" : {
5476 "id" : {
5477 "type" : "integer"
5478 }
5479 },
5480 "type" : "object"
5481 }
5482 },
5483 "PUT" : {
6bd70b95 5484 "allowtoken" : 1,
eff914dc
DM
5485 "description" : "Update 'IP Network' object.",
5486 "method" : "PUT",
5487 "name" : "update_network",
5488 "parameters" : {
5489 "additionalProperties" : 0,
5490 "properties" : {
5491 "cidr" : {
5492 "description" : "Network address in CIDR notation.",
5493 "format" : "CIDR",
5494 "type" : "string",
5495 "typetext" : "<string>"
5496 },
5497 "id" : {
5498 "description" : "Object ID.",
5499 "type" : "integer",
5500 "typetext" : "<integer>"
5501 }
5502 }
5503 },
c061d61d
DM
5504 "permissions" : {
5505 "check" : [
5506 "admin"
5507 ]
5508 },
a55e94a6 5509 "protected" : 1,
eff914dc
DM
5510 "proxyto" : "master",
5511 "returns" : {
5512 "type" : "null"
5513 }
5514 }
5515 },
5516 "leaf" : 1,
5517 "path" : "/config/whitelist/network/{id}",
5518 "text" : "{id}"
5519 }
5520 ],
5521 "info" : {
5522 "POST" : {
6bd70b95 5523 "allowtoken" : 1,
eff914dc
DM
5524 "description" : "Add 'IP Network' object.",
5525 "method" : "POST",
5526 "name" : "network",
5527 "parameters" : {
5528 "additionalProperties" : 0,
5529 "properties" : {
5530 "cidr" : {
5531 "description" : "Network address in CIDR notation.",
5532 "format" : "CIDR",
5533 "type" : "string",
5534 "typetext" : "<string>"
5535 }
5536 }
5537 },
c061d61d
DM
5538 "permissions" : {
5539 "check" : [
5540 "admin"
5541 ]
5542 },
a55e94a6 5543 "protected" : 1,
eff914dc
DM
5544 "proxyto" : "master",
5545 "returns" : {
5546 "description" : "The object ID.",
5547 "type" : "integer"
5548 }
5549 }
5550 },
5551 "leaf" : 0,
5552 "path" : "/config/whitelist/network",
5553 "text" : "network"
5554 }
5555 ],
5556 "info" : {
5557 "GET" : {
6bd70b95 5558 "allowtoken" : 1,
eff914dc
DM
5559 "description" : "Directory index.",
5560 "method" : "GET",
5561 "name" : "index",
5562 "parameters" : {
5563 "additionalProperties" : 0
5564 },
732d76e1
DM
5565 "permissions" : {
5566 "check" : [
5567 "admin",
5568 "audit"
5569 ]
5570 },
eff914dc
DM
5571 "returns" : {
5572 "items" : {
5573 "properties" : {
5574 "subdir" : {
5575 "type" : "string"
5576 }
5577 },
5578 "type" : "object"
5579 },
5580 "links" : [
5581 {
5582 "href" : "{subdir}",
5583 "rel" : "child"
5584 }
5585 ],
5586 "type" : "array"
5587 }
5588 }
5589 },
5590 "leaf" : 0,
5591 "path" : "/config/whitelist",
5592 "text" : "whitelist"
5593 },
5594 {
5595 "children" : [
5596 {
a55e94a6
DM
5597 "children" : [
5598 {
5599 "info" : {
5600 "GET" : {
6bd70b95 5601 "allowtoken" : 1,
a55e94a6
DM
5602 "description" : "Get LDAP profile configuration.",
5603 "method" : "GET",
5604 "name" : "read_config",
5605 "parameters" : {
5606 "additionalProperties" : 0,
5607 "properties" : {
5608 "profile" : {
5609 "description" : "Profile ID.",
5610 "format" : "pve-configid",
5611 "type" : "string",
5612 "typetext" : "<string>"
5613 }
5614 }
5615 },
5616 "permissions" : {
5617 "check" : [
4a46ced6
DM
5618 "admin",
5619 "audit"
a55e94a6
DM
5620 ]
5621 },
5622 "proxyto" : "master",
5623 "returns" : {}
5624 },
5625 "PUT" : {
6bd70b95 5626 "allowtoken" : 1,
a55e94a6
DM
5627 "description" : "Update LDAP profile settings.",
5628 "method" : "PUT",
5629 "name" : "update_config",
5630 "parameters" : {
5631 "additionalProperties" : 0,
5632 "properties" : {
5633 "accountattr" : {
732d76e1 5634 "default" : "sAMAccountName, uid",
a55e94a6 5635 "description" : "Account attribute name name.",
274b47fc 5636 "format" : "ldap-simple-attr-list",
a55e94a6 5637 "optional" : 1,
274b47fc
DM
5638 "type" : "string",
5639 "typetext" : "<string>"
a55e94a6
DM
5640 },
5641 "basedn" : {
5642 "description" : "Base domain name.",
5643 "optional" : 1,
5644 "type" : "string",
5645 "typetext" : "<string>"
5646 },
5647 "binddn" : {
5648 "description" : "Bind domain name.",
5649 "optional" : 1,
5650 "type" : "string",
5651 "typetext" : "<string>"
5652 },
5653 "bindpw" : {
5654 "description" : "Bind password.",
5655 "optional" : 1,
5656 "type" : "string",
5657 "typetext" : "<string>"
5658 },
241ac83c
TL
5659 "cafile" : {
5660 "description" : "Path to CA file. Only useful with option 'verify'",
5661 "optional" : 1,
5662 "type" : "string",
5663 "typetext" : "<string>"
5664 },
a55e94a6
DM
5665 "comment" : {
5666 "description" : "Description.",
5667 "maxLength" : 4096,
5668 "optional" : 1,
5669 "type" : "string",
5670 "typetext" : "<string>"
5671 },
5672 "delete" : {
5673 "description" : "A list of settings you want to delete.",
5674 "format" : "pve-configid-list",
5675 "maxLength" : 4096,
5676 "optional" : 1,
5677 "type" : "string",
5678 "typetext" : "<string>"
5679 },
5680 "digest" : {
5681 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5682 "maxLength" : 40,
5683 "optional" : 1,
5684 "type" : "string",
5685 "typetext" : "<string>"
5686 },
5687 "disable" : {
5688 "description" : "Flag to disable/deactivate the entry.",
5689 "optional" : 1,
5690 "type" : "boolean",
5691 "typetext" : "<boolean>"
5692 },
5693 "filter" : {
5694 "description" : "LDAP filter.",
5695 "optional" : 1,
5696 "type" : "string",
5697 "typetext" : "<string>"
5698 },
5699 "groupbasedn" : {
5700 "description" : "Base domain name for groups.",
5701 "optional" : 1,
5702 "type" : "string",
5703 "typetext" : "<string>"
5704 },
732d76e1
DM
5705 "groupclass" : {
5706 "default" : "group, univentionGroup, ipausergroup",
5707 "description" : "List of objectclasses for groups.",
274b47fc 5708 "format" : "ldap-simple-attr-list",
732d76e1
DM
5709 "optional" : 1,
5710 "type" : "string",
5711 "typetext" : "<string>"
5712 },
a55e94a6 5713 "mailattr" : {
274b47fc 5714 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
a55e94a6 5715 "description" : "List of mail attribute names.",
274b47fc 5716 "format" : "ldap-simple-attr-list",
a55e94a6 5717 "optional" : 1,
274b47fc
DM
5718 "type" : "string",
5719 "typetext" : "<string>"
a55e94a6
DM
5720 },
5721 "mode" : {
5722 "default" : "ldap",
241ac83c 5723 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
a55e94a6
DM
5724 "enum" : [
5725 "ldap",
241ac83c
TL
5726 "ldaps",
5727 "ldap+starttls"
a55e94a6
DM
5728 ],
5729 "optional" : 1,
5730 "type" : "string"
5731 },
5732 "port" : {
5733 "description" : "Specify the port to connect to.",
5734 "maximum" : 65535,
5735 "minimum" : 1,
5736 "optional" : 1,
5737 "type" : "integer",
5738 "typetext" : "<integer> (1 - 65535)"
5739 },
5740 "profile" : {
5741 "description" : "Profile ID.",
5742 "format" : "pve-configid",
5743 "type" : "string",
5744 "typetext" : "<string>"
5745 },
5746 "server1" : {
5747 "description" : "Server address.",
5748 "format" : "address",
5749 "maxLength" : 256,
5750 "optional" : 1,
5751 "type" : "string",
5752 "typetext" : "<string>"
5753 },
5754 "server2" : {
5755 "description" : "Fallback server address. Userd when the first server is not available.",
5756 "format" : "address",
5757 "maxLength" : 256,
5758 "optional" : 1,
5759 "type" : "string",
5760 "typetext" : "<string>"
241ac83c
TL
5761 },
5762 "verify" : {
5763 "default" : 0,
5764 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
5765 "optional" : 1,
5766 "type" : "boolean",
5767 "typetext" : "<boolean>"
a55e94a6 5768 }
732d76e1
DM
5769 },
5770 "type" : "object"
5771 },
5772 "permissions" : {
5773 "check" : [
5774 "admin"
5775 ]
5776 },
5777 "protected" : 1,
5778 "proxyto" : "master",
5779 "returns" : {
5780 "type" : "null"
5781 }
5782 }
5783 },
5784 "leaf" : 1,
5785 "path" : "/config/ldap/{profile}/config",
5786 "text" : "config"
5787 },
5788 {
5789 "info" : {
5790 "POST" : {
6bd70b95 5791 "allowtoken" : 1,
732d76e1
DM
5792 "description" : "Synchronice LDAP users to local database.",
5793 "method" : "POST",
5794 "name" : "sync_profile",
5795 "parameters" : {
5796 "additionalProperties" : 0,
5797 "properties" : {
5798 "profile" : {
5799 "description" : "Profile ID.",
5800 "format" : "pve-configid",
5801 "type" : "string",
5802 "typetext" : "<string>"
5803 }
5804 }
5805 },
5806 "permissions" : {
5807 "check" : [
5808 "admin"
5809 ]
5810 },
5811 "protected" : 1,
5812 "proxyto" : "master",
5813 "returns" : {
5814 "type" : "null"
5815 }
5816 }
5817 },
5818 "leaf" : 1,
5819 "path" : "/config/ldap/{profile}/sync",
5820 "text" : "sync"
5821 },
5822 {
5823 "children" : [
5824 {
5825 "info" : {
5826 "GET" : {
6bd70b95 5827 "allowtoken" : 1,
732d76e1
DM
5828 "description" : "Get all email addresses for the specified user.",
5829 "method" : "GET",
5830 "name" : "address_list",
5831 "parameters" : {
5832 "additionalProperties" : 0,
5833 "properties" : {
5834 "email" : {
5835 "description" : "Email address.",
0b9926d3
TL
5836 "maxLength" : 512,
5837 "minLength" : 3,
5838 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
5839 "type" : "string"
732d76e1
DM
5840 },
5841 "profile" : {
5842 "description" : "Profile ID.",
5843 "format" : "pve-configid",
5844 "type" : "string",
5845 "typetext" : "<string>"
5846 }
5847 }
5848 },
5849 "permissions" : {
5850 "check" : [
4a46ced6
DM
5851 "admin",
5852 "audit"
732d76e1
DM
5853 ]
5854 },
5855 "protected" : 1,
5856 "proxyto" : "master",
5857 "returns" : {
5858 "items" : {
5859 "properties" : {
5860 "email" : {
5861 "type" : "string"
5862 },
5863 "primary" : {
5864 "type" : "boolean"
5865 }
5866 },
5867 "type" : "object"
5868 },
5869 "type" : "array"
5870 }
5871 }
a55e94a6 5872 },
732d76e1
DM
5873 "leaf" : 1,
5874 "path" : "/config/ldap/{profile}/users/{email}",
5875 "text" : "{email}"
a55e94a6 5876 }
732d76e1 5877 ],
a55e94a6 5878 "info" : {
732d76e1 5879 "GET" : {
6bd70b95 5880 "allowtoken" : 1,
732d76e1
DM
5881 "description" : "List LDAP users.",
5882 "method" : "GET",
5883 "name" : "profile_list_users",
a55e94a6
DM
5884 "parameters" : {
5885 "additionalProperties" : 0,
5886 "properties" : {
5887 "profile" : {
5888 "description" : "Profile ID.",
5889 "format" : "pve-configid",
5890 "type" : "string",
5891 "typetext" : "<string>"
5892 }
5893 }
5894 },
5895 "permissions" : {
5896 "check" : [
4a46ced6
DM
5897 "admin",
5898 "audit"
a55e94a6
DM
5899 ]
5900 },
5901 "protected" : 1,
5902 "proxyto" : "master",
5903 "returns" : {
732d76e1
DM
5904 "items" : {
5905 "properties" : {
5906 "account" : {
5907 "type" : "string"
5908 },
5909 "dn" : {
5910 "type" : "string"
5911 },
5912 "pmail" : {
5913 "type" : "string"
5914 }
5915 },
5916 "type" : "object"
5917 },
5918 "links" : [
5919 {
5920 "href" : "{pmail}",
5921 "rel" : "child"
5922 }
5923 ],
5924 "type" : "array"
a55e94a6
DM
5925 }
5926 }
5927 },
732d76e1
DM
5928 "leaf" : 0,
5929 "path" : "/config/ldap/{profile}/users",
5930 "text" : "users"
a55e94a6
DM
5931 },
5932 {
5933 "children" : [
5934 {
5935 "info" : {
5936 "GET" : {
6bd70b95 5937 "allowtoken" : 1,
732d76e1 5938 "description" : "List LDAP group members.",
a55e94a6 5939 "method" : "GET",
732d76e1 5940 "name" : "profile_list_group_members",
a55e94a6
DM
5941 "parameters" : {
5942 "additionalProperties" : 0,
5943 "properties" : {
732d76e1
DM
5944 "gid" : {
5945 "description" : "Group ID",
5946 "type" : "number",
5947 "typetext" : "<number>"
a55e94a6
DM
5948 },
5949 "profile" : {
5950 "description" : "Profile ID.",
5951 "format" : "pve-configid",
5952 "type" : "string",
5953 "typetext" : "<string>"
5954 }
5955 }
5956 },
5957 "permissions" : {
5958 "check" : [
4a46ced6
DM
5959 "admin",
5960 "audit"
a55e94a6
DM
5961 ]
5962 },
5963 "protected" : 1,
5964 "proxyto" : "master",
5965 "returns" : {
5966 "items" : {
5967 "properties" : {
732d76e1 5968 "account" : {
a55e94a6
DM
5969 "type" : "string"
5970 },
732d76e1
DM
5971 "dn" : {
5972 "type" : "string"
5973 },
5974 "pmail" : {
5975 "type" : "string"
a55e94a6
DM
5976 }
5977 },
5978 "type" : "object"
5979 },
5980 "type" : "array"
5981 }
5982 }
5983 },
5984 "leaf" : 1,
732d76e1
DM
5985 "path" : "/config/ldap/{profile}/groups/{gid}",
5986 "text" : "{gid}"
a55e94a6
DM
5987 }
5988 ],
5989 "info" : {
5990 "GET" : {
6bd70b95 5991 "allowtoken" : 1,
732d76e1 5992 "description" : "List LDAP groups.",
a55e94a6 5993 "method" : "GET",
732d76e1 5994 "name" : "profile_list_groups",
a55e94a6
DM
5995 "parameters" : {
5996 "additionalProperties" : 0,
5997 "properties" : {
5998 "profile" : {
5999 "description" : "Profile ID.",
6000 "format" : "pve-configid",
6001 "type" : "string",
6002 "typetext" : "<string>"
6003 }
6004 }
6005 },
6006 "permissions" : {
6007 "check" : [
4a46ced6
DM
6008 "admin",
6009 "audit"
a55e94a6
DM
6010 ]
6011 },
6012 "protected" : 1,
6013 "proxyto" : "master",
6014 "returns" : {
6015 "items" : {
6016 "properties" : {
a55e94a6
DM
6017 "dn" : {
6018 "type" : "string"
6019 },
732d76e1
DM
6020 "gid" : {
6021 "type" : "number"
a55e94a6
DM
6022 }
6023 },
6024 "type" : "object"
6025 },
732d76e1
DM
6026 "links" : [
6027 {
6028 "href" : "{gid}",
6029 "rel" : "child"
6030 }
6031 ],
a55e94a6
DM
6032 "type" : "array"
6033 }
6034 }
6035 },
732d76e1
DM
6036 "leaf" : 0,
6037 "path" : "/config/ldap/{profile}/groups",
6038 "text" : "groups"
6039 }
6040 ],
6041 "info" : {
6042 "DELETE" : {
6bd70b95 6043 "allowtoken" : 1,
732d76e1
DM
6044 "description" : "Delete an LDAP profile",
6045 "method" : "DELETE",
6046 "name" : "delete",
6047 "parameters" : {
6048 "additionalProperties" : 0,
6049 "properties" : {
6050 "profile" : {
6051 "description" : "Profile ID.",
6052 "format" : "pve-configid",
6053 "type" : "string",
6054 "typetext" : "<string>"
6055 }
6056 }
6057 },
6058 "permissions" : {
6059 "check" : [
6060 "admin"
6061 ]
6062 },
6063 "protected" : 1,
6064 "proxyto" : "master",
6065 "returns" : {
6066 "type" : "null"
6067 }
6068 },
6069 "GET" : {
6bd70b95 6070 "allowtoken" : 1,
732d76e1
DM
6071 "description" : "Directory index",
6072 "method" : "GET",
6073 "name" : "profile_index",
6074 "parameters" : {
6075 "additionalProperties" : 0,
6076 "properties" : {
6077 "profile" : {
6078 "description" : "Profile ID.",
6079 "format" : "pve-configid",
6080 "type" : "string",
6081 "typetext" : "<string>"
6082 }
6083 }
6084 },
6085 "permissions" : {
6086 "user" : "all"
6087 },
6088 "returns" : {
6089 "items" : {
6090 "properties" : {
6091 "subdir" : {
6092 "type" : "string"
6093 }
6094 },
6095 "type" : "object"
6096 },
6097 "links" : [
6098 {
6099 "href" : "{subdir}",
6100 "rel" : "child"
6101 }
6102 ],
6103 "type" : "array"
6104 }
6105 }
6106 },
6107 "leaf" : 0,
6108 "path" : "/config/ldap/{profile}",
6109 "text" : "{profile}"
6110 }
6111 ],
6112 "info" : {
6113 "GET" : {
6bd70b95 6114 "allowtoken" : 1,
732d76e1
DM
6115 "description" : "List configured LDAP profiles.",
6116 "method" : "GET",
6117 "name" : "index",
6118 "parameters" : {
6119 "additionalProperties" : 0
6120 },
6121 "permissions" : {
6122 "check" : [
4a46ced6
DM
6123 "admin",
6124 "audit"
732d76e1
DM
6125 ]
6126 },
6127 "proxyto" : "master",
6128 "returns" : {
6129 "items" : {
6130 "properties" : {
6131 "comment" : {
6132 "optional" : 1,
6133 "type" : "string"
6134 },
6135 "disable" : {
6136 "type" : "boolean"
6137 },
6138 "gcount" : {
6139 "optional" : 1,
6140 "type" : "integer"
6141 },
6142 "mcount" : {
6143 "optional" : 1,
6144 "type" : "integer"
6145 },
6146 "mode" : {
6147 "type" : "string"
6148 },
6149 "profile" : {
6150 "type" : "string"
6151 },
6152 "server1" : {
6153 "type" : "string"
6154 },
6155 "server2" : {
6156 "optional" : 1,
6157 "type" : "string"
6158 },
6159 "ucount" : {
6160 "optional" : 1,
6161 "type" : "integer"
6162 }
6163 },
6164 "type" : "object"
6165 },
6166 "links" : [
6167 {
6168 "href" : "{profile}",
6169 "rel" : "child"
6170 }
6171 ],
6172 "type" : "array"
6173 }
6174 },
6175 "POST" : {
6bd70b95 6176 "allowtoken" : 1,
732d76e1
DM
6177 "description" : "Add LDAP profile.",
6178 "method" : "POST",
6179 "name" : "create",
6180 "parameters" : {
6181 "additionalProperties" : 0,
6182 "properties" : {
6183 "accountattr" : {
6184 "default" : "sAMAccountName, uid",
6185 "description" : "Account attribute name name.",
274b47fc 6186 "format" : "ldap-simple-attr-list",
732d76e1 6187 "optional" : 1,
274b47fc
DM
6188 "type" : "string",
6189 "typetext" : "<string>"
732d76e1
DM
6190 },
6191 "basedn" : {
6192 "description" : "Base domain name.",
6193 "optional" : 1,
6194 "type" : "string",
6195 "typetext" : "<string>"
6196 },
6197 "binddn" : {
6198 "description" : "Bind domain name.",
6199 "optional" : 1,
6200 "type" : "string",
6201 "typetext" : "<string>"
6202 },
6203 "bindpw" : {
6204 "description" : "Bind password.",
6205 "optional" : 1,
6206 "type" : "string",
6207 "typetext" : "<string>"
6208 },
241ac83c
TL
6209 "cafile" : {
6210 "description" : "Path to CA file. Only useful with option 'verify'",
6211 "optional" : 1,
6212 "type" : "string",
6213 "typetext" : "<string>"
6214 },
732d76e1
DM
6215 "comment" : {
6216 "description" : "Description.",
6217 "maxLength" : 4096,
6218 "optional" : 1,
6219 "type" : "string",
6220 "typetext" : "<string>"
6221 },
6222 "disable" : {
6223 "description" : "Flag to disable/deactivate the entry.",
6224 "optional" : 1,
6225 "type" : "boolean",
6226 "typetext" : "<boolean>"
a55e94a6 6227 },
732d76e1
DM
6228 "filter" : {
6229 "description" : "LDAP filter.",
6230 "optional" : 1,
6231 "type" : "string",
6232 "typetext" : "<string>"
6233 },
6234 "groupbasedn" : {
6235 "description" : "Base domain name for groups.",
6236 "optional" : 1,
6237 "type" : "string",
6238 "typetext" : "<string>"
6239 },
6240 "groupclass" : {
6241 "default" : "group, univentionGroup, ipausergroup",
6242 "description" : "List of objectclasses for groups.",
274b47fc 6243 "format" : "ldap-simple-attr-list",
732d76e1
DM
6244 "optional" : 1,
6245 "type" : "string",
6246 "typetext" : "<string>"
6247 },
6248 "mailattr" : {
274b47fc 6249 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
732d76e1 6250 "description" : "List of mail attribute names.",
274b47fc 6251 "format" : "ldap-simple-attr-list",
732d76e1 6252 "optional" : 1,
274b47fc
DM
6253 "type" : "string",
6254 "typetext" : "<string>"
732d76e1
DM
6255 },
6256 "mode" : {
6257 "default" : "ldap",
241ac83c 6258 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
732d76e1
DM
6259 "enum" : [
6260 "ldap",
241ac83c
TL
6261 "ldaps",
6262 "ldap+starttls"
732d76e1
DM
6263 ],
6264 "optional" : 1,
6265 "type" : "string"
6266 },
6267 "port" : {
6268 "description" : "Specify the port to connect to.",
6269 "maximum" : 65535,
6270 "minimum" : 1,
6271 "optional" : 1,
6272 "type" : "integer",
6273 "typetext" : "<integer> (1 - 65535)"
6274 },
6275 "profile" : {
6276 "description" : "Profile ID.",
6277 "format" : "pve-configid",
6278 "type" : "string",
6279 "typetext" : "<string>"
6280 },
6281 "server1" : {
6282 "description" : "Server address.",
6283 "format" : "address",
6284 "maxLength" : 256,
6285 "optional" : 0,
6286 "type" : "string",
6287 "typetext" : "<string>"
6288 },
6289 "server2" : {
6290 "description" : "Fallback server address. Userd when the first server is not available.",
6291 "format" : "address",
6292 "maxLength" : 256,
6293 "optional" : 1,
6294 "type" : "string",
6295 "typetext" : "<string>"
241ac83c
TL
6296 },
6297 "verify" : {
6298 "default" : 0,
6299 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
6300 "optional" : 1,
6301 "type" : "boolean",
6302 "typetext" : "<boolean>"
732d76e1
DM
6303 }
6304 },
6305 "type" : "object"
6306 },
6307 "permissions" : {
6308 "check" : [
6309 "admin"
6310 ]
6311 },
6312 "protected" : 1,
6313 "proxyto" : "master",
6314 "returns" : {
6315 "type" : "null"
6316 }
6317 }
6318 },
6319 "leaf" : 0,
6320 "path" : "/config/ldap",
6321 "text" : "ldap"
6322 },
6323 {
6324 "children" : [
6325 {
a55e94a6
DM
6326 "info" : {
6327 "DELETE" : {
6bd70b95 6328 "allowtoken" : 1,
732d76e1 6329 "description" : "Delete a relay domain",
a55e94a6
DM
6330 "method" : "DELETE",
6331 "name" : "delete",
6332 "parameters" : {
6333 "additionalProperties" : 0,
6334 "properties" : {
732d76e1
DM
6335 "domain" : {
6336 "description" : "Domain name.",
f225b3b4 6337 "format" : "transport-domain",
eff914dc
DM
6338 "type" : "string",
6339 "typetext" : "<string>"
6340 }
6341 }
6342 },
a55e94a6
DM
6343 "permissions" : {
6344 "check" : [
6345 "admin"
6346 ]
6347 },
eff914dc
DM
6348 "protected" : 1,
6349 "proxyto" : "master",
a55e94a6
DM
6350 "returns" : {
6351 "type" : "null"
6352 }
eff914dc 6353 },
a55e94a6 6354 "GET" : {
6bd70b95 6355 "allowtoken" : 1,
732d76e1 6356 "description" : "Read Domain data (comment).",
a55e94a6 6357 "method" : "GET",
732d76e1 6358 "name" : "read",
eff914dc
DM
6359 "parameters" : {
6360 "additionalProperties" : 0,
6361 "properties" : {
732d76e1
DM
6362 "domain" : {
6363 "description" : "Domain name.",
f225b3b4 6364 "format" : "transport-domain",
eff914dc
DM
6365 "type" : "string",
6366 "typetext" : "<string>"
a55e94a6
DM
6367 }
6368 }
6369 },
6370 "permissions" : {
732d76e1
DM
6371 "check" : [
6372 "admin",
6373 "audit"
6374 ]
a55e94a6 6375 },
732d76e1 6376 "proxyto" : "master",
a55e94a6 6377 "returns" : {
732d76e1
DM
6378 "properties" : {
6379 "comment" : {
6380 "type" : "string"
eff914dc 6381 },
732d76e1
DM
6382 "domain" : {
6383 "type" : "string"
6384 }
eff914dc 6385 },
732d76e1
DM
6386 "type" : "object"
6387 }
6388 },
6389 "PUT" : {
6bd70b95 6390 "allowtoken" : 1,
732d76e1
DM
6391 "description" : "Update relay domain data (comment).",
6392 "method" : "PUT",
6393 "name" : "write",
6394 "parameters" : {
6395 "additionalProperties" : 0,
6396 "properties" : {
6397 "comment" : {
6398 "description" : "Comment.",
6399 "type" : "string",
6400 "typetext" : "<string>"
6401 },
6402 "domain" : {
6403 "description" : "Domain name.",
f225b3b4 6404 "format" : "transport-domain",
732d76e1
DM
6405 "type" : "string",
6406 "typetext" : "<string>"
a55e94a6 6407 }
732d76e1
DM
6408 }
6409 },
6410 "permissions" : {
6411 "check" : [
6412 "admin"
6413 ]
6414 },
6415 "protected" : 1,
6416 "proxyto" : "master",
6417 "returns" : {
6418 "type" : "null"
eff914dc
DM
6419 }
6420 }
6421 },
732d76e1
DM
6422 "leaf" : 1,
6423 "path" : "/config/domains/{domain}",
6424 "text" : "{domain}"
eff914dc
DM
6425 }
6426 ],
6427 "info" : {
6428 "GET" : {
6bd70b95 6429 "allowtoken" : 1,
732d76e1 6430 "description" : "List relay domains.",
eff914dc
DM
6431 "method" : "GET",
6432 "name" : "index",
6433 "parameters" : {
6434 "additionalProperties" : 0
6435 },
a55e94a6
DM
6436 "permissions" : {
6437 "check" : [
732d76e1
DM
6438 "admin",
6439 "audit"
a55e94a6
DM
6440 ]
6441 },
eff914dc
DM
6442 "proxyto" : "master",
6443 "returns" : {
6444 "items" : {
6445 "properties" : {
a55e94a6 6446 "comment" : {
eff914dc 6447 "type" : "string"
a55e94a6 6448 },
732d76e1
DM
6449 "domain" : {
6450 "type" : "string"
eff914dc
DM
6451 }
6452 },
6453 "type" : "object"
6454 },
6455 "links" : [
6456 {
732d76e1 6457 "href" : "{domain}",
eff914dc
DM
6458 "rel" : "child"
6459 }
6460 ],
6461 "type" : "array"
6462 }
6463 },
6464 "POST" : {
6bd70b95 6465 "allowtoken" : 1,
732d76e1 6466 "description" : "Add relay domain.",
eff914dc
DM
6467 "method" : "POST",
6468 "name" : "create",
6469 "parameters" : {
6470 "additionalProperties" : 0,
6471 "properties" : {
a55e94a6 6472 "comment" : {
732d76e1 6473 "description" : "Comment.",
eff914dc 6474 "optional" : 1,
eff914dc
DM
6475 "type" : "string",
6476 "typetext" : "<string>"
6477 },
732d76e1
DM
6478 "domain" : {
6479 "description" : "Domain name.",
f225b3b4 6480 "format" : "transport-domain",
eff914dc
DM
6481 "type" : "string",
6482 "typetext" : "<string>"
6483 }
732d76e1 6484 }
eff914dc 6485 },
a55e94a6
DM
6486 "permissions" : {
6487 "check" : [
6488 "admin"
6489 ]
6490 },
eff914dc
DM
6491 "protected" : 1,
6492 "proxyto" : "master",
6493 "returns" : {
6494 "type" : "null"
6495 }
6496 }
6497 },
6498 "leaf" : 0,
732d76e1
DM
6499 "path" : "/config/domains",
6500 "text" : "domains"
eff914dc
DM
6501 },
6502 {
6503 "children" : [
6504 {
6505 "info" : {
6506 "DELETE" : {
6bd70b95 6507 "allowtoken" : 1,
732d76e1 6508 "description" : "Delete a fetchmail configuration entry.",
eff914dc
DM
6509 "method" : "DELETE",
6510 "name" : "delete",
6511 "parameters" : {
6512 "additionalProperties" : 0,
6513 "properties" : {
732d76e1
DM
6514 "id" : {
6515 "description" : "Unique ID",
6516 "maxLength" : 16,
6517 "pattern" : "[A-Za-z0-9]+",
6518 "type" : "string"
eff914dc
DM
6519 }
6520 }
6521 },
732d76e1
DM
6522 "permissions" : {
6523 "check" : [
6524 "admin"
6525 ]
6526 },
eff914dc
DM
6527 "protected" : 1,
6528 "proxyto" : "master",
6529 "returns" : {
6530 "type" : "null"
6531 }
6532 },
6533 "GET" : {
6bd70b95 6534 "allowtoken" : 1,
732d76e1 6535 "description" : "Read fetchmail user configuration.",
eff914dc
DM
6536 "method" : "GET",
6537 "name" : "read",
6538 "parameters" : {
6539 "additionalProperties" : 0,
6540 "properties" : {
732d76e1
DM
6541 "id" : {
6542 "description" : "Unique ID",
6543 "maxLength" : 16,
6544 "pattern" : "[A-Za-z0-9]+",
6545 "type" : "string"
eff914dc
DM
6546 }
6547 }
6548 },
732d76e1
DM
6549 "permissions" : {
6550 "check" : [
6551 "admin",
6552 "audit"
6553 ]
6554 },
6555 "protected" : 1,
eff914dc
DM
6556 "proxyto" : "master",
6557 "returns" : {
6558 "properties" : {
732d76e1
DM
6559 "enable" : {
6560 "default" : 0,
6561 "description" : "Flag to enable or disable polling.",
6562 "optional" : 1,
6563 "type" : "boolean"
6564 },
6565 "id" : {
6566 "description" : "Unique ID",
6567 "maxLength" : 16,
6568 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6569 "type" : "string"
6570 },
732d76e1
DM
6571 "interval" : {
6572 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6573 "maximum" : 2016,
6574 "minimum" : 1,
6575 "optional" : 1,
6576 "type" : "integer"
6577 },
6578 "keep" : {
6579 "default" : 0,
6580 "description" : "Keep retrieved messages on the remote mailserver.",
6581 "optional" : 1,
6582 "type" : "boolean"
6583 },
6584 "pass" : {
6585 "description" : "The password used tfor server login.",
6586 "maxLength" : 64,
6587 "optional" : 1,
6588 "type" : "string"
6589 },
6590 "port" : {
6591 "description" : "Port number.",
6592 "maximum" : 65535,
6593 "minimum" : 1,
6594 "optional" : 1,
6595 "type" : "integer"
6596 },
6597 "protocol" : {
6598 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6599 "enum" : [
6600 "pop3",
6601 "imap"
6602 ],
6603 "optional" : 1,
6604 "type" : "string"
6605 },
6606 "server" : {
6607 "description" : "Server address (IP or DNS name).",
6608 "format" : "address",
6609 "optional" : 1,
6610 "type" : "string"
6611 },
6612 "ssl" : {
6613 "default" : 0,
6614 "description" : "Use SSL.",
6615 "optional" : 1,
6616 "type" : "boolean"
6617 },
6618 "target" : {
6619 "description" : "The target email address (where to deliver fetched mails).",
6620 "maxLength" : 512,
6621 "minLength" : 3,
6622 "optional" : 1,
c5ccf1ab 6623 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6624 "type" : "string"
6625 },
6626 "user" : {
6627 "description" : "The user identification to be used when logging in to the server",
6628 "maxLength" : 64,
6629 "minLength" : 1,
6630 "optional" : 1,
eff914dc
DM
6631 "type" : "string"
6632 }
6633 },
6634 "type" : "object"
6635 }
6636 },
6637 "PUT" : {
6bd70b95 6638 "allowtoken" : 1,
732d76e1 6639 "description" : "Update fetchmail user configuration.",
eff914dc
DM
6640 "method" : "PUT",
6641 "name" : "write",
6642 "parameters" : {
6643 "additionalProperties" : 0,
6644 "properties" : {
732d76e1
DM
6645 "enable" : {
6646 "default" : 0,
6647 "description" : "Flag to enable or disable polling.",
6648 "optional" : 1,
6649 "type" : "boolean",
6650 "typetext" : "<boolean>"
6651 },
6652 "id" : {
6653 "description" : "Unique ID",
6654 "maxLength" : 16,
6655 "pattern" : "[A-Za-z0-9]+",
6656 "type" : "string"
6657 },
6658 "interval" : {
6659 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6660 "maximum" : 2016,
6661 "minimum" : 1,
6662 "optional" : 1,
6663 "type" : "integer",
6664 "typetext" : "<integer> (1 - 2016)"
6665 },
6666 "keep" : {
6667 "default" : 0,
6668 "description" : "Keep retrieved messages on the remote mailserver.",
6669 "optional" : 1,
6670 "type" : "boolean",
6671 "typetext" : "<boolean>"
6672 },
6673 "pass" : {
6674 "description" : "The password used tfor server login.",
6675 "maxLength" : 64,
6676 "optional" : 1,
eff914dc
DM
6677 "type" : "string",
6678 "typetext" : "<string>"
6679 },
732d76e1
DM
6680 "port" : {
6681 "description" : "Port number.",
6682 "maximum" : 65535,
6683 "minimum" : 1,
6684 "optional" : 1,
6685 "type" : "integer",
6686 "typetext" : "<integer> (1 - 65535)"
6687 },
6688 "protocol" : {
6689 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6690 "enum" : [
6691 "pop3",
6692 "imap"
6693 ],
6694 "optional" : 1,
6695 "type" : "string"
6696 },
6697 "server" : {
6698 "description" : "Server address (IP or DNS name).",
6699 "format" : "address",
6700 "optional" : 1,
6701 "type" : "string",
6702 "typetext" : "<string>"
6703 },
6704 "ssl" : {
6705 "default" : 0,
6706 "description" : "Use SSL.",
6707 "optional" : 1,
6708 "type" : "boolean",
6709 "typetext" : "<boolean>"
6710 },
6711 "target" : {
6712 "description" : "The target email address (where to deliver fetched mails).",
6713 "maxLength" : 512,
6714 "minLength" : 3,
6715 "optional" : 1,
c5ccf1ab 6716 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6717 "type" : "string"
6718 },
6719 "user" : {
6720 "description" : "The user identification to be used when logging in to the server",
6721 "maxLength" : 64,
6722 "minLength" : 1,
6723 "optional" : 1,
eff914dc
DM
6724 "type" : "string",
6725 "typetext" : "<string>"
6726 }
6727 }
6728 },
732d76e1
DM
6729 "permissions" : {
6730 "check" : [
6731 "admin"
6732 ]
6733 },
eff914dc
DM
6734 "protected" : 1,
6735 "proxyto" : "master",
6736 "returns" : {
6737 "type" : "null"
6738 }
6739 }
6740 },
6741 "leaf" : 1,
732d76e1
DM
6742 "path" : "/config/fetchmail/{id}",
6743 "text" : "{id}"
eff914dc
DM
6744 }
6745 ],
6746 "info" : {
6747 "GET" : {
6bd70b95 6748 "allowtoken" : 1,
732d76e1 6749 "description" : "List fetchmail users.",
eff914dc
DM
6750 "method" : "GET",
6751 "name" : "index",
6752 "parameters" : {
6753 "additionalProperties" : 0
6754 },
732d76e1
DM
6755 "permissions" : {
6756 "check" : [
6757 "admin",
6758 "audit"
6759 ]
6760 },
6761 "protected" : 1,
eff914dc
DM
6762 "proxyto" : "master",
6763 "returns" : {
6764 "items" : {
6765 "properties" : {
732d76e1
DM
6766 "enable" : {
6767 "default" : 0,
6768 "description" : "Flag to enable or disable polling.",
6769 "optional" : 1,
6770 "type" : "boolean"
6771 },
6772 "id" : {
6773 "description" : "Unique ID",
6774 "maxLength" : 16,
6775 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6776 "type" : "string"
6777 },
732d76e1
DM
6778 "interval" : {
6779 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6780 "maximum" : 2016,
6781 "minimum" : 1,
6782 "optional" : 1,
6783 "type" : "integer"
6784 },
6785 "keep" : {
6786 "default" : 0,
6787 "description" : "Keep retrieved messages on the remote mailserver.",
6788 "optional" : 1,
6789 "type" : "boolean"
6790 },
6791 "pass" : {
6792 "description" : "The password used tfor server login.",
6793 "maxLength" : 64,
6794 "optional" : 1,
6795 "type" : "string"
6796 },
6797 "port" : {
6798 "description" : "Port number.",
6799 "maximum" : 65535,
6800 "minimum" : 1,
6801 "optional" : 1,
6802 "type" : "integer"
6803 },
6804 "protocol" : {
6805 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6806 "enum" : [
6807 "pop3",
6808 "imap"
6809 ],
6810 "optional" : 1,
6811 "type" : "string"
6812 },
6813 "server" : {
6814 "description" : "Server address (IP or DNS name).",
6815 "format" : "address",
6816 "optional" : 1,
6817 "type" : "string"
6818 },
6819 "ssl" : {
6820 "default" : 0,
6821 "description" : "Use SSL.",
6822 "optional" : 1,
6823 "type" : "boolean"
6824 },
6825 "target" : {
6826 "description" : "The target email address (where to deliver fetched mails).",
6827 "maxLength" : 512,
6828 "minLength" : 3,
6829 "optional" : 1,
c5ccf1ab 6830 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6831 "type" : "string"
6832 },
6833 "user" : {
6834 "description" : "The user identification to be used when logging in to the server",
6835 "maxLength" : 64,
6836 "minLength" : 1,
6837 "optional" : 1,
eff914dc
DM
6838 "type" : "string"
6839 }
6840 },
6841 "type" : "object"
6842 },
6843 "links" : [
6844 {
732d76e1 6845 "href" : "{id}",
eff914dc
DM
6846 "rel" : "child"
6847 }
6848 ],
6849 "type" : "array"
6850 }
6851 },
6852 "POST" : {
6bd70b95 6853 "allowtoken" : 1,
732d76e1 6854 "description" : "Create fetchmail user configuration.",
eff914dc
DM
6855 "method" : "POST",
6856 "name" : "create",
6857 "parameters" : {
6858 "additionalProperties" : 0,
6859 "properties" : {
732d76e1
DM
6860 "enable" : {
6861 "default" : 0,
6862 "description" : "Flag to enable or disable polling.",
6863 "optional" : 1,
6864 "type" : "boolean",
6865 "typetext" : "<boolean>"
6866 },
6867 "interval" : {
6868 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6869 "maximum" : 2016,
6870 "minimum" : 1,
6871 "optional" : 1,
6872 "type" : "integer",
6873 "typetext" : "<integer> (1 - 2016)"
6874 },
6875 "keep" : {
6876 "default" : 0,
6877 "description" : "Keep retrieved messages on the remote mailserver.",
eff914dc 6878 "optional" : 1,
732d76e1
DM
6879 "type" : "boolean",
6880 "typetext" : "<boolean>"
6881 },
6882 "pass" : {
6883 "description" : "The password used tfor server login.",
6884 "maxLength" : 64,
eff914dc
DM
6885 "type" : "string",
6886 "typetext" : "<string>"
6887 },
732d76e1
DM
6888 "port" : {
6889 "description" : "Port number.",
6890 "maximum" : 65535,
6891 "minimum" : 1,
6892 "optional" : 1,
6893 "type" : "integer",
6894 "typetext" : "<integer> (1 - 65535)"
6895 },
6896 "protocol" : {
6897 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6898 "enum" : [
6899 "pop3",
6900 "imap"
6901 ],
6902 "type" : "string"
6903 },
6904 "server" : {
6905 "description" : "Server address (IP or DNS name).",
6906 "format" : "address",
6907 "type" : "string",
6908 "typetext" : "<string>"
6909 },
6910 "ssl" : {
6911 "default" : 0,
6912 "description" : "Use SSL.",
6913 "optional" : 1,
6914 "type" : "boolean",
6915 "typetext" : "<boolean>"
6916 },
6917 "target" : {
6918 "description" : "The target email address (where to deliver fetched mails).",
6919 "maxLength" : 512,
6920 "minLength" : 3,
c5ccf1ab 6921 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6922 "type" : "string"
6923 },
6924 "user" : {
6925 "description" : "The user identification to be used when logging in to the server",
6926 "maxLength" : 64,
6927 "minLength" : 1,
eff914dc
DM
6928 "type" : "string",
6929 "typetext" : "<string>"
6930 }
6931 }
6932 },
732d76e1
DM
6933 "permissions" : {
6934 "check" : [
6935 "admin"
6936 ]
6937 },
eff914dc
DM
6938 "protected" : 1,
6939 "proxyto" : "master",
6940 "returns" : {
732d76e1
DM
6941 "description" : "Unique ID",
6942 "maxLength" : 16,
6943 "pattern" : "[A-Za-z0-9]+",
6944 "type" : "string"
eff914dc
DM
6945 }
6946 }
6947 },
6948 "leaf" : 0,
732d76e1
DM
6949 "path" : "/config/fetchmail",
6950 "text" : "fetchmail"
eff914dc
DM
6951 },
6952 {
6953 "children" : [
6954 {
6955 "info" : {
6956 "DELETE" : {
6bd70b95 6957 "allowtoken" : 1,
eff914dc
DM
6958 "description" : "Delete a transport map entry",
6959 "method" : "DELETE",
6960 "name" : "delete",
6961 "parameters" : {
6962 "additionalProperties" : 0,
6963 "properties" : {
6964 "domain" : {
6965 "description" : "Domain name.",
f225b3b4 6966 "format" : "transport-domain-or-email",
eff914dc
DM
6967 "type" : "string",
6968 "typetext" : "<string>"
6969 }
6970 }
6971 },
732d76e1
DM
6972 "permissions" : {
6973 "check" : [
6974 "admin"
6975 ]
6976 },
eff914dc
DM
6977 "protected" : 1,
6978 "proxyto" : "master",
6979 "returns" : {
6980 "type" : "null"
6981 }
6982 },
6983 "GET" : {
6bd70b95 6984 "allowtoken" : 1,
eff914dc
DM
6985 "description" : "Read transport map entry.",
6986 "method" : "GET",
6987 "name" : "read",
6988 "parameters" : {
6989 "additionalProperties" : 0,
6990 "properties" : {
6991 "domain" : {
6992 "description" : "Domain name.",
f225b3b4 6993 "format" : "transport-domain-or-email",
eff914dc
DM
6994 "type" : "string",
6995 "typetext" : "<string>"
6996 }
6997 }
6998 },
732d76e1
DM
6999 "permissions" : {
7000 "check" : [
7001 "admin",
7002 "audit"
7003 ]
7004 },
eff914dc
DM
7005 "proxyto" : "master",
7006 "returns" : {
7007 "properties" : {
7008 "comment" : {
7009 "type" : "string"
7010 },
7011 "domain" : {
7012 "type" : "string"
410dc2c9 7013 },
eff914dc
DM
7014 "host" : {
7015 "type" : "string"
7016 },
7017 "port" : {
7018 "type" : "integer"
7019 },
6bd70b95
TL
7020 "protocol" : {
7021 "type" : "string"
7022 },
eff914dc
DM
7023 "use_mx" : {
7024 "type" : "boolean"
7025 }
7026 },
7027 "type" : "object"
7028 }
7029 },
7030 "PUT" : {
6bd70b95 7031 "allowtoken" : 1,
eff914dc
DM
7032 "description" : "Update transport map entry.",
7033 "method" : "PUT",
7034 "name" : "write",
7035 "parameters" : {
7036 "additionalProperties" : 0,
7037 "properties" : {
7038 "comment" : {
7039 "description" : "Comment.",
410dc2c9
DM
7040 "optional" : 1,
7041 "type" : "string",
7042 "typetext" : "<string>"
7043 },
eff914dc
DM
7044 "domain" : {
7045 "description" : "Domain name.",
f225b3b4 7046 "format" : "transport-domain-or-email",
410dc2c9
DM
7047 "type" : "string",
7048 "typetext" : "<string>"
7049 },
eff914dc
DM
7050 "host" : {
7051 "description" : "Target host (name or IP address).",
549cfb68 7052 "format" : "transport-address",
410dc2c9
DM
7053 "optional" : 1,
7054 "type" : "string",
7055 "typetext" : "<string>"
7056 },
410dc2c9 7057 "port" : {
6bd70b95 7058 "description" : "Transport port.",
410dc2c9
DM
7059 "maximum" : 65535,
7060 "minimum" : 1,
7061 "optional" : 1,
7062 "type" : "integer",
7063 "typetext" : "<integer> (1 - 65535)"
7064 },
6bd70b95
TL
7065 "protocol" : {
7066 "default" : "smtp",
7067 "description" : "Transport protocol.",
7068 "enum" : [
7069 "smtp",
7070 "lmtp"
7071 ],
7072 "optional" : 1,
7073 "type" : "string"
7074 },
eff914dc 7075 "use_mx" : {
6bd70b95 7076 "description" : "Enable MX lookups (SMTP).",
410dc2c9 7077 "optional" : 1,
eff914dc
DM
7078 "type" : "boolean",
7079 "typetext" : "<boolean>"
410dc2c9 7080 }
eff914dc 7081 }
410dc2c9 7082 },
732d76e1
DM
7083 "permissions" : {
7084 "check" : [
7085 "admin"
7086 ]
7087 },
410dc2c9
DM
7088 "protected" : 1,
7089 "proxyto" : "master",
7090 "returns" : {
7091 "type" : "null"
7092 }
7093 }
7094 },
7095 "leaf" : 1,
eff914dc
DM
7096 "path" : "/config/transport/{domain}",
7097 "text" : "{domain}"
410dc2c9
DM
7098 }
7099 ],
7100 "info" : {
7101 "GET" : {
6bd70b95 7102 "allowtoken" : 1,
eff914dc 7103 "description" : "List transport map entries.",
410dc2c9
DM
7104 "method" : "GET",
7105 "name" : "index",
7106 "parameters" : {
7107 "additionalProperties" : 0
7108 },
732d76e1
DM
7109 "permissions" : {
7110 "check" : [
7111 "admin",
7112 "audit"
7113 ]
7114 },
410dc2c9
DM
7115 "proxyto" : "master",
7116 "returns" : {
7117 "items" : {
7118 "properties" : {
eff914dc 7119 "comment" : {
410dc2c9
DM
7120 "type" : "string"
7121 },
eff914dc 7122 "domain" : {
410dc2c9
DM
7123 "type" : "string"
7124 },
eff914dc 7125 "host" : {
410dc2c9 7126 "type" : "string"
eff914dc
DM
7127 },
7128 "port" : {
7129 "type" : "integer"
7130 },
6bd70b95
TL
7131 "protocol" : {
7132 "type" : "string"
7133 },
eff914dc
DM
7134 "use_mx" : {
7135 "type" : "boolean"
410dc2c9
DM
7136 }
7137 },
7138 "type" : "object"
7139 },
7140 "links" : [
7141 {
c061d61d 7142 "href" : "{domain}",
410dc2c9
DM
7143 "rel" : "child"
7144 }
7145 ],
7146 "type" : "array"
7147 }
7148 },
7149 "POST" : {
6bd70b95 7150 "allowtoken" : 1,
eff914dc 7151 "description" : "Add transport map entry.",
410dc2c9
DM
7152 "method" : "POST",
7153 "name" : "create",
7154 "parameters" : {
7155 "additionalProperties" : 0,
7156 "properties" : {
eff914dc
DM
7157 "comment" : {
7158 "description" : "Comment.",
410dc2c9
DM
7159 "optional" : 1,
7160 "type" : "string",
7161 "typetext" : "<string>"
7162 },
eff914dc
DM
7163 "domain" : {
7164 "description" : "Domain name.",
f225b3b4 7165 "format" : "transport-domain-or-email",
410dc2c9
DM
7166 "type" : "string",
7167 "typetext" : "<string>"
7168 },
eff914dc
DM
7169 "host" : {
7170 "description" : "Target host (name or IP address).",
549cfb68 7171 "format" : "transport-address",
410dc2c9
DM
7172 "type" : "string",
7173 "typetext" : "<string>"
7174 },
410dc2c9 7175 "port" : {
eff914dc 7176 "default" : 25,
6bd70b95 7177 "description" : "Transport port.",
410dc2c9
DM
7178 "maximum" : 65535,
7179 "minimum" : 1,
7180 "optional" : 1,
7181 "type" : "integer",
7182 "typetext" : "<integer> (1 - 65535)"
7183 },
6bd70b95
TL
7184 "protocol" : {
7185 "default" : "smtp",
7186 "description" : "Transport protocol.",
7187 "enum" : [
7188 "smtp",
7189 "lmtp"
7190 ],
7191 "optional" : 1,
7192 "type" : "string"
7193 },
eff914dc
DM
7194 "use_mx" : {
7195 "default" : 1,
6bd70b95 7196 "description" : "Enable MX lookups (SMTP).",
410dc2c9 7197 "optional" : 1,
eff914dc
DM
7198 "type" : "boolean",
7199 "typetext" : "<boolean>"
410dc2c9 7200 }
eff914dc 7201 }
410dc2c9 7202 },
732d76e1
DM
7203 "permissions" : {
7204 "check" : [
7205 "admin"
7206 ]
7207 },
410dc2c9
DM
7208 "protected" : 1,
7209 "proxyto" : "master",
7210 "returns" : {
7211 "type" : "null"
7212 }
7213 }
7214 },
7215 "leaf" : 0,
eff914dc
DM
7216 "path" : "/config/transport",
7217 "text" : "transport"
410dc2c9
DM
7218 },
7219 {
7220 "children" : [
7221 {
7222 "info" : {
7223 "DELETE" : {
6bd70b95 7224 "allowtoken" : 1,
eff914dc 7225 "description" : "Delete a truster network",
410dc2c9
DM
7226 "method" : "DELETE",
7227 "name" : "delete",
7228 "parameters" : {
7229 "additionalProperties" : 0,
7230 "properties" : {
eff914dc
DM
7231 "cidr" : {
7232 "description" : "IPv4 or IPv6 network in CIDR notation.",
7233 "format" : "CIDR",
7234 "type" : "string",
7235 "typetext" : "<string>"
7236 }
7237 }
7238 },
732d76e1
DM
7239 "permissions" : {
7240 "check" : [
7241 "admin"
7242 ]
7243 },
eff914dc
DM
7244 "protected" : 1,
7245 "proxyto" : "master",
7246 "returns" : {
7247 "type" : "null"
7248 }
7249 },
7250 "GET" : {
6bd70b95 7251 "allowtoken" : 1,
eff914dc
DM
7252 "description" : "Read trusted network data (comment).",
7253 "method" : "GET",
7254 "name" : "read",
7255 "parameters" : {
7256 "additionalProperties" : 0,
7257 "properties" : {
7258 "cidr" : {
7259 "description" : "IPv4 or IPv6 network in CIDR notation.",
7260 "format" : "CIDR",
7261 "type" : "string",
7262 "typetext" : "<string>"
7263 }
7264 }
7265 },
732d76e1
DM
7266 "permissions" : {
7267 "check" : [
7268 "admin",
7269 "audit"
7270 ]
7271 },
eff914dc
DM
7272 "proxyto" : "master",
7273 "returns" : {
7274 "properties" : {
7275 "cidr" : {
7276 "type" : "string"
7277 },
7278 "comment" : {
7279 "type" : "string"
7280 }
7281 },
7282 "type" : "object"
7283 }
7284 },
7285 "PUT" : {
6bd70b95 7286 "allowtoken" : 1,
eff914dc
DM
7287 "description" : "Update trusted data (comment).",
7288 "method" : "PUT",
7289 "name" : "write",
7290 "parameters" : {
7291 "additionalProperties" : 0,
7292 "properties" : {
7293 "cidr" : {
7294 "description" : "IPv4 or IPv6 network in CIDR notation.",
7295 "type" : "string",
7296 "typetext" : "<string>"
7297 },
7298 "comment" : {
7299 "description" : "Comment.",
410dc2c9
DM
7300 "type" : "string",
7301 "typetext" : "<string>"
7302 }
7303 }
7304 },
732d76e1
DM
7305 "permissions" : {
7306 "check" : [
7307 "admin"
7308 ]
7309 },
410dc2c9
DM
7310 "protected" : 1,
7311 "proxyto" : "master",
7312 "returns" : {
7313 "type" : "null"
7314 }
7315 }
7316 },
7317 "leaf" : 1,
eff914dc
DM
7318 "path" : "/config/mynetworks/{cidr}",
7319 "text" : "{cidr}"
410dc2c9
DM
7320 }
7321 ],
7322 "info" : {
7323 "GET" : {
6bd70b95 7324 "allowtoken" : 1,
eff914dc 7325 "description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.",
410dc2c9
DM
7326 "method" : "GET",
7327 "name" : "index",
7328 "parameters" : {
7329 "additionalProperties" : 0
7330 },
732d76e1
DM
7331 "permissions" : {
7332 "check" : [
7333 "admin",
7334 "audit"
7335 ]
7336 },
410dc2c9
DM
7337 "proxyto" : "master",
7338 "returns" : {
7339 "items" : {
7340 "properties" : {
eff914dc 7341 "cidr" : {
410dc2c9
DM
7342 "type" : "string"
7343 }
7344 },
7345 "type" : "object"
7346 },
7347 "links" : [
7348 {
c061d61d 7349 "href" : "{cidr}",
410dc2c9
DM
7350 "rel" : "child"
7351 }
7352 ],
7353 "type" : "array"
7354 }
7355 },
7356 "POST" : {
6bd70b95 7357 "allowtoken" : 1,
eff914dc 7358 "description" : "Add a trusted network.",
410dc2c9
DM
7359 "method" : "POST",
7360 "name" : "create",
7361 "parameters" : {
7362 "additionalProperties" : 0,
7363 "properties" : {
eff914dc
DM
7364 "cidr" : {
7365 "description" : "IPv4 or IPv6 network in CIDR notation.",
7366 "format" : "CIDR",
7367 "type" : "string",
7368 "typetext" : "<string>"
7369 },
7370 "comment" : {
7371 "description" : "Comment.",
7372 "optional" : 1,
410dc2c9
DM
7373 "type" : "string",
7374 "typetext" : "<string>"
7375 }
7376 }
7377 },
732d76e1
DM
7378 "permissions" : {
7379 "check" : [
7380 "admin"
7381 ]
7382 },
410dc2c9
DM
7383 "protected" : 1,
7384 "proxyto" : "master",
7385 "returns" : {
7386 "type" : "null"
7387 }
7388 }
7389 },
7390 "leaf" : 0,
eff914dc
DM
7391 "path" : "/config/mynetworks",
7392 "text" : "mynetworks"
410dc2c9
DM
7393 },
7394 {
d7cd791b
DM
7395 "children" : [
7396 {
7397 "info" : {
7398 "GET" : {
6bd70b95 7399 "allowtoken" : 1,
d7cd791b
DM
7400 "description" : "Cluster node index.",
7401 "method" : "GET",
7402 "name" : "nodes",
7403 "parameters" : {
7404 "additionalProperties" : 0
7405 },
7406 "permissions" : {
7407 "check" : [
bb6e6e0d
DM
7408 "admin",
7409 "qmanager",
7410 "audit"
d7cd791b
DM
7411 ]
7412 },
7413 "returns" : {
7414 "items" : {
7415 "properties" : {
7416 "cid" : {
7417 "type" : "integer"
7418 },
7419 "fingerprint" : {
7420 "type" : "string"
7421 },
7422 "hostrsapubkey" : {
7423 "type" : "string"
7424 },
7425 "ip" : {
7426 "type" : "string"
7427 },
7428 "name" : {
7429 "type" : "string"
7430 },
7431 "rootrsapubkey" : {
7432 "type" : "string"
7433 },
7434 "type" : {
7435 "type" : "string"
7436 }
7437 },
7438 "type" : "object"
7439 },
d7cd791b
DM
7440 "type" : "array"
7441 }
7442 },
7443 "POST" : {
6bd70b95 7444 "allowtoken" : 1,
d7cd791b
DM
7445 "description" : "Add an node to the cluster config.",
7446 "method" : "POST",
7447 "name" : "add_node",
7448 "parameters" : {
7449 "additionalProperties" : 0,
7450 "properties" : {
7451 "fingerprint" : {
7452 "description" : "SSL certificate fingerprint.",
7453 "optional" : 0,
7454 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7455 "type" : "string"
7456 },
7457 "hostrsapubkey" : {
7458 "description" : "Public SSH RSA key for the host.",
7459 "optional" : 0,
e0e71e6a 7460 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
d7cd791b
DM
7461 "type" : "string"
7462 },
7463 "ip" : {
7464 "description" : "IP address.",
7465 "format" : "ip",
7466 "optional" : 0,
7467 "type" : "string",
7468 "typetext" : "<string>"
7469 },
7470 "maxcid" : {
7471 "description" : "Maximum used cluster node ID (used internally, do not modify).",
7472 "minimum" : 1,
7473 "optional" : 1,
7474 "type" : "integer",
7475 "typetext" : "<integer> (1 - N)"
7476 },
7477 "name" : {
7478 "description" : "Node name.",
7479 "format" : "pve-node",
7480 "optional" : 0,
7481 "type" : "string",
7482 "typetext" : "<string>"
7483 },
7484 "rootrsapubkey" : {
7485 "description" : "Public SSH RSA key for the root user.",
7486 "optional" : 0,
e0e71e6a 7487 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
d7cd791b
DM
7488 "type" : "string"
7489 }
7490 },
7491 "type" : "object"
7492 },
7493 "protected" : 1,
7494 "proxyto" : "master",
7495 "returns" : {
7496 "description" : "Returns the resulting node list.",
7497 "items" : {
7498 "properties" : {
7499 "cid" : {
7500 "type" : "integer"
7501 }
7502 },
7503 "type" : "object"
7504 },
7505 "type" : "array"
7506 }
7507 }
7508 },
7509 "leaf" : 1,
7510 "path" : "/config/cluster/nodes",
7511 "text" : "nodes"
7512 },
7513 {
7514 "info" : {
7515 "GET" : {
6bd70b95 7516 "allowtoken" : 1,
d7cd791b
DM
7517 "description" : "Cluster node status.",
7518 "method" : "GET",
7519 "name" : "status",
7520 "parameters" : {
bb6e6e0d
DM
7521 "additionalProperties" : 0,
7522 "properties" : {
7523 "list_single_node" : {
7524 "default" : 0,
7525 "description" : "List local node if there is no cluster defined. Please note that RSA keys and fingerprint are not valid in that case.",
7526 "optional" : 1,
7527 "type" : "boolean",
7528 "typetext" : "<boolean>"
7529 }
7530 }
d7cd791b
DM
7531 },
7532 "permissions" : {
7533 "check" : [
bb6e6e0d
DM
7534 "admin",
7535 "qmanager",
7536 "audit"
d7cd791b
DM
7537 ]
7538 },
7539 "returns" : {
7540 "items" : {
7541 "properties" : {
7542 "cid" : {
7543 "type" : "integer"
7544 },
7545 "fingerprint" : {
7546 "type" : "string"
7547 },
7548 "hostrsapubkey" : {
7549 "type" : "string"
7550 },
7551 "ip" : {
7552 "type" : "string"
7553 },
7554 "name" : {
7555 "type" : "string"
7556 },
7557 "rootrsapubkey" : {
7558 "type" : "string"
7559 },
7560 "type" : {
7561 "type" : "string"
7562 }
7563 },
7564 "type" : "object"
7565 },
7566 "links" : [
7567 {
7568 "href" : "{cid}",
7569 "rel" : "child"
7570 }
7571 ],
7572 "type" : "array"
7573 }
7574 }
7575 },
7576 "leaf" : 1,
7577 "path" : "/config/cluster/status",
7578 "text" : "status"
7579 },
7580 {
7581 "info" : {
7582 "POST" : {
6bd70b95 7583 "allowtoken" : 1,
d7cd791b
DM
7584 "description" : "Create initial cluster config with current node as master.",
7585 "method" : "POST",
7586 "name" : "create",
7587 "parameters" : {
7588 "additionalProperties" : 0
7589 },
7590 "protected" : 1,
7591 "returns" : {
7592 "type" : "string"
7593 }
7594 }
7595 },
7596 "leaf" : 1,
7597 "path" : "/config/cluster/create",
7598 "text" : "create"
7599 },
7600 {
7601 "info" : {
7602 "POST" : {
6bd70b95 7603 "allowtoken" : 1,
d7cd791b
DM
7604 "description" : "Join local node to an existing cluster.",
7605 "method" : "POST",
7606 "name" : "join",
7607 "parameters" : {
7608 "additionalProperties" : 0,
7609 "properties" : {
7610 "fingerprint" : {
7611 "description" : "SSL certificate fingerprint.",
7612 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7613 "type" : "string"
7614 },
7615 "master_ip" : {
7616 "description" : "IP address.",
7617 "format" : "ip",
7618 "type" : "string",
7619 "typetext" : "<string>"
7620 },
7621 "password" : {
7622 "description" : "Superuser password.",
7623 "maxLength" : 128,
7624 "type" : "string",
7625 "typetext" : "<string>"
7626 }
7627 }
7628 },
7629 "protected" : 1,
7630 "returns" : {
7631 "type" : "string"
7632 }
7633 }
7634 },
7635 "leaf" : 1,
7636 "path" : "/config/cluster/join",
7637 "text" : "join"
c5ccf1ab
TL
7638 },
7639 {
7640 "info" : {
7641 "POST" : {
7642 "allowtoken" : 1,
7643 "description" : "Update API certificate fingerprints (by fetching it via ssh).",
7644 "method" : "POST",
7645 "name" : "update_fingerprints",
7646 "parameters" : {
7647 "additionalProperties" : 0
7648 },
7649 "protected" : 1,
7650 "proxyto" : "master",
7651 "returns" : {
7652 "type" : "null"
7653 }
7654 }
7655 },
7656 "leaf" : 1,
7657 "path" : "/config/cluster/update-fingerprints",
7658 "text" : "update-fingerprints"
d7cd791b
DM
7659 }
7660 ],
410dc2c9
DM
7661 "info" : {
7662 "GET" : {
6bd70b95 7663 "allowtoken" : 1,
d7cd791b 7664 "description" : "Directory index.",
410dc2c9
DM
7665 "method" : "GET",
7666 "name" : "index",
7667 "parameters" : {
7668 "additionalProperties" : 0
7669 },
d7cd791b
DM
7670 "permissions" : {
7671 "user" : "all"
7672 },
410dc2c9
DM
7673 "returns" : {
7674 "items" : {
d7cd791b 7675 "properties" : {},
410dc2c9
DM
7676 "type" : "object"
7677 },
7678 "links" : [
7679 {
d7cd791b 7680 "href" : "{name}",
410dc2c9
DM
7681 "rel" : "child"
7682 }
7683 ],
7684 "type" : "array"
7685 }
7686 }
7687 },
d7cd791b 7688 "leaf" : 0,
410dc2c9
DM
7689 "path" : "/config/cluster",
7690 "text" : "cluster"
7691 },
9fda36b0
DM
7692 {
7693 "info" : {
7694 "GET" : {
6bd70b95 7695 "allowtoken" : 1,
9fda36b0
DM
7696 "description" : "Get Mime Types List",
7697 "method" : "GET",
7698 "name" : "index",
7699 "parameters" : {
7700 "additionalProperties" : 0
7701 },
7702 "returns" : {
7703 "items" : {
7704 "properties" : {
7705 "mimetype" : {
7706 "type" : "string"
7707 },
7708 "text" : {
7709 "type" : "string"
7710 }
7711 },
7712 "type" : "object"
7713 },
7714 "type" : "array"
7715 }
7716 }
7717 },
7718 "leaf" : 1,
7719 "path" : "/config/mimetypes",
7720 "text" : "mimetypes"
7721 },
241ac83c
TL
7722 {
7723 "children" : [
7724 {
7725 "info" : {
7726 "DELETE" : {
6bd70b95 7727 "allowtoken" : 1,
241ac83c
TL
7728 "description" : "Delete a tls_policy entry",
7729 "method" : "DELETE",
7730 "name" : "delete",
7731 "parameters" : {
7732 "additionalProperties" : 0,
7733 "properties" : {
549cfb68
TL
7734 "destination" : {
7735 "description" : "Destination (Domain or next-hop).",
7736 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7737 "type" : "string",
7738 "typetext" : "<string>"
7739 }
7740 }
7741 },
7742 "permissions" : {
7743 "check" : [
7744 "admin"
7745 ]
7746 },
7747 "protected" : 1,
7748 "proxyto" : "master",
7749 "returns" : {
7750 "type" : "null"
7751 }
7752 },
7753 "GET" : {
6bd70b95 7754 "allowtoken" : 1,
241ac83c
TL
7755 "description" : "Read tls_policy entry.",
7756 "method" : "GET",
7757 "name" : "read",
7758 "parameters" : {
7759 "additionalProperties" : 0,
7760 "properties" : {
549cfb68
TL
7761 "destination" : {
7762 "description" : "Destination (Domain or next-hop).",
7763 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7764 "type" : "string",
7765 "typetext" : "<string>"
7766 }
7767 }
7768 },
7769 "permissions" : {
7770 "check" : [
7771 "admin",
7772 "audit"
7773 ]
7774 },
7775 "proxyto" : "master",
7776 "returns" : {
7777 "properties" : {
549cfb68
TL
7778 "destination" : {
7779 "format" : "transport-domain-or-nexthop",
7780 "type" : "string"
7781 },
241ac83c
TL
7782 "policy" : {
7783 "format" : "tls-policy",
7784 "type" : "string"
7785 }
7786 },
7787 "type" : "object"
7788 }
7789 },
7790 "PUT" : {
6bd70b95 7791 "allowtoken" : 1,
241ac83c
TL
7792 "description" : "Update tls_policy entry.",
7793 "method" : "PUT",
7794 "name" : "write",
7795 "parameters" : {
7796 "additionalProperties" : 0,
7797 "properties" : {
549cfb68
TL
7798 "destination" : {
7799 "description" : "Destination (Domain or next-hop).",
7800 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7801 "type" : "string",
7802 "typetext" : "<string>"
7803 },
7804 "policy" : {
7805 "description" : "TLS policy",
7806 "format" : "tls-policy-strict",
7807 "type" : "string",
7808 "typetext" : "<string>"
7809 }
7810 }
7811 },
7812 "permissions" : {
7813 "check" : [
7814 "admin"
7815 ]
7816 },
7817 "protected" : 1,
7818 "proxyto" : "master",
7819 "returns" : {
7820 "type" : "null"
7821 }
7822 }
7823 },
7824 "leaf" : 1,
549cfb68
TL
7825 "path" : "/config/tlspolicy/{destination}",
7826 "text" : "{destination}"
241ac83c
TL
7827 }
7828 ],
7829 "info" : {
7830 "GET" : {
6bd70b95 7831 "allowtoken" : 1,
241ac83c
TL
7832 "description" : "List tls_policy entries.",
7833 "method" : "GET",
7834 "name" : "index",
7835 "parameters" : {
7836 "additionalProperties" : 0
7837 },
7838 "permissions" : {
7839 "check" : [
7840 "admin",
7841 "audit"
7842 ]
7843 },
7844 "proxyto" : "master",
7845 "returns" : {
7846 "items" : {
7847 "properties" : {
549cfb68
TL
7848 "destination" : {
7849 "format" : "transport-domain-or-nexthop",
7850 "type" : "string"
7851 },
241ac83c
TL
7852 "policy" : {
7853 "format" : "tls-policy",
7854 "type" : "string"
7855 }
7856 },
7857 "type" : "object"
7858 },
7859 "links" : [
7860 {
549cfb68 7861 "href" : "{destination}",
241ac83c
TL
7862 "rel" : "child"
7863 }
7864 ],
7865 "type" : "array"
7866 }
7867 },
7868 "POST" : {
6bd70b95 7869 "allowtoken" : 1,
241ac83c
TL
7870 "description" : "Add tls_policy entry.",
7871 "method" : "POST",
7872 "name" : "create",
7873 "parameters" : {
7874 "additionalProperties" : 0,
7875 "properties" : {
549cfb68
TL
7876 "destination" : {
7877 "description" : "Destination (Domain or next-hop).",
7878 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7879 "type" : "string",
7880 "typetext" : "<string>"
7881 },
7882 "policy" : {
7883 "description" : "TLS policy",
7884 "format" : "tls-policy-strict",
7885 "type" : "string",
7886 "typetext" : "<string>"
7887 }
7888 }
7889 },
7890 "permissions" : {
7891 "check" : [
7892 "admin"
7893 ]
7894 },
7895 "protected" : 1,
7896 "proxyto" : "master",
7897 "returns" : {
7898 "type" : "null"
7899 }
7900 }
7901 },
7902 "leaf" : 0,
7903 "path" : "/config/tlspolicy",
7904 "text" : "tlspolicy"
7905 },
410dc2c9 7906 {
d210277a
TL
7907 "children" : [
7908 {
7909 "children" : [
7910 {
7911 "info" : {
7912 "DELETE" : {
6bd70b95 7913 "allowtoken" : 1,
d210277a
TL
7914 "description" : "Delete a DKIM-sign domain",
7915 "method" : "DELETE",
7916 "name" : "delete",
7917 "parameters" : {
7918 "additionalProperties" : 0,
7919 "properties" : {
7920 "domain" : {
7921 "description" : "Domain name.",
7922 "format" : "transport-domain",
7923 "type" : "string",
7924 "typetext" : "<string>"
7925 }
7926 }
7927 },
7928 "permissions" : {
7929 "check" : [
7930 "admin"
7931 ]
7932 },
7933 "protected" : 1,
7934 "proxyto" : "master",
7935 "returns" : {
7936 "type" : "null"
7937 }
7938 },
7939 "GET" : {
6bd70b95 7940 "allowtoken" : 1,
d210277a
TL
7941 "description" : "Read Domain data (comment).",
7942 "method" : "GET",
7943 "name" : "read",
7944 "parameters" : {
7945 "additionalProperties" : 0,
7946 "properties" : {
7947 "domain" : {
7948 "description" : "Domain name.",
7949 "format" : "transport-domain",
7950 "type" : "string",
7951 "typetext" : "<string>"
7952 }
7953 }
7954 },
7955 "permissions" : {
7956 "check" : [
7957 "admin",
7958 "audit"
7959 ]
7960 },
7961 "proxyto" : "master",
7962 "returns" : {
7963 "properties" : {
7964 "comment" : {
7965 "type" : "string"
7966 },
7967 "domain" : {
7968 "type" : "string"
7969 }
7970 },
7971 "type" : "object"
7972 }
7973 },
7974 "PUT" : {
6bd70b95 7975 "allowtoken" : 1,
d210277a
TL
7976 "description" : "Update DKIM-sign domain data (comment).",
7977 "method" : "PUT",
7978 "name" : "write",
7979 "parameters" : {
7980 "additionalProperties" : 0,
7981 "properties" : {
7982 "comment" : {
7983 "description" : "Comment.",
7984 "type" : "string",
7985 "typetext" : "<string>"
7986 },
7987 "domain" : {
7988 "description" : "Domain name.",
7989 "format" : "transport-domain",
7990 "type" : "string",
7991 "typetext" : "<string>"
7992 }
7993 }
7994 },
7995 "permissions" : {
7996 "check" : [
7997 "admin"
7998 ]
7999 },
8000 "protected" : 1,
8001 "proxyto" : "master",
8002 "returns" : {
8003 "type" : "null"
8004 }
8005 }
8006 },
8007 "leaf" : 1,
8008 "path" : "/config/dkim/domains/{domain}",
8009 "text" : "{domain}"
8010 }
8011 ],
8012 "info" : {
8013 "GET" : {
6bd70b95 8014 "allowtoken" : 1,
d210277a
TL
8015 "description" : "List DKIM-sign domains.",
8016 "method" : "GET",
8017 "name" : "index",
8018 "parameters" : {
8019 "additionalProperties" : 0
8020 },
8021 "permissions" : {
8022 "check" : [
8023 "admin",
8024 "audit"
8025 ]
8026 },
8027 "proxyto" : "master",
8028 "returns" : {
8029 "items" : {
8030 "properties" : {
8031 "comment" : {
8032 "type" : "string"
8033 },
8034 "domain" : {
8035 "type" : "string"
8036 }
8037 },
8038 "type" : "object"
8039 },
8040 "links" : [
8041 {
8042 "href" : "{domain}",
8043 "rel" : "child"
8044 }
8045 ],
8046 "type" : "array"
8047 }
8048 },
8049 "POST" : {
6bd70b95 8050 "allowtoken" : 1,
d210277a
TL
8051 "description" : "Add DKIM-sign domain.",
8052 "method" : "POST",
8053 "name" : "create",
8054 "parameters" : {
8055 "additionalProperties" : 0,
8056 "properties" : {
8057 "comment" : {
8058 "description" : "Comment.",
8059 "optional" : 1,
8060 "type" : "string",
8061 "typetext" : "<string>"
8062 },
8063 "domain" : {
8064 "description" : "Domain name.",
8065 "format" : "transport-domain",
8066 "type" : "string",
8067 "typetext" : "<string>"
8068 }
8069 }
8070 },
8071 "permissions" : {
8072 "check" : [
8073 "admin"
8074 ]
8075 },
8076 "protected" : 1,
8077 "proxyto" : "master",
8078 "returns" : {
8079 "type" : "null"
8080 }
8081 }
8082 },
8083 "leaf" : 0,
8084 "path" : "/config/dkim/domains",
8085 "text" : "domains"
8086 },
8087 {
8088 "info" : {
8089 "GET" : {
6bd70b95 8090 "allowtoken" : 1,
d210277a
TL
8091 "description" : "Get the public key for the configured selector, prepared as DKIM TXT record",
8092 "method" : "GET",
8093 "name" : "get_selector_info",
8094 "parameters" : {
8095 "additionalProperties" : 0
8096 },
8097 "permissions" : {
8098 "check" : [
8099 "admin"
8100 ]
8101 },
8102 "protected" : 1,
8103 "proxyto" : "master",
8104 "returns" : {
8105 "properties" : {
8106 "keysize" : {
8107 "minimum" : 1024,
8108 "optional" : 1,
8109 "type" : "integer"
8110 },
8111 "record" : {
8112 "format" : "pmg-dkim-record",
8113 "optional" : 1,
8114 "type" : "string"
8115 },
8116 "selector" : {
8117 "format" : "dns-name",
8118 "optional" : 1,
8119 "type" : "string"
8120 }
8121 },
8122 "type" : "object"
8123 }
8124 },
8125 "POST" : {
6bd70b95 8126 "allowtoken" : 1,
d210277a
TL
8127 "description" : "Generate a new private key for selector. All future mail will be signed with the new key!",
8128 "method" : "POST",
8129 "name" : "set_selector",
8130 "parameters" : {
8131 "additionalProperties" : 0,
8132 "properties" : {
6bd70b95
TL
8133 "force" : {
8134 "description" : "Overwrite existing key",
8135 "optional" : 1,
8136 "type" : "boolean",
8137 "typetext" : "<boolean>"
8138 },
d210277a
TL
8139 "keysize" : {
8140 "description" : "Number of bits for the RSA-Key",
8141 "minimum" : 1024,
8142 "type" : "integer",
8143 "typetext" : "<integer> (1024 - N)"
8144 },
8145 "selector" : {
8146 "description" : "DKIM Selector",
8147 "format" : "dns-name",
8148 "type" : "string",
8149 "typetext" : "<string>"
8150 }
8151 }
8152 },
8153 "permissions" : {
8154 "check" : [
8155 "admin"
8156 ]
8157 },
8158 "protected" : 1,
8159 "proxyto" : "master",
8160 "returns" : {
8161 "type" : "null"
8162 }
8163 }
8164 },
8165 "leaf" : 1,
8166 "path" : "/config/dkim/selector",
8167 "text" : "selector"
6bd70b95
TL
8168 },
8169 {
8170 "info" : {
8171 "GET" : {
8172 "allowtoken" : 1,
8173 "description" : "Get a list of all existing selectors",
8174 "method" : "GET",
8175 "name" : "get_selector_list",
8176 "parameters" : {
8177 "additionalProperties" : 0
8178 },
8179 "permissions" : {
8180 "check" : [
8181 "admin"
8182 ]
8183 },
8184 "protected" : 1,
8185 "proxyto" : "master",
8186 "returns" : {
8187 "items" : {
8188 "properties" : {
8189 "selector" : {
8190 "format" : "dns-name",
8191 "type" : "string"
8192 }
8193 },
8194 "type" : "object"
8195 },
8196 "links" : [
8197 {
8198 "href" : "{selector}",
8199 "rel" : "child"
8200 }
8201 ],
8202 "type" : "array"
8203 }
8204 }
8205 },
8206 "leaf" : 1,
8207 "path" : "/config/dkim/selectors",
8208 "text" : "selectors"
d210277a
TL
8209 }
8210 ],
410dc2c9
DM
8211 "info" : {
8212 "GET" : {
6bd70b95 8213 "allowtoken" : 1,
d210277a 8214 "description" : "Directory index.",
410dc2c9 8215 "method" : "GET",
d210277a 8216 "name" : "index",
410dc2c9
DM
8217 "parameters" : {
8218 "additionalProperties" : 0
8219 },
410dc2c9 8220 "returns" : {
d210277a
TL
8221 "items" : {
8222 "properties" : {
8223 "section" : {
8224 "type" : "string"
8225 }
9fda36b0 8226 },
d210277a
TL
8227 "type" : "object"
8228 },
8229 "links" : [
8230 {
8231 "href" : "{section}",
8232 "rel" : "child"
8233 }
8234 ],
8235 "type" : "array"
8236 }
8237 }
8238 },
8239 "leaf" : 0,
8240 "path" : "/config/dkim",
8241 "text" : "dkim"
8242 },
8243 {
8244 "children" : [
8245 {
8246 "info" : {
8247 "DELETE" : {
6bd70b95 8248 "allowtoken" : 1,
d210277a
TL
8249 "description" : "Edit custom SpamAssassin score",
8250 "method" : "DELETE",
8251 "name" : "delete_score",
8252 "parameters" : {
8253 "additionalProperties" : 0,
8254 "properties" : {
8255 "digest" : {
8256 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8257 "maxLength" : 40,
8258 "optional" : 1,
8259 "type" : "string",
8260 "typetext" : "<string>"
8261 },
8262 "name" : {
8263 "description" : "The name of the rule.",
8264 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8265 "type" : "string"
8266 }
8267 }
8268 },
8269 "protected" : 1,
8270 "proxyto" : "master",
8271 "returns" : {
8272 "type" : "null"
8273 }
8274 },
8275 "GET" : {
6bd70b95 8276 "allowtoken" : 1,
d210277a
TL
8277 "description" : "Get custom SpamAssassin score",
8278 "method" : "GET",
8279 "name" : "get_score",
8280 "parameters" : {
8281 "additionalProperties" : 0,
8282 "properties" : {
8283 "name" : {
8284 "description" : "The name of the rule.",
8285 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8286 "type" : "string"
8287 }
8288 }
8289 },
8290 "protected" : 1,
8291 "proxyto" : "master",
8292 "returns" : {
8293 "properties" : {
8294 "comment" : {
8295 "description" : "The Comment.",
8296 "optional" : 1,
8297 "type" : "string"
8298 },
8299 "name" : {
8300 "description" : "The name of the rule.",
8301 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8302 "type" : "string"
8303 },
8304 "score" : {
8305 "description" : "The score the rule should be valued at.",
8306 "type" : "number"
8307 }
8308 },
8309 "type" : "object"
8310 }
8311 },
8312 "PUT" : {
6bd70b95 8313 "allowtoken" : 1,
d210277a
TL
8314 "description" : "Edit custom SpamAssassin score",
8315 "method" : "PUT",
8316 "name" : "edit_score",
8317 "parameters" : {
8318 "additionalProperties" : 0,
8319 "properties" : {
8320 "comment" : {
8321 "description" : "The Comment.",
8322 "optional" : 1,
8323 "type" : "string",
8324 "typetext" : "<string>"
8325 },
8326 "digest" : {
8327 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8328 "maxLength" : 40,
8329 "optional" : 1,
8330 "type" : "string",
8331 "typetext" : "<string>"
8332 },
8333 "name" : {
8334 "description" : "The name of the rule.",
8335 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8336 "type" : "string"
8337 },
8338 "score" : {
8339 "description" : "The score the rule should be valued at.",
8340 "type" : "number",
8341 "typetext" : "<number>"
8342 }
8343 }
8344 },
8345 "protected" : 1,
8346 "proxyto" : "master",
8347 "returns" : {
8348 "type" : "null"
8349 }
8350 }
8351 },
8352 "leaf" : 1,
8353 "path" : "/config/customscores/{name}",
8354 "text" : "{name}"
8355 }
8356 ],
8357 "info" : {
8358 "DELETE" : {
6bd70b95 8359 "allowtoken" : 1,
d210277a
TL
8360 "description" : "Revert custom score changes.",
8361 "method" : "DELETE",
8362 "name" : "revert_score_changes",
8363 "parameters" : {
8364 "additionalProperties" : 0
8365 },
8366 "permissions" : {
8367 "check" : [
8368 "admin"
8369 ]
8370 },
8371 "protected" : 1,
8372 "proxyto" : "master",
8373 "returns" : {
8374 "type" : "null"
8375 }
8376 },
8377 "GET" : {
6bd70b95 8378 "allowtoken" : 1,
d210277a
TL
8379 "description" : "List custom scores.",
8380 "method" : "GET",
8381 "name" : "list_scores",
8382 "parameters" : {
8383 "additionalProperties" : 0
8384 },
8385 "permissions" : {
8386 "check" : [
8387 "admin",
8388 "audit"
8389 ]
8390 },
8391 "proxyto" : "master",
8392 "returns" : {
8393 "items" : {
8394 "properties" : {
8395 "comment" : {
8396 "description" : "The Comment.",
8397 "optional" : 1,
8398 "type" : "string"
8399 },
8400 "digest" : {
8401 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8402 "maxLength" : 40,
8403 "optional" : 1,
8404 "type" : "string"
8405 },
8406 "name" : {
8407 "description" : "The name of the rule.",
8408 "optional" : 1,
8409 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8410 "type" : "string"
8411 },
8412 "score" : {
8413 "description" : "The score the rule should be valued at.",
8414 "optional" : 1,
8415 "type" : "number"
8416 }
8417 },
8418 "type" : "object"
8419 },
8420 "links" : [
8421 {
8422 "href" : "{name}",
8423 "rel" : "child"
8424 }
8425 ],
8426 "type" : "array"
8427 }
8428 },
8429 "POST" : {
6bd70b95 8430 "allowtoken" : 1,
d210277a
TL
8431 "description" : "Create custom SpamAssassin score",
8432 "method" : "POST",
8433 "name" : "create_score",
8434 "parameters" : {
8435 "additionalProperties" : 0,
8436 "properties" : {
8437 "comment" : {
8438 "description" : "The Comment.",
8439 "optional" : 1,
8440 "type" : "string",
8441 "typetext" : "<string>"
8442 },
8443 "digest" : {
8444 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8445 "maxLength" : 40,
8446 "optional" : 1,
8447 "type" : "string",
8448 "typetext" : "<string>"
8449 },
8450 "name" : {
8451 "description" : "The name of the rule.",
8452 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8453 "type" : "string"
8454 },
8455 "score" : {
8456 "description" : "The score the rule should be valued at.",
8457 "type" : "number",
8458 "typetext" : "<number>"
8459 }
8460 }
8461 },
8462 "protected" : 1,
8463 "proxyto" : "master",
8464 "returns" : {
8465 "type" : "null"
8466 }
8467 },
8468 "PUT" : {
6bd70b95 8469 "allowtoken" : 1,
d210277a
TL
8470 "description" : "Apply custom score changes.",
8471 "method" : "PUT",
8472 "name" : "apply_score_changes",
8473 "parameters" : {
8474 "additionalProperties" : 0,
8475 "properties" : {
8476 "digest" : {
8477 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8478 "maxLength" : 40,
8479 "optional" : 1,
8480 "type" : "string",
8481 "typetext" : "<string>"
8482 },
8483 "restart-daemon" : {
8484 "default" : 0,
8485 "description" : "If set, also restarts pmg-smtp-filter. This is necessary for the changes to work.",
8486 "optional" : 1,
8487 "type" : "boolean",
8488 "typetext" : "<boolean>"
8489 }
8490 }
8491 },
8492 "permissions" : {
8493 "check" : [
8494 "admin"
8495 ]
8496 },
8497 "protected" : 1,
8498 "proxyto" : "master",
8499 "returns" : {
8500 "type" : "string"
8501 }
8502 }
8503 },
8504 "leaf" : 0,
8505 "path" : "/config/customscores",
8506 "text" : "customscores"
8507 },
8508 {
ab2b846b
TL
8509 "children" : [
8510 {
8511 "info" : {
8512 "DELETE" : {
8513 "allowtoken" : 1,
8514 "description" : "Delete an PBS remote",
8515 "method" : "DELETE",
8516 "name" : "delete",
8517 "parameters" : {
8518 "additionalProperties" : 0,
8519 "properties" : {
8520 "remote" : {
8521 "description" : "Profile ID.",
8522 "format" : "pve-configid",
8523 "type" : "string",
8524 "typetext" : "<string>"
8525 }
8526 }
8527 },
8528 "permissions" : {
8529 "check" : [
8530 "admin"
8531 ]
8532 },
8533 "protected" : 1,
8534 "proxyto" : "master",
8535 "returns" : {
8536 "type" : "null"
8537 }
8538 },
8539 "GET" : {
8540 "allowtoken" : 1,
8541 "description" : "Get Proxmox Backup Server remote configuration.",
8542 "method" : "GET",
8543 "name" : "read_config",
8544 "parameters" : {
8545 "additionalProperties" : 1,
8546 "properties" : {
8547 "remote" : {
8548 "description" : "Proxmox Backup Server ID.",
8549 "format" : "pve-configid",
8550 "type" : "string",
8551 "typetext" : "<string>"
8552 }
8553 }
8554 },
8555 "permissions" : {
8556 "check" : [
8557 "admin",
8558 "audit"
8559 ]
8560 },
8561 "proxyto" : "master",
8562 "returns" : {}
8563 },
8564 "PUT" : {
8565 "allowtoken" : 1,
8566 "description" : "Update PBS remote settings.",
8567 "method" : "PUT",
8568 "name" : "update_config",
8569 "parameters" : {
8570 "additionalProperties" : 0,
8571 "properties" : {
8572 "datastore" : {
8573 "description" : "Proxmox Backup Server datastore name.",
8574 "optional" : 1,
0b9926d3
TL
8575 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8576 "type" : "string"
ab2b846b
TL
8577 },
8578 "delete" : {
8579 "description" : "A list of settings you want to delete.",
8580 "format" : "pve-configid-list",
8581 "maxLength" : 4096,
8582 "optional" : 1,
8583 "type" : "string",
8584 "typetext" : "<string>"
8585 },
8586 "digest" : {
8587 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8588 "maxLength" : 40,
8589 "optional" : 1,
8590 "type" : "string",
8591 "typetext" : "<string>"
8592 },
8593 "disable" : {
8594 "description" : "Flag to disable (deactivate) the entry.",
8595 "optional" : 1,
8596 "type" : "boolean",
8597 "typetext" : "<boolean>"
8598 },
8599 "fingerprint" : {
8600 "description" : "Certificate SHA 256 fingerprint.",
8601 "optional" : 1,
8602 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8603 "type" : "string"
8604 },
c5ccf1ab
TL
8605 "include-statistics" : {
8606 "description" : "Include statistics in scheduled backups",
8607 "optional" : 1,
8608 "type" : "boolean",
8609 "typetext" : "<boolean>"
8610 },
ab2b846b
TL
8611 "keep-daily" : {
8612 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
8613 "format_description" : "N",
8614 "minimum" : "0",
8615 "optional" : 1,
8616 "type" : "integer",
8617 "typetext" : "<N>"
8618 },
8619 "keep-hourly" : {
8620 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
8621 "format_description" : "N",
8622 "minimum" : "0",
8623 "optional" : 1,
8624 "type" : "integer",
8625 "typetext" : "<N>"
8626 },
8627 "keep-last" : {
8628 "description" : "Keep the last <N> backups.",
8629 "format_description" : "N",
8630 "minimum" : "0",
8631 "optional" : 1,
8632 "type" : "integer",
8633 "typetext" : "<N>"
8634 },
8635 "keep-monthly" : {
8636 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
8637 "format_description" : "N",
8638 "minimum" : "0",
8639 "optional" : 1,
8640 "type" : "integer",
8641 "typetext" : "<N>"
8642 },
8643 "keep-weekly" : {
8644 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
8645 "format_description" : "N",
8646 "minimum" : "0",
8647 "optional" : 1,
8648 "type" : "integer",
8649 "typetext" : "<N>"
8650 },
8651 "keep-yearly" : {
8652 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
8653 "format_description" : "N",
8654 "minimum" : "0",
8655 "optional" : 1,
8656 "type" : "integer",
8657 "typetext" : "<N>"
8658 },
0b9926d3
TL
8659 "namespace" : {
8660 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8661 "maxLength" : 256,
8662 "optional" : 1,
8663 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8664 "type" : "string"
8665 },
c5ccf1ab
TL
8666 "notify" : {
8667 "description" : "Specify when to notify via e-mail",
8668 "enum" : [
8669 "always",
8670 "error",
8671 "never"
8672 ],
8673 "optional" : 1,
8674 "type" : "string"
8675 },
ab2b846b
TL
8676 "password" : {
8677 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8678 "optional" : 1,
8679 "type" : "string",
8680 "typetext" : "<string>"
8681 },
8682 "remote" : {
8683 "description" : "Proxmox Backup Server ID.",
8684 "format" : "pve-configid",
8685 "type" : "string",
8686 "typetext" : "<string>"
8687 },
8688 "server" : {
8689 "description" : "Proxmox Backup Server address.",
8690 "format" : "address",
8691 "maxLength" : 256,
8692 "optional" : 1,
8693 "type" : "string",
8694 "typetext" : "<string>"
8695 },
8696 "username" : {
8697 "description" : "Username or API token ID on the Proxmox Backup Server",
8698 "maxLength" : 512,
8699 "minLength" : 3,
8700 "optional" : 1,
c5ccf1ab 8701 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8702 "type" : "string"
8703 }
8704 },
8705 "type" : "object"
8706 },
8707 "permissions" : {
8708 "check" : [
8709 "admin"
8710 ]
8711 },
8712 "protected" : 1,
8713 "proxyto" : "master",
8714 "returns" : {
8715 "type" : "null"
8716 }
8717 }
8718 },
8719 "leaf" : 1,
8720 "path" : "/config/pbs/{remote}",
8721 "text" : "{remote}"
8722 }
8723 ],
d210277a
TL
8724 "info" : {
8725 "GET" : {
6bd70b95 8726 "allowtoken" : 1,
ab2b846b 8727 "description" : "List all configured Proxmox Backup Server instances.",
d210277a 8728 "method" : "GET",
ab2b846b 8729 "name" : "list",
d210277a
TL
8730 "parameters" : {
8731 "additionalProperties" : 0
8732 },
8733 "permissions" : {
8734 "check" : [
8735 "admin",
8736 "audit"
8737 ]
8738 },
ab2b846b 8739 "protected" : 1,
d210277a
TL
8740 "proxyto" : "master",
8741 "returns" : {
ab2b846b
TL
8742 "items" : {
8743 "additionalProperties" : 0,
8744 "properties" : {
8745 "datastore" : {
8746 "description" : "Proxmox Backup Server datastore name.",
8747 "optional" : 0,
0b9926d3 8748 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
ab2b846b
TL
8749 "type" : "string"
8750 },
8751 "disable" : {
8752 "description" : "Flag to disable (deactivate) the entry.",
8753 "optional" : 1,
8754 "type" : "boolean"
8755 },
8756 "fingerprint" : {
8757 "description" : "Certificate SHA 256 fingerprint.",
8758 "optional" : 1,
8759 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8760 "type" : "string"
8761 },
c5ccf1ab
TL
8762 "include-statistics" : {
8763 "description" : "Include statistics in scheduled backups",
8764 "optional" : 1,
8765 "type" : "boolean"
8766 },
ab2b846b
TL
8767 "keep-daily" : {
8768 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
8769 "format_description" : "N",
8770 "minimum" : "0",
8771 "optional" : 1,
8772 "type" : "integer"
8773 },
8774 "keep-hourly" : {
8775 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
8776 "format_description" : "N",
8777 "minimum" : "0",
8778 "optional" : 1,
8779 "type" : "integer"
8780 },
8781 "keep-last" : {
8782 "description" : "Keep the last <N> backups.",
8783 "format_description" : "N",
8784 "minimum" : "0",
8785 "optional" : 1,
8786 "type" : "integer"
8787 },
8788 "keep-monthly" : {
8789 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
8790 "format_description" : "N",
8791 "minimum" : "0",
8792 "optional" : 1,
8793 "type" : "integer"
8794 },
8795 "keep-weekly" : {
8796 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
8797 "format_description" : "N",
8798 "minimum" : "0",
8799 "optional" : 1,
8800 "type" : "integer"
8801 },
8802 "keep-yearly" : {
8803 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
8804 "format_description" : "N",
8805 "minimum" : "0",
8806 "optional" : 1,
8807 "type" : "integer"
8808 },
0b9926d3
TL
8809 "namespace" : {
8810 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8811 "maxLength" : 256,
8812 "optional" : 1,
8813 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8814 "type" : "string"
8815 },
c5ccf1ab
TL
8816 "notify" : {
8817 "description" : "Specify when to notify via e-mail",
8818 "enum" : [
8819 "always",
8820 "error",
8821 "never"
8822 ],
8823 "optional" : 1,
8824 "type" : "string"
8825 },
ab2b846b
TL
8826 "password" : {
8827 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8828 "optional" : 1,
8829 "type" : "string"
8830 },
8831 "remote" : {
8832 "description" : "Proxmox Backup Server ID.",
8833 "format" : "pve-configid",
8834 "type" : "string"
8835 },
8836 "server" : {
8837 "description" : "Proxmox Backup Server address.",
8838 "format" : "address",
8839 "maxLength" : 256,
8840 "optional" : 0,
8841 "type" : "string"
8842 },
8843 "username" : {
8844 "description" : "Username or API token ID on the Proxmox Backup Server",
8845 "maxLength" : 512,
8846 "minLength" : 3,
8847 "optional" : 1,
c5ccf1ab 8848 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8849 "type" : "string"
8850 }
8851 },
8852 "type" : "object"
8853 },
8854 "links" : [
8855 {
8856 "href" : "{remote}",
8857 "rel" : "child"
8858 }
8859 ],
8860 "type" : "array"
d210277a
TL
8861 }
8862 },
ab2b846b 8863 "POST" : {
6bd70b95 8864 "allowtoken" : 1,
ab2b846b
TL
8865 "description" : "Add Proxmox Backup Server remote instance.",
8866 "method" : "POST",
8867 "name" : "create",
d210277a
TL
8868 "parameters" : {
8869 "additionalProperties" : 0,
8870 "properties" : {
ab2b846b
TL
8871 "datastore" : {
8872 "description" : "Proxmox Backup Server datastore name.",
8873 "optional" : 0,
0b9926d3
TL
8874 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8875 "type" : "string"
d210277a 8876 },
ab2b846b
TL
8877 "disable" : {
8878 "description" : "Flag to disable (deactivate) the entry.",
f225b3b4
DM
8879 "optional" : 1,
8880 "type" : "boolean",
8881 "typetext" : "<boolean>"
8882 },
ab2b846b
TL
8883 "fingerprint" : {
8884 "description" : "Certificate SHA 256 fingerprint.",
f225b3b4 8885 "optional" : 1,
ab2b846b
TL
8886 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8887 "type" : "string"
f225b3b4 8888 },
c5ccf1ab
TL
8889 "include-statistics" : {
8890 "description" : "Include statistics in scheduled backups",
8891 "optional" : 1,
8892 "type" : "boolean",
8893 "typetext" : "<boolean>"
8894 },
ab2b846b
TL
8895 "keep-daily" : {
8896 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
8897 "format_description" : "N",
8898 "minimum" : "0",
241ac83c 8899 "optional" : 1,
ab2b846b
TL
8900 "type" : "integer",
8901 "typetext" : "<N>"
241ac83c 8902 },
ab2b846b
TL
8903 "keep-hourly" : {
8904 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
8905 "format_description" : "N",
8906 "minimum" : "0",
241ac83c 8907 "optional" : 1,
ab2b846b
TL
8908 "type" : "integer",
8909 "typetext" : "<N>"
241ac83c 8910 },
ab2b846b
TL
8911 "keep-last" : {
8912 "description" : "Keep the last <N> backups.",
8913 "format_description" : "N",
8914 "minimum" : "0",
410dc2c9 8915 "optional" : 1,
ab2b846b
TL
8916 "type" : "integer",
8917 "typetext" : "<N>"
410dc2c9 8918 },
ab2b846b
TL
8919 "keep-monthly" : {
8920 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
8921 "format_description" : "N",
8922 "minimum" : "0",
410dc2c9 8923 "optional" : 1,
ab2b846b
TL
8924 "type" : "integer",
8925 "typetext" : "<N>"
410dc2c9 8926 },
ab2b846b
TL
8927 "keep-weekly" : {
8928 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
8929 "format_description" : "N",
8930 "minimum" : "0",
410dc2c9 8931 "optional" : 1,
ab2b846b
TL
8932 "type" : "integer",
8933 "typetext" : "<N>"
410dc2c9 8934 },
ab2b846b
TL
8935 "keep-yearly" : {
8936 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
8937 "format_description" : "N",
8938 "minimum" : "0",
8939 "optional" : 1,
8940 "type" : "integer",
8941 "typetext" : "<N>"
8942 },
0b9926d3
TL
8943 "namespace" : {
8944 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8945 "maxLength" : 256,
8946 "optional" : 1,
8947 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8948 "type" : "string"
8949 },
c5ccf1ab
TL
8950 "notify" : {
8951 "description" : "Specify when to notify via e-mail",
8952 "enum" : [
8953 "always",
8954 "error",
8955 "never"
8956 ],
8957 "optional" : 1,
8958 "type" : "string"
8959 },
ab2b846b
TL
8960 "password" : {
8961 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8962 "optional" : 1,
8963 "type" : "string",
8964 "typetext" : "<string>"
8965 },
8966 "remote" : {
8967 "description" : "Proxmox Backup Server ID.",
8968 "format" : "pve-configid",
8969 "type" : "string",
8970 "typetext" : "<string>"
8971 },
8972 "server" : {
8973 "description" : "Proxmox Backup Server address.",
8974 "format" : "address",
8975 "maxLength" : 256,
8976 "optional" : 0,
8977 "type" : "string",
8978 "typetext" : "<string>"
8979 },
8980 "username" : {
8981 "description" : "Username or API token ID on the Proxmox Backup Server",
8982 "maxLength" : 512,
8983 "minLength" : 3,
8984 "optional" : 1,
c5ccf1ab 8985 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8986 "type" : "string"
8987 }
8988 },
8989 "type" : "object"
8990 },
8991 "permissions" : {
8992 "check" : [
8993 "admin"
8994 ]
8995 },
8996 "protected" : 1,
8997 "proxyto" : "master",
8998 "returns" : {
8999 "type" : "null"
9000 }
9001 }
9002 },
9003 "leaf" : 0,
9004 "path" : "/config/pbs",
9005 "text" : "pbs"
9006 },
9007 {
c5ccf1ab
TL
9008 "children" : [
9009 {
9010 "children" : [
9011 {
9012 "info" : {
9013 "DELETE" : {
9014 "allowtoken" : 1,
9015 "description" : "Delete ACME plugin configuration.",
9016 "method" : "DELETE",
9017 "name" : "delete_plugin",
9018 "parameters" : {
9019 "additionalProperties" : 0,
9020 "properties" : {
9021 "id" : {
9022 "description" : "Unique identifier for ACME plugin instance.",
9023 "format" : "pve-configid",
9024 "type" : "string",
9025 "typetext" : "<string>"
9026 }
9027 }
9028 },
9029 "permissions" : {
9030 "check" : [
9031 "admin"
9032 ]
9033 },
9034 "protected" : 1,
9035 "returns" : {
9036 "type" : "null"
9037 }
9038 },
9039 "GET" : {
9040 "allowtoken" : 1,
9041 "description" : "Get ACME plugin configuration.",
9042 "method" : "GET",
9043 "name" : "get_plugin_config",
9044 "parameters" : {
9045 "additionalProperties" : 0,
9046 "properties" : {
9047 "id" : {
9048 "description" : "Unique identifier for ACME plugin instance.",
9049 "format" : "pve-configid",
9050 "type" : "string",
9051 "typetext" : "<string>"
9052 }
9053 }
9054 },
9055 "permissions" : {
9056 "check" : [
9057 "admin"
9058 ]
9059 },
9060 "protected" : 1,
9061 "returns" : {
9062 "type" : "object"
9063 }
9064 },
9065 "PUT" : {
9066 "allowtoken" : 1,
9067 "description" : "Update ACME plugin configuration.",
9068 "method" : "PUT",
9069 "name" : "update_plugin",
9070 "parameters" : {
9071 "additionalProperties" : 0,
9072 "properties" : {
9073 "api" : {
9074 "description" : "API plugin name",
9075 "enum" : [
9076 "1984hosting",
9077 "acmedns",
9078 "acmeproxy",
9079 "active24",
9080 "ad",
9081 "ali",
9082 "anx",
9083 "arvan",
0362f73f 9084 "aurora",
c5ccf1ab
TL
9085 "autodns",
9086 "aws",
e0e71e6a 9087 "azion",
c5ccf1ab
TL
9088 "azure",
9089 "cf",
9090 "clouddns",
9091 "cloudns",
9092 "cn",
9093 "conoha",
9094 "constellix",
9095 "cx",
9096 "cyon",
9097 "da",
9098 "ddnss",
9099 "desec",
9100 "df",
9101 "dgon",
9102 "dnsimple",
9103 "do",
9104 "doapi",
9105 "domeneshop",
9106 "dp",
9107 "dpi",
9108 "dreamhost",
9109 "duckdns",
9110 "durabledns",
9111 "dyn",
9112 "dynu",
9113 "dynv6",
9114 "easydns",
9115 "edgedns",
9116 "euserv",
9117 "exoscale",
9118 "freedns",
9119 "gandi_livedns",
9120 "gcloud",
9121 "gd",
9122 "gdnsdk",
9123 "he",
9124 "hetzner",
9125 "hexonet",
9126 "hostingde",
9127 "huaweicloud",
9128 "infoblox",
9129 "infomaniak",
9130 "internetbs",
9131 "inwx",
9132 "ionos",
9133 "ispconfig",
9134 "jd",
9135 "joker",
9136 "kappernet",
9137 "kas",
9138 "kinghost",
9139 "knot",
9140 "leaseweb",
9141 "lexicon",
9142 "linode",
9143 "linode_v4",
9144 "loopia",
9145 "lua",
9146 "maradns",
9147 "me",
9148 "miab",
9149 "misaka",
9150 "myapi",
9151 "mydevil",
9152 "mydnsjp",
9153 "namecheap",
9154 "namecom",
9155 "namesilo",
9156 "nederhost",
9157 "neodigit",
9158 "netcup",
9159 "netlify",
9160 "nic",
9161 "njalla",
9162 "nm",
9163 "nsd",
9164 "nsone",
9165 "nsupdate",
9166 "nw",
e0e71e6a 9167 "oci",
c5ccf1ab
TL
9168 "one",
9169 "online",
9170 "openprovider",
9171 "openstack",
9172 "opnsense",
9173 "ovh",
9174 "pdns",
9175 "pleskxml",
9176 "pointhq",
0362f73f 9177 "porkbun",
c5ccf1ab
TL
9178 "rackcorp",
9179 "rackspace",
9180 "rcode0",
9181 "regru",
9182 "scaleway",
9183 "schlundtech",
9184 "selectel",
9185 "servercow",
9186 "simply",
9187 "tele3",
9188 "transip",
9189 "ultra",
9190 "unoeuro",
9191 "variomedia",
e0e71e6a 9192 "veesp",
c5ccf1ab
TL
9193 "vscale",
9194 "vultr",
0362f73f 9195 "websupport",
c5ccf1ab
TL
9196 "world4you",
9197 "yandex",
9198 "zilore",
9199 "zone",
9200 "zonomi"
9201 ],
9202 "optional" : 1,
9203 "type" : "string"
9204 },
9205 "data" : {
9206 "description" : "DNS plugin data. (base64 encoded)",
9207 "optional" : 1,
9208 "type" : "string",
9209 "typetext" : "<string>"
9210 },
9211 "delete" : {
9212 "description" : "A list of settings you want to delete.",
9213 "format" : "pve-configid-list",
9214 "maxLength" : 4096,
9215 "optional" : 1,
9216 "type" : "string",
9217 "typetext" : "<string>"
9218 },
9219 "digest" : {
9220 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9221 "maxLength" : 40,
9222 "optional" : 1,
9223 "type" : "string",
9224 "typetext" : "<string>"
9225 },
9226 "disable" : {
9227 "description" : "Flag to disable the config.",
9228 "optional" : 1,
9229 "type" : "boolean",
9230 "typetext" : "<boolean>"
9231 },
9232 "id" : {
9233 "description" : "ACME Plugin ID name",
9234 "format" : "pve-configid",
9235 "type" : "string",
9236 "typetext" : "<string>"
9237 },
9238 "nodes" : {
9239 "description" : "List of cluster node names.",
9240 "format" : "pve-node-list",
9241 "optional" : 1,
9242 "type" : "string",
9243 "typetext" : "<string>"
9244 },
9245 "validation-delay" : {
9246 "default" : 30,
9247 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9248 "maximum" : 172800,
9249 "minimum" : 0,
9250 "optional" : 1,
9251 "type" : "integer",
9252 "typetext" : "<integer> (0 - 172800)"
9253 }
9254 },
9255 "type" : "object"
9256 },
9257 "permissions" : {
9258 "check" : [
9259 "admin"
9260 ]
9261 },
9262 "protected" : 1,
9263 "returns" : {
9264 "type" : "null"
9265 }
9266 }
ab2b846b 9267 },
c5ccf1ab
TL
9268 "leaf" : 1,
9269 "path" : "/config/acme/plugins/{id}",
9270 "text" : "{id}"
9271 }
9272 ],
9273 "info" : {
9274 "GET" : {
9275 "allowtoken" : 1,
9276 "description" : "ACME plugin index.",
9277 "method" : "GET",
9278 "name" : "index",
9279 "parameters" : {
9280 "additionalProperties" : 0,
9281 "properties" : {
9282 "type" : {
9283 "description" : "Only list ACME plugins of a specific type",
9284 "enum" : [
9285 "dns",
9286 "standalone"
9287 ],
9288 "optional" : 1,
9289 "type" : "string"
9290 }
9291 }
ab2b846b 9292 },
c5ccf1ab
TL
9293 "permissions" : {
9294 "check" : [
9295 "admin"
9296 ]
ab2b846b 9297 },
c5ccf1ab
TL
9298 "protected" : 1,
9299 "returns" : {
9300 "items" : {
9301 "properties" : {
9302 "plugin" : {
9303 "description" : "Unique identifier for ACME plugin instance.",
9304 "format" : "pve-configid",
9305 "type" : "string"
9306 }
9307 },
9308 "type" : "object"
9309 },
9310 "links" : [
9311 {
9312 "href" : "{plugin}",
9313 "rel" : "child"
9314 }
9315 ],
9316 "type" : "array"
9317 }
9318 },
9319 "POST" : {
9320 "allowtoken" : 1,
9321 "description" : "Add ACME plugin configuration.",
9322 "method" : "POST",
9323 "name" : "add_plugin",
9324 "parameters" : {
9325 "additionalProperties" : 0,
9326 "properties" : {
9327 "api" : {
9328 "description" : "API plugin name",
9329 "enum" : [
9330 "1984hosting",
9331 "acmedns",
9332 "acmeproxy",
9333 "active24",
9334 "ad",
9335 "ali",
9336 "anx",
9337 "arvan",
0362f73f 9338 "aurora",
c5ccf1ab
TL
9339 "autodns",
9340 "aws",
e0e71e6a 9341 "azion",
c5ccf1ab
TL
9342 "azure",
9343 "cf",
9344 "clouddns",
9345 "cloudns",
9346 "cn",
9347 "conoha",
9348 "constellix",
9349 "cx",
9350 "cyon",
9351 "da",
9352 "ddnss",
9353 "desec",
9354 "df",
9355 "dgon",
9356 "dnsimple",
9357 "do",
9358 "doapi",
9359 "domeneshop",
9360 "dp",
9361 "dpi",
9362 "dreamhost",
9363 "duckdns",
9364 "durabledns",
9365 "dyn",
9366 "dynu",
9367 "dynv6",
9368 "easydns",
9369 "edgedns",
9370 "euserv",
9371 "exoscale",
9372 "freedns",
9373 "gandi_livedns",
9374 "gcloud",
9375 "gd",
9376 "gdnsdk",
9377 "he",
9378 "hetzner",
9379 "hexonet",
9380 "hostingde",
9381 "huaweicloud",
9382 "infoblox",
9383 "infomaniak",
9384 "internetbs",
9385 "inwx",
9386 "ionos",
9387 "ispconfig",
9388 "jd",
9389 "joker",
9390 "kappernet",
9391 "kas",
9392 "kinghost",
9393 "knot",
9394 "leaseweb",
9395 "lexicon",
9396 "linode",
9397 "linode_v4",
9398 "loopia",
9399 "lua",
9400 "maradns",
9401 "me",
9402 "miab",
9403 "misaka",
9404 "myapi",
9405 "mydevil",
9406 "mydnsjp",
9407 "namecheap",
9408 "namecom",
9409 "namesilo",
9410 "nederhost",
9411 "neodigit",
9412 "netcup",
9413 "netlify",
9414 "nic",
9415 "njalla",
9416 "nm",
9417 "nsd",
9418 "nsone",
9419 "nsupdate",
9420 "nw",
e0e71e6a 9421 "oci",
c5ccf1ab
TL
9422 "one",
9423 "online",
9424 "openprovider",
9425 "openstack",
9426 "opnsense",
9427 "ovh",
9428 "pdns",
9429 "pleskxml",
9430 "pointhq",
0362f73f 9431 "porkbun",
c5ccf1ab
TL
9432 "rackcorp",
9433 "rackspace",
9434 "rcode0",
9435 "regru",
9436 "scaleway",
9437 "schlundtech",
9438 "selectel",
9439 "servercow",
9440 "simply",
9441 "tele3",
9442 "transip",
9443 "ultra",
9444 "unoeuro",
9445 "variomedia",
e0e71e6a 9446 "veesp",
c5ccf1ab
TL
9447 "vscale",
9448 "vultr",
0362f73f 9449 "websupport",
c5ccf1ab
TL
9450 "world4you",
9451 "yandex",
9452 "zilore",
9453 "zone",
9454 "zonomi"
9455 ],
9456 "optional" : 1,
9457 "type" : "string"
9458 },
9459 "data" : {
9460 "description" : "DNS plugin data. (base64 encoded)",
9461 "optional" : 1,
9462 "type" : "string",
9463 "typetext" : "<string>"
9464 },
9465 "disable" : {
9466 "description" : "Flag to disable the config.",
9467 "optional" : 1,
9468 "type" : "boolean",
9469 "typetext" : "<boolean>"
9470 },
9471 "id" : {
9472 "description" : "ACME Plugin ID name",
9473 "format" : "pve-configid",
9474 "type" : "string",
9475 "typetext" : "<string>"
9476 },
9477 "nodes" : {
9478 "description" : "List of cluster node names.",
9479 "format" : "pve-node-list",
9480 "optional" : 1,
9481 "type" : "string",
9482 "typetext" : "<string>"
9483 },
9484 "type" : {
9485 "description" : "ACME challenge type.",
9486 "enum" : [
9487 "dns",
9488 "standalone"
9489 ],
9490 "type" : "string"
9491 },
9492 "validation-delay" : {
9493 "default" : 30,
9494 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9495 "maximum" : 172800,
9496 "minimum" : 0,
9497 "optional" : 1,
9498 "type" : "integer",
9499 "typetext" : "<integer> (0 - 172800)"
9500 }
9501 },
9502 "type" : "object"
d210277a 9503 },
c5ccf1ab
TL
9504 "permissions" : {
9505 "check" : [
9506 "admin"
9507 ]
d210277a 9508 },
c5ccf1ab
TL
9509 "protected" : 1,
9510 "returns" : {
9511 "type" : "null"
9512 }
9513 }
9514 },
9515 "leaf" : 0,
9516 "path" : "/config/acme/plugins",
9517 "text" : "plugins"
9518 },
9519 {
9520 "children" : [
9521 {
9522 "info" : {
9523 "DELETE" : {
9524 "allowtoken" : 1,
9525 "description" : "Deactivate existing ACME account at CA.",
9526 "method" : "DELETE",
9527 "name" : "deactivate_account",
9528 "parameters" : {
9529 "additionalProperties" : 0,
9530 "properties" : {
9531 "force" : {
9532 "default" : 0,
9533 "description" : "Delete account data even if the server refuses to deactivate the account.",
9534 "optional" : 1,
9535 "type" : "boolean",
9536 "typetext" : "<boolean>"
9537 },
9538 "name" : {
9539 "default" : "default",
9540 "description" : "ACME account config file name.",
9541 "format" : "pve-configid",
9542 "format_description" : "name",
9543 "optional" : 1,
9544 "type" : "string",
9545 "typetext" : "<name>"
9546 }
9547 }
9548 },
9549 "permissions" : {
9550 "check" : [
9551 "admin"
9552 ]
9553 },
9554 "protected" : 1,
9555 "proxyto" : "master",
9556 "returns" : {
9557 "type" : "string"
9558 }
9559 },
9560 "GET" : {
9561 "allowtoken" : 1,
9562 "description" : "Return existing ACME account information.",
9563 "method" : "GET",
9564 "name" : "get_account",
9565 "parameters" : {
9566 "additionalProperties" : 0,
9567 "properties" : {
9568 "name" : {
9569 "default" : "default",
9570 "description" : "ACME account config file name.",
9571 "format" : "pve-configid",
9572 "format_description" : "name",
9573 "optional" : 1,
9574 "type" : "string",
9575 "typetext" : "<name>"
9576 }
9577 }
9578 },
9579 "protected" : 1,
9580 "proxyto" : "master",
9581 "returns" : {
9582 "additionalProperties" : 0,
9583 "properties" : {
9584 "account" : {
9585 "optional" : 1,
9586 "renderer" : "yaml",
9587 "type" : "object"
9588 },
9589 "directory" : {
9590 "description" : "URL of ACME CA directory endpoint.",
9591 "optional" : 1,
9592 "pattern" : "^https?://.*",
9593 "type" : "string"
9594 },
9595 "location" : {
9596 "optional" : 1,
9597 "type" : "string"
9598 },
9599 "tos" : {
9600 "optional" : 1,
9601 "type" : "string"
9602 }
9603 },
9604 "type" : "object"
9605 }
9606 },
9607 "PUT" : {
9608 "allowtoken" : 1,
9609 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
9610 "method" : "PUT",
9611 "name" : "update_account",
9612 "parameters" : {
9613 "additionalProperties" : 0,
9614 "properties" : {
9615 "contact" : {
9616 "description" : "Contact email addresses.",
9617 "format" : "email-list",
9618 "optional" : 1,
9619 "type" : "string",
9620 "typetext" : "<string>"
9621 },
9622 "name" : {
9623 "default" : "default",
9624 "description" : "ACME account config file name.",
9625 "format" : "pve-configid",
9626 "format_description" : "name",
9627 "optional" : 1,
9628 "type" : "string",
9629 "typetext" : "<name>"
9630 }
9631 }
9632 },
9633 "permissions" : {
9634 "check" : [
9635 "admin"
9636 ]
9637 },
9638 "protected" : 1,
9639 "proxyto" : "master",
9640 "returns" : {
9641 "type" : "string"
9642 }
9643 }
d210277a 9644 },
c5ccf1ab
TL
9645 "leaf" : 1,
9646 "path" : "/config/acme/account/{name}",
9647 "text" : "{name}"
9648 }
9649 ],
9650 "info" : {
9651 "GET" : {
9652 "allowtoken" : 1,
9653 "description" : "ACME account index.",
9654 "method" : "GET",
9655 "name" : "account_index",
9656 "parameters" : {
9657 "additionalProperties" : 0
eff914dc 9658 },
c5ccf1ab
TL
9659 "permissions" : {
9660 "check" : [
9661 "admin",
9662 "audit"
9663 ]
a55e94a6 9664 },
c5ccf1ab
TL
9665 "protected" : 1,
9666 "returns" : {
9667 "items" : {
9668 "properties" : {},
9669 "type" : "object"
9670 },
9671 "links" : [
9672 {
9673 "href" : "{name}",
9674 "rel" : "child"
9675 }
9676 ],
9677 "type" : "array"
410dc2c9
DM
9678 }
9679 },
c5ccf1ab
TL
9680 "POST" : {
9681 "allowtoken" : 1,
9682 "description" : "Register a new ACME account with CA.",
9683 "method" : "POST",
9684 "name" : "register_account",
9685 "parameters" : {
9686 "additionalProperties" : 0,
9687 "properties" : {
9688 "contact" : {
9689 "description" : "Contact email addresses.",
9690 "format" : "email-list",
9691 "type" : "string",
9692 "typetext" : "<string>"
9693 },
9694 "directory" : {
9695 "default" : "https://acme-v02.api.letsencrypt.org/directory",
9696 "description" : "URL of ACME CA directory endpoint.",
9697 "optional" : 1,
9698 "pattern" : "^https?://.*",
9699 "type" : "string"
9700 },
9701 "name" : {
9702 "default" : "default",
9703 "description" : "ACME account config file name.",
9704 "format" : "pve-configid",
9705 "format_description" : "name",
9706 "optional" : 1,
9707 "type" : "string",
9708 "typetext" : "<name>"
9709 },
9710 "tos_url" : {
9711 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
9712 "optional" : 1,
9713 "type" : "string",
9714 "typetext" : "<string>"
9715 }
9716 }
9717 },
9718 "permissions" : {
9719 "check" : [
9720 "admin"
9721 ]
9722 },
9723 "protected" : 1,
9724 "proxyto" : "master",
9725 "returns" : {
9726 "type" : "string"
9727 }
9728 }
9729 },
9730 "leaf" : 0,
9731 "path" : "/config/acme/account",
9732 "text" : "account"
9733 },
9734 {
9735 "info" : {
9736 "GET" : {
9737 "allowtoken" : 1,
9738 "description" : "Retrieve ACME TermsOfService URL from CA.",
9739 "method" : "GET",
9740 "name" : "get_tos",
9741 "parameters" : {
9742 "additionalProperties" : 0,
9743 "properties" : {
9744 "directory" : {
9745 "default" : "https://acme-v02.api.letsencrypt.org/directory",
9746 "description" : "URL of ACME CA directory endpoint.",
9747 "optional" : 1,
9748 "pattern" : "^https?://.*",
9749 "type" : "string"
9750 }
9751 }
9752 },
9753 "permissions" : {
9754 "user" : "all"
9755 },
9756 "returns" : {
9757 "description" : "ACME TermsOfService URL.",
9758 "optional" : 1,
9759 "type" : "string"
9760 }
9761 }
9762 },
9763 "leaf" : 1,
9764 "path" : "/config/acme/tos",
9765 "text" : "tos"
9766 },
9767 {
9768 "info" : {
9769 "GET" : {
9770 "allowtoken" : 1,
9771 "description" : "Get named known ACME directory endpoints.",
9772 "method" : "GET",
9773 "name" : "get_directories",
9774 "parameters" : {
9775 "additionalProperties" : 0
9776 },
9777 "permissions" : {
9778 "user" : "all"
9779 },
9780 "returns" : {
9781 "items" : {
9782 "additionalProperties" : 0,
9783 "properties" : {
9784 "name" : {
9785 "type" : "string"
9786 },
9787 "url" : {
9788 "description" : "URL of ACME CA directory endpoint.",
9789 "pattern" : "^https?://.*",
9790 "type" : "string"
9791 }
9792 },
9793 "type" : "object"
9794 },
9795 "type" : "array"
9796 }
9797 }
9798 },
9799 "leaf" : 1,
9800 "path" : "/config/acme/directories",
9801 "text" : "directories"
9802 },
9803 {
9804 "info" : {
9805 "GET" : {
9806 "allowtoken" : 1,
9807 "description" : "Get schema of ACME challenge types.",
9808 "method" : "GET",
9809 "name" : "challenge-schema",
9810 "parameters" : {
9811 "additionalProperties" : 0
9812 },
9813 "permissions" : {
9814 "user" : "all"
9815 },
9816 "returns" : {
9817 "items" : {
9818 "additionalProperties" : 0,
9819 "properties" : {
9820 "id" : {
9821 "type" : "string"
9822 },
9823 "name" : {
9824 "description" : "Human readable name, falls back to id",
9825 "type" : "string"
9826 },
9827 "schema" : {
9828 "type" : "object"
9829 },
9830 "type" : {
9831 "type" : "string"
9832 }
9833 },
9834 "type" : "object"
9835 },
9836 "type" : "array"
9837 }
9838 }
9839 },
9840 "leaf" : 1,
9841 "path" : "/config/acme/challenge-schema",
9842 "text" : "challenge-schema"
9843 }
9844 ],
9845 "info" : {
9846 "GET" : {
9847 "allowtoken" : 1,
9848 "description" : "ACME index.",
9849 "method" : "GET",
9850 "name" : "index",
9851 "parameters" : {
9852 "additionalProperties" : 0
9853 },
9854 "permissions" : {
9855 "user" : "all"
9856 },
9857 "returns" : {
9858 "items" : {
9859 "properties" : {},
9860 "type" : "object"
9861 },
9862 "links" : [
9863 {
9864 "href" : "{name}",
9865 "rel" : "child"
9866 }
9867 ],
9868 "type" : "array"
9869 }
9870 }
9871 },
9872 "leaf" : 0,
9873 "path" : "/config/acme",
9874 "text" : "acme"
410dc2c9 9875 },
e0e71e6a
TL
9876 {
9877 "children" : [
9878 {
9879 "info" : {
9880 "GET" : {
9881 "allowtoken" : 1,
9882 "description" : "Read the webauthn configuration.",
9883 "method" : "GET",
9884 "name" : "get_webauthn_config",
9885 "parameters" : {
9886 "additionalProperties" : 0
9887 },
9888 "permissions" : {
9889 "user" : "all"
9890 },
9891 "protected" : 1,
9892 "returns" : {
9893 "optional" : 1,
9894 "properties" : {
0b9926d3
TL
9895 "allow-subdomains" : {
9896 "default" : 1,
9897 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
9898 "optional" : 1,
9899 "type" : "boolean"
9900 },
e0e71e6a
TL
9901 "id" : {
9902 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
9903 "optional" : 1,
9904 "type" : "string"
9905 },
9906 "origin" : {
9907 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
9908 "optional" : 1,
9909 "type" : "string"
9910 },
9911 "rp" : {
9912 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
9913 "optional" : 1,
9914 "type" : "string"
9915 }
9916 },
9917 "type" : "object"
9918 }
9919 },
9920 "PUT" : {
9921 "allowtoken" : 1,
9922 "description" : "Read the webauthn configuration.",
9923 "method" : "PUT",
9924 "name" : "update_webauthn_config",
9925 "parameters" : {
9926 "additionalProperties" : 0,
9927 "properties" : {
0b9926d3
TL
9928 "allow-subdomains" : {
9929 "default" : 1,
9930 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
9931 "optional" : 1,
9932 "type" : "boolean",
9933 "typetext" : "<boolean>"
9934 },
e0e71e6a
TL
9935 "delete" : {
9936 "description" : "A list of settings you want to delete.",
9937 "enum" : [
9938 "id",
0b9926d3
TL
9939 "origin",
9940 "allow-subdomains",
db80f170 9941 "rp"
e0e71e6a
TL
9942 ],
9943 "optional" : 1,
9944 "type" : "string"
9945 },
9946 "digest" : {
9947 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9948 "maxLength" : 40,
9949 "optional" : 1,
9950 "type" : "string",
9951 "typetext" : "<string>"
9952 },
9953 "id" : {
9954 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
9955 "optional" : 1,
9956 "type" : "string",
9957 "typetext" : "<string>"
9958 },
9959 "origin" : {
9960 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
9961 "optional" : 1,
9962 "type" : "string",
9963 "typetext" : "<string>"
9964 },
9965 "rp" : {
9966 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
9967 "optional" : 1,
9968 "type" : "string",
9969 "typetext" : "<string>"
9970 }
9971 }
9972 },
9973 "permissions" : {
9974 "check" : [
9975 "admin"
9976 ]
9977 },
9978 "protected" : 1,
9979 "proxyto" : "master",
9980 "returns" : {
9981 "type" : "null"
9982 }
9983 }
9984 },
9985 "leaf" : 1,
9986 "path" : "/config/tfa/webauthn",
9987 "text" : "webauthn"
9988 }
9989 ],
9990 "info" : {
9991 "GET" : {
9992 "allowtoken" : 1,
9993 "description" : "Directory index.",
9994 "method" : "GET",
9995 "name" : "index",
9996 "parameters" : {
9997 "additionalProperties" : 0
9998 },
9999 "returns" : {
10000 "items" : {
10001 "properties" : {
10002 "section" : {
10003 "type" : "string"
10004 }
10005 },
10006 "type" : "object"
10007 },
10008 "links" : [
10009 {
10010 "href" : "{section}",
10011 "rel" : "child"
10012 }
10013 ],
10014 "type" : "array"
10015 }
10016 }
10017 },
10018 "leaf" : 0,
10019 "path" : "/config/tfa",
10020 "text" : "tfa"
10021 },
410dc2c9
DM
10022 {
10023 "info" : {
10024 "GET" : {
6bd70b95 10025 "allowtoken" : 1,
c5ccf1ab 10026 "description" : "Read admin configuration properties.",
410dc2c9 10027 "method" : "GET",
c5ccf1ab 10028 "name" : "read_admin_section",
410dc2c9
DM
10029 "parameters" : {
10030 "additionalProperties" : 0
10031 },
732d76e1
DM
10032 "permissions" : {
10033 "check" : [
10034 "admin",
10035 "audit"
10036 ]
10037 },
410dc2c9
DM
10038 "proxyto" : "master",
10039 "returns" : {
10040 "type" : "object"
10041 }
10042 },
10043 "PUT" : {
6bd70b95 10044 "allowtoken" : 1,
c5ccf1ab 10045 "description" : "Update admin configuration properties.",
410dc2c9 10046 "method" : "PUT",
c5ccf1ab 10047 "name" : "update_admin_section",
410dc2c9
DM
10048 "parameters" : {
10049 "additionalProperties" : 0,
10050 "properties" : {
c5ccf1ab
TL
10051 "advfilter" : {
10052 "default" : 1,
10053 "description" : "Use advanced filters for statistic.",
10054 "optional" : 1,
10055 "type" : "boolean",
10056 "typetext" : "<boolean>"
10057 },
10058 "avast" : {
410dc2c9 10059 "default" : 0,
c5ccf1ab 10060 "description" : "Use Avast Virus Scanner (/usr/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
410dc2c9
DM
10061 "optional" : 1,
10062 "type" : "boolean",
10063 "typetext" : "<boolean>"
10064 },
c5ccf1ab
TL
10065 "clamav" : {
10066 "default" : 1,
10067 "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
410dc2c9 10068 "optional" : 1,
c5ccf1ab
TL
10069 "type" : "boolean",
10070 "typetext" : "<boolean>"
410dc2c9 10071 },
c5ccf1ab
TL
10072 "custom_check" : {
10073 "default" : 0,
10074 "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
410dc2c9 10075 "optional" : 1,
c5ccf1ab
TL
10076 "type" : "boolean",
10077 "typetext" : "<boolean>"
410dc2c9 10078 },
c5ccf1ab
TL
10079 "custom_check_path" : {
10080 "default" : "/usr/local/bin/pmg-custom-check",
10081 "description" : "Absolute Path to the Custom Check Script",
410dc2c9 10082 "optional" : 1,
c5ccf1ab
TL
10083 "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
10084 "type" : "string"
410dc2c9 10085 },
c5ccf1ab
TL
10086 "dailyreport" : {
10087 "default" : 1,
10088 "description" : "Send daily reports.",
410dc2c9 10089 "optional" : 1,
c5ccf1ab
TL
10090 "type" : "boolean",
10091 "typetext" : "<boolean>"
410dc2c9
DM
10092 },
10093 "delete" : {
10094 "description" : "A list of settings you want to delete.",
10095 "format" : "pve-configid-list",
10096 "maxLength" : 4096,
10097 "optional" : 1,
10098 "type" : "string",
10099 "typetext" : "<string>"
10100 },
c5ccf1ab
TL
10101 "demo" : {
10102 "default" : 0,
10103 "description" : "Demo mode - do not start SMTP filter.",
10104 "optional" : 1,
10105 "type" : "boolean",
10106 "typetext" : "<boolean>"
10107 },
410dc2c9
DM
10108 "digest" : {
10109 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10110 "maxLength" : 40,
10111 "optional" : 1,
10112 "type" : "string",
10113 "typetext" : "<string>"
10114 },
c5ccf1ab
TL
10115 "dkim_selector" : {
10116 "description" : "Default DKIM selector",
10117 "format" : "dns-name",
410dc2c9 10118 "optional" : 1,
c5ccf1ab
TL
10119 "type" : "string",
10120 "typetext" : "<string>"
f245a28c 10121 },
c5ccf1ab
TL
10122 "dkim_sign" : {
10123 "default" : 0,
10124 "description" : "DKIM sign outbound mails with the configured Selector.",
f245a28c
DM
10125 "optional" : 1,
10126 "type" : "boolean",
10127 "typetext" : "<boolean>"
549cfb68 10128 },
c5ccf1ab 10129 "dkim_sign_all_mail" : {
549cfb68 10130 "default" : 0,
c5ccf1ab 10131 "description" : "DKIM sign all outgoing mails irrespective of the Envelope From domain.",
549cfb68
TL
10132 "optional" : 1,
10133 "type" : "boolean",
10134 "typetext" : "<boolean>"
c5ccf1ab
TL
10135 },
10136 "email" : {
10137 "default" : "admin@domain.tld",
10138 "description" : "Administrator E-Mail address.",
10139 "format" : "email",
10140 "optional" : 1,
10141 "type" : "string",
10142 "typetext" : "<string>"
10143 },
10144 "http_proxy" : {
10145 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
10146 "optional" : 1,
10147 "pattern" : "http://.*",
10148 "type" : "string"
10149 },
10150 "statlifetime" : {
10151 "default" : 7,
10152 "description" : "User Statistics Lifetime (days)",
10153 "minimum" : 1,
10154 "optional" : 1,
10155 "type" : "integer",
10156 "typetext" : "<integer> (1 - N)"
10157 }
10158 },
10159 "type" : "object"
10160 },
10161 "permissions" : {
10162 "check" : [
10163 "admin"
10164 ]
10165 },
10166 "protected" : 1,
10167 "proxyto" : "master",
10168 "returns" : {
10169 "type" : "null"
10170 }
10171 }
10172 },
10173 "leaf" : 1,
10174 "path" : "/config/admin",
10175 "text" : "admin"
10176 },
10177 {
10178 "info" : {
10179 "GET" : {
10180 "allowtoken" : 1,
10181 "description" : "Read clamav configuration properties.",
10182 "method" : "GET",
10183 "name" : "read_clamav_section",
10184 "parameters" : {
10185 "additionalProperties" : 0
10186 },
10187 "permissions" : {
10188 "check" : [
10189 "admin",
10190 "audit"
10191 ]
10192 },
10193 "proxyto" : "master",
10194 "returns" : {
10195 "type" : "object"
10196 }
10197 },
10198 "PUT" : {
10199 "allowtoken" : 1,
10200 "description" : "Update clamav configuration properties.",
10201 "method" : "PUT",
10202 "name" : "update_clamav_section",
10203 "parameters" : {
10204 "additionalProperties" : 0,
10205 "properties" : {
10206 "archiveblockencrypted" : {
10207 "default" : 0,
10208 "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'.",
10209 "optional" : 1,
10210 "type" : "boolean",
10211 "typetext" : "<boolean>"
10212 },
10213 "archivemaxfiles" : {
10214 "default" : 1000,
10215 "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.",
10216 "minimum" : 0,
10217 "optional" : 1,
10218 "type" : "integer",
10219 "typetext" : "<integer> (0 - N)"
10220 },
10221 "archivemaxrec" : {
10222 "default" : 5,
10223 "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.",
10224 "minimum" : 1,
10225 "optional" : 1,
10226 "type" : "integer",
10227 "typetext" : "<integer> (1 - N)"
10228 },
10229 "archivemaxsize" : {
10230 "default" : 25000000,
10231 "description" : "Files larger than this limit (in bytes) won't be scanned.",
10232 "minimum" : 1000000,
10233 "optional" : 1,
10234 "type" : "integer",
10235 "typetext" : "<integer> (1000000 - N)"
10236 },
10237 "dbmirror" : {
10238 "default" : "database.clamav.net",
10239 "description" : "ClamAV database mirror server.",
10240 "optional" : 1,
10241 "type" : "string",
10242 "typetext" : "<string>"
10243 },
10244 "delete" : {
10245 "description" : "A list of settings you want to delete.",
10246 "format" : "pve-configid-list",
10247 "maxLength" : 4096,
10248 "optional" : 1,
10249 "type" : "string",
10250 "typetext" : "<string>"
10251 },
10252 "digest" : {
10253 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10254 "maxLength" : 40,
10255 "optional" : 1,
10256 "type" : "string",
10257 "typetext" : "<string>"
10258 },
10259 "maxcccount" : {
10260 "default" : 0,
10261 "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
10262 "minimum" : 0,
10263 "optional" : 1,
10264 "type" : "integer",
10265 "typetext" : "<integer> (0 - N)"
10266 },
10267 "maxscansize" : {
10268 "default" : 100000000,
10269 "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.",
10270 "minimum" : 1000000,
10271 "optional" : 1,
10272 "type" : "integer",
10273 "typetext" : "<integer> (1000000 - N)"
10274 },
10275 "safebrowsing" : {
0362f73f
SI
10276 "default" : 0,
10277 "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)",
c5ccf1ab
TL
10278 "optional" : 1,
10279 "type" : "boolean",
10280 "typetext" : "<boolean>"
10281 },
10282 "scriptedupdates" : {
b4ec4bc2 10283 "default" : 1,
c5ccf1ab
TL
10284 "description" : "Enables ScriptedUpdates (incremental download of signatures)",
10285 "optional" : 1,
10286 "type" : "boolean",
10287 "typetext" : "<boolean>"
10288 }
10289 },
10290 "type" : "object"
410dc2c9 10291 },
732d76e1
DM
10292 "permissions" : {
10293 "check" : [
10294 "admin"
10295 ]
10296 },
410dc2c9
DM
10297 "protected" : 1,
10298 "proxyto" : "master",
10299 "returns" : {
10300 "type" : "null"
10301 }
10302 }
10303 },
10304 "leaf" : 1,
10305 "path" : "/config/clamav",
10306 "text" : "clamav"
10307 },
10308 {
10309 "info" : {
10310 "GET" : {
6bd70b95 10311 "allowtoken" : 1,
410dc2c9
DM
10312 "description" : "Read mail configuration properties.",
10313 "method" : "GET",
10314 "name" : "read_mail_section",
10315 "parameters" : {
10316 "additionalProperties" : 0
10317 },
732d76e1
DM
10318 "permissions" : {
10319 "check" : [
10320 "admin",
10321 "audit"
10322 ]
10323 },
410dc2c9
DM
10324 "proxyto" : "master",
10325 "returns" : {
10326 "type" : "object"
10327 }
10328 },
10329 "PUT" : {
6bd70b95 10330 "allowtoken" : 1,
410dc2c9
DM
10331 "description" : "Update mail configuration properties.",
10332 "method" : "PUT",
10333 "name" : "update_mail_section",
10334 "parameters" : {
10335 "additionalProperties" : 0,
10336 "properties" : {
10337 "banner" : {
10338 "default" : "ESMTP Proxmox",
10339 "description" : "ESMTP banner.",
10340 "maxLength" : 1024,
10341 "optional" : 1,
10342 "type" : "string",
10343 "typetext" : "<string>"
10344 },
d210277a
TL
10345 "before_queue_filtering" : {
10346 "default" : 0,
10347 "description" : "Enable before queue filtering by pmg-smtp-filter",
10348 "optional" : 1,
10349 "type" : "boolean",
10350 "typetext" : "<boolean>"
10351 },
410dc2c9
DM
10352 "conn_count_limit" : {
10353 "default" : 50,
10354 "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
10355 "minimum" : 0,
10356 "optional" : 1,
10357 "type" : "integer",
10358 "typetext" : "<integer> (0 - N)"
10359 },
10360 "conn_rate_limit" : {
10361 "default" : 0,
10362 "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.",
10363 "minimum" : 0,
10364 "optional" : 1,
10365 "type" : "integer",
10366 "typetext" : "<integer> (0 - N)"
10367 },
10368 "delete" : {
10369 "description" : "A list of settings you want to delete.",
10370 "format" : "pve-configid-list",
10371 "maxLength" : 4096,
10372 "optional" : 1,
10373 "type" : "string",
10374 "typetext" : "<string>"
10375 },
10376 "digest" : {
10377 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10378 "maxLength" : 40,
10379 "optional" : 1,
10380 "type" : "string",
10381 "typetext" : "<string>"
10382 },
10383 "dnsbl_sites" : {
10384 "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
274b47fc 10385 "format" : "dnsbl-entry-list",
410dc2c9
DM
10386 "optional" : 1,
10387 "type" : "string",
10388 "typetext" : "<string>"
10389 },
445686c9
DM
10390 "dnsbl_threshold" : {
10391 "default" : 1,
10392 "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (see postscreen_dnsbl_threshold parameter).",
10393 "minimum" : 0,
10394 "optional" : 1,
10395 "type" : "integer",
10396 "typetext" : "<integer> (0 - N)"
10397 },
410dc2c9
DM
10398 "dwarning" : {
10399 "default" : 4,
10400 "description" : "SMTP delay warning time (in hours).",
10401 "minimum" : 0,
10402 "optional" : 1,
10403 "type" : "integer",
10404 "typetext" : "<integer> (0 - N)"
10405 },
eff914dc 10406 "ext_port" : {
4a46ced6 10407 "default" : 25,
eff914dc
DM
10408 "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
10409 "maximum" : 65535,
10410 "minimum" : 1,
10411 "optional" : 1,
10412 "type" : "integer",
10413 "typetext" : "<integer> (1 - 65535)"
10414 },
410dc2c9
DM
10415 "greylist" : {
10416 "default" : 1,
549cfb68
TL
10417 "description" : "Use Greylisting for IPv4.",
10418 "optional" : 1,
10419 "type" : "boolean",
10420 "typetext" : "<boolean>"
10421 },
10422 "greylist6" : {
10423 "default" : 0,
10424 "description" : "Use Greylisting for IPv6.",
410dc2c9
DM
10425 "optional" : 1,
10426 "type" : "boolean",
10427 "typetext" : "<boolean>"
10428 },
549cfb68
TL
10429 "greylistmask4" : {
10430 "default" : 24,
10431 "description" : "Netmask to apply for greylisting IPv4 hosts",
10432 "maximum" : 32,
10433 "minimum" : 0,
10434 "optional" : 1,
10435 "type" : "integer",
10436 "typetext" : "<integer> (0 - 32)"
10437 },
10438 "greylistmask6" : {
10439 "default" : 64,
10440 "description" : "Netmask to apply for greylisting IPv6 hosts",
10441 "maximum" : 128,
10442 "minimum" : 0,
10443 "optional" : 1,
10444 "type" : "integer",
10445 "typetext" : "<integer> (0 - 128)"
10446 },
410dc2c9
DM
10447 "helotests" : {
10448 "default" : 0,
10449 "description" : "Use SMTP HELO tests.",
10450 "optional" : 1,
10451 "type" : "boolean",
10452 "typetext" : "<boolean>"
10453 },
10454 "hide_received" : {
10455 "default" : 0,
10456 "description" : "Hide received header in outgoing mails.",
10457 "optional" : 1,
10458 "type" : "boolean",
10459 "typetext" : "<boolean>"
10460 },
eff914dc 10461 "int_port" : {
4a46ced6 10462 "default" : 26,
eff914dc
DM
10463 "description" : "SMTP port number for outgoing mail (trusted).",
10464 "maximum" : 65535,
10465 "minimum" : 1,
10466 "optional" : 1,
10467 "type" : "integer",
10468 "typetext" : "<integer> (1 - 65535)"
10469 },
410dc2c9 10470 "max_filters" : {
0362f73f 10471 "default" : 38,
410dc2c9
DM
10472 "description" : "Maximum number of pmg-smtp-filter processes.",
10473 "maximum" : 40,
10474 "minimum" : 3,
10475 "optional" : 1,
10476 "type" : "integer",
10477 "typetext" : "<integer> (3 - 40)"
10478 },
10479 "max_policy" : {
10480 "default" : 5,
10481 "description" : "Maximum number of pmgpolicy processes.",
10482 "maximum" : 10,
10483 "minimum" : 2,
10484 "optional" : 1,
10485 "type" : "integer",
10486 "typetext" : "<integer> (2 - 10)"
10487 },
10488 "max_smtpd_in" : {
241ac83c 10489 "default" : 100,
410dc2c9
DM
10490 "description" : "Maximum number of SMTP daemon processes (in).",
10491 "maximum" : 100,
10492 "minimum" : 3,
10493 "optional" : 1,
10494 "type" : "integer",
10495 "typetext" : "<integer> (3 - 100)"
10496 },
10497 "max_smtpd_out" : {
241ac83c 10498 "default" : 100,
410dc2c9
DM
10499 "description" : "Maximum number of SMTP daemon processes (out).",
10500 "maximum" : 100,
10501 "minimum" : 3,
10502 "optional" : 1,
10503 "type" : "integer",
10504 "typetext" : "<integer> (3 - 100)"
10505 },
10506 "maxsize" : {
10507 "default" : 10485760,
10508 "description" : "Maximum email size. Larger mails are rejected.",
10509 "minimum" : 1024,
10510 "optional" : 1,
10511 "type" : "integer",
10512 "typetext" : "<integer> (1024 - N)"
10513 },
10514 "message_rate_limit" : {
10515 "default" : 0,
10516 "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.",
10517 "minimum" : 0,
10518 "optional" : 1,
10519 "type" : "integer",
10520 "typetext" : "<integer> (0 - N)"
10521 },
d210277a
TL
10522 "ndr_on_block" : {
10523 "default" : 0,
10524 "description" : "Send out NDR when mail gets blocked",
10525 "optional" : 1,
10526 "type" : "boolean",
10527 "typetext" : "<boolean>"
10528 },
410dc2c9
DM
10529 "rejectunknown" : {
10530 "default" : 0,
10531 "description" : "Reject unknown clients.",
10532 "optional" : 1,
10533 "type" : "boolean",
10534 "typetext" : "<boolean>"
10535 },
10536 "rejectunknownsender" : {
10537 "default" : 0,
10538 "description" : "Reject unknown senders.",
10539 "optional" : 1,
10540 "type" : "boolean",
10541 "typetext" : "<boolean>"
10542 },
10543 "relay" : {
10544 "description" : "The default mail delivery transport (incoming mails).",
eff914dc 10545 "format" : "address",
410dc2c9
DM
10546 "optional" : 1,
10547 "type" : "string",
10548 "typetext" : "<string>"
10549 },
10550 "relaynomx" : {
10551 "default" : 0,
6bd70b95 10552 "description" : "Disable MX lookups for default relay (SMTP only, ignored for LMTP).",
410dc2c9
DM
10553 "optional" : 1,
10554 "type" : "boolean",
10555 "typetext" : "<boolean>"
10556 },
10557 "relayport" : {
10558 "default" : 25,
6bd70b95 10559 "description" : "SMTP/LMTP port number for relay host.",
410dc2c9
DM
10560 "maximum" : 65535,
10561 "minimum" : 1,
10562 "optional" : 1,
10563 "type" : "integer",
10564 "typetext" : "<integer> (1 - 65535)"
10565 },
6bd70b95
TL
10566 "relayprotocol" : {
10567 "default" : "smtp",
10568 "description" : "Transport protocol for relay host.",
10569 "enum" : [
10570 "smtp",
10571 "lmtp"
10572 ],
10573 "optional" : 1,
10574 "type" : "string"
10575 },
eff914dc
DM
10576 "smarthost" : {
10577 "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
10578 "format" : "address",
10579 "optional" : 1,
10580 "type" : "string",
10581 "typetext" : "<string>"
10582 },
445686c9
DM
10583 "smarthostport" : {
10584 "default" : 25,
10585 "description" : "SMTP port number for smarthost.",
10586 "maximum" : 65535,
10587 "minimum" : 1,
10588 "optional" : 1,
10589 "type" : "integer",
10590 "typetext" : "<integer> (1 - 65535)"
10591 },
410dc2c9
DM
10592 "spf" : {
10593 "default" : 1,
10594 "description" : "Use Sender Policy Framework.",
10595 "optional" : 1,
10596 "type" : "boolean",
10597 "typetext" : "<boolean>"
10598 },
10599 "tls" : {
10600 "default" : 0,
eff914dc
DM
10601 "description" : "Enable TLS.",
10602 "optional" : 1,
10603 "type" : "boolean",
10604 "typetext" : "<boolean>"
10605 },
10606 "tlsheader" : {
10607 "default" : 0,
10608 "description" : "Add TLS received header.",
10609 "optional" : 1,
10610 "type" : "boolean",
10611 "typetext" : "<boolean>"
10612 },
10613 "tlslog" : {
10614 "default" : 0,
10615 "description" : "Enable TLS Logging.",
410dc2c9
DM
10616 "optional" : 1,
10617 "type" : "boolean",
10618 "typetext" : "<boolean>"
10619 },
410dc2c9 10620 "verifyreceivers" : {
eff914dc
DM
10621 "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
10622 "enum" : [
10623 "450",
10624 "550"
10625 ],
410dc2c9 10626 "optional" : 1,
eff914dc 10627 "type" : "string"
410dc2c9
DM
10628 }
10629 },
10630 "type" : "object"
10631 },
732d76e1
DM
10632 "permissions" : {
10633 "check" : [
10634 "admin"
10635 ]
10636 },
410dc2c9
DM
10637 "protected" : 1,
10638 "proxyto" : "master",
10639 "returns" : {
10640 "type" : "null"
10641 }
10642 }
10643 },
10644 "leaf" : 1,
10645 "path" : "/config/mail",
10646 "text" : "mail"
10647 },
10648 {
10649 "info" : {
10650 "GET" : {
6bd70b95 10651 "allowtoken" : 1,
410dc2c9
DM
10652 "description" : "Read spam configuration properties.",
10653 "method" : "GET",
10654 "name" : "read_spam_section",
10655 "parameters" : {
10656 "additionalProperties" : 0
10657 },
732d76e1
DM
10658 "permissions" : {
10659 "check" : [
10660 "admin",
10661 "audit"
10662 ]
10663 },
410dc2c9
DM
10664 "proxyto" : "master",
10665 "returns" : {
10666 "type" : "object"
10667 }
10668 },
10669 "PUT" : {
6bd70b95 10670 "allowtoken" : 1,
410dc2c9
DM
10671 "description" : "Update spam configuration properties.",
10672 "method" : "PUT",
10673 "name" : "update_spam_section",
10674 "parameters" : {
10675 "additionalProperties" : 0,
10676 "properties" : {
10677 "bounce_score" : {
10678 "default" : 0,
10679 "description" : "Additional score for bounce mails.",
10680 "maximum" : 1000,
10681 "minimum" : 0,
10682 "optional" : 1,
10683 "type" : "integer",
10684 "typetext" : "<integer> (0 - 1000)"
10685 },
274b47fc
DM
10686 "clamav_heuristic_score" : {
10687 "default" : 3,
0362f73f 10688 "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).",
274b47fc
DM
10689 "maximum" : 1000,
10690 "minimum" : 0,
10691 "optional" : 1,
10692 "type" : "integer",
10693 "typetext" : "<integer> (0 - 1000)"
10694 },
410dc2c9
DM
10695 "delete" : {
10696 "description" : "A list of settings you want to delete.",
10697 "format" : "pve-configid-list",
10698 "maxLength" : 4096,
10699 "optional" : 1,
10700 "type" : "string",
10701 "typetext" : "<string>"
10702 },
10703 "digest" : {
10704 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10705 "maxLength" : 40,
10706 "optional" : 1,
10707 "type" : "string",
10708 "typetext" : "<string>"
10709 },
10710 "languages" : {
10711 "default" : "all",
10712 "description" : "This option is used to specify which languages are considered OK for incoming mail.",
10713 "optional" : 1,
10714 "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
10715 "type" : "string"
10716 },
10717 "maxspamsize" : {
274b47fc 10718 "default" : 262144,
410dc2c9
DM
10719 "description" : "Maximum size of spam messages in bytes.",
10720 "minimum" : 64,
10721 "optional" : 1,
10722 "type" : "integer",
10723 "typetext" : "<integer> (64 - N)"
10724 },
10725 "rbl_checks" : {
10726 "default" : 1,
10727 "description" : "Enable real time blacklists (RBL) checks.",
10728 "optional" : 1,
10729 "type" : "boolean",
10730 "typetext" : "<boolean>"
10731 },
10732 "use_awl" : {
10733 "default" : 1,
10734 "description" : "Use the Auto-Whitelist plugin.",
10735 "optional" : 1,
10736 "type" : "boolean",
10737 "typetext" : "<boolean>"
10738 },
10739 "use_bayes" : {
10740 "default" : 1,
10741 "description" : "Whether to use the naive-Bayesian-style classifier.",
10742 "optional" : 1,
10743 "type" : "boolean",
10744 "typetext" : "<boolean>"
10745 },
410dc2c9
DM
10746 "use_razor" : {
10747 "default" : 1,
10748 "description" : "Whether to use Razor2, if it is available.",
10749 "optional" : 1,
10750 "type" : "boolean",
10751 "typetext" : "<boolean>"
10752 },
10753 "wl_bounce_relays" : {
10754 "description" : "Whitelist legitimate bounce relays.",
10755 "optional" : 1,
10756 "type" : "string",
10757 "typetext" : "<string>"
10758 }
10759 },
10760 "type" : "object"
10761 },
732d76e1
DM
10762 "permissions" : {
10763 "check" : [
10764 "admin"
10765 ]
10766 },
410dc2c9
DM
10767 "protected" : 1,
10768 "proxyto" : "master",
10769 "returns" : {
10770 "type" : "null"
10771 }
10772 }
10773 },
10774 "leaf" : 1,
10775 "path" : "/config/spam",
10776 "text" : "spam"
f245a28c
DM
10777 },
10778 {
10779 "info" : {
10780 "GET" : {
6bd70b95 10781 "allowtoken" : 1,
f245a28c
DM
10782 "description" : "Read spamquar configuration properties.",
10783 "method" : "GET",
10784 "name" : "read_spamquar_section",
10785 "parameters" : {
10786 "additionalProperties" : 0
10787 },
732d76e1
DM
10788 "permissions" : {
10789 "check" : [
10790 "admin",
10791 "audit"
10792 ]
10793 },
f245a28c
DM
10794 "proxyto" : "master",
10795 "returns" : {
10796 "type" : "object"
10797 }
10798 },
10799 "PUT" : {
6bd70b95 10800 "allowtoken" : 1,
f245a28c
DM
10801 "description" : "Update spamquar configuration properties.",
10802 "method" : "PUT",
10803 "name" : "update_spamquar_section",
10804 "parameters" : {
10805 "additionalProperties" : 0,
10806 "properties" : {
10807 "allowhrefs" : {
10808 "default" : 1,
10809 "description" : "Allow to view hyperlinks.",
10810 "optional" : 1,
10811 "type" : "boolean",
10812 "typetext" : "<boolean>"
10813 },
10814 "authmode" : {
10815 "default" : "ticket",
10816 "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.",
10817 "enum" : [
10818 "ticket",
10819 "ldap",
10820 "ldapticket"
10821 ],
10822 "optional" : 1,
10823 "type" : "string"
10824 },
10825 "delete" : {
10826 "description" : "A list of settings you want to delete.",
10827 "format" : "pve-configid-list",
10828 "maxLength" : 4096,
10829 "optional" : 1,
10830 "type" : "string",
10831 "typetext" : "<string>"
10832 },
10833 "digest" : {
10834 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10835 "maxLength" : 40,
10836 "optional" : 1,
10837 "type" : "string",
10838 "typetext" : "<string>"
10839 },
10840 "hostname" : {
b81b1f95 10841 "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
f245a28c
DM
10842 "format" : "address",
10843 "optional" : 1,
10844 "type" : "string",
10845 "typetext" : "<string>"
10846 },
10847 "lifetime" : {
10848 "default" : 7,
10849 "description" : "Quarantine life time (days)",
10850 "minimum" : 1,
10851 "optional" : 1,
10852 "type" : "integer",
10853 "typetext" : "<integer> (1 - N)"
10854 },
10855 "mailfrom" : {
10856 "description" : "Text for 'From' header in daily spam report mails.",
10857 "optional" : 1,
10858 "type" : "string",
10859 "typetext" : "<string>"
10860 },
b81b1f95
DM
10861 "port" : {
10862 "default" : 8006,
10863 "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
10864 "maximum" : 65535,
10865 "minimum" : 1,
10866 "optional" : 1,
10867 "type" : "integer",
10868 "typetext" : "<integer> (1 - 65535)"
10869 },
10870 "protocol" : {
10871 "default" : "https",
10872 "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
10873 "enum" : [
10874 "http",
10875 "https"
10876 ],
10877 "optional" : 1,
10878 "type" : "string"
10879 },
ab2b846b
TL
10880 "quarantinelink" : {
10881 "default" : 0,
10882 "description" : "Enables user self-service for Quarantine Links. Caution: this is accessible without authentication",
10883 "optional" : 1,
10884 "type" : "boolean",
10885 "typetext" : "<boolean>"
10886 },
f245a28c
DM
10887 "reportstyle" : {
10888 "default" : "verbose",
10889 "description" : "Spam report style.",
10890 "enum" : [
10891 "none",
10892 "short",
10893 "verbose",
f245a28c
DM
10894 "custom"
10895 ],
10896 "optional" : 1,
10897 "type" : "string"
10898 },
a55e94a6
DM
10899 "viewimages" : {
10900 "default" : 1,
10901 "description" : "Allow to view images.",
10902 "optional" : 1,
10903 "type" : "boolean",
10904 "typetext" : "<boolean>"
10905 }
10906 },
10907 "type" : "object"
10908 },
732d76e1
DM
10909 "permissions" : {
10910 "check" : [
10911 "admin"
10912 ]
10913 },
a55e94a6
DM
10914 "protected" : 1,
10915 "proxyto" : "master",
10916 "returns" : {
10917 "type" : "null"
10918 }
10919 }
10920 },
10921 "leaf" : 1,
10922 "path" : "/config/spamquar",
10923 "text" : "spamquar"
10924 },
10925 {
10926 "info" : {
10927 "GET" : {
6bd70b95 10928 "allowtoken" : 1,
a55e94a6
DM
10929 "description" : "Read virusquar configuration properties.",
10930 "method" : "GET",
10931 "name" : "read_virusquar_section",
10932 "parameters" : {
10933 "additionalProperties" : 0
10934 },
732d76e1
DM
10935 "permissions" : {
10936 "check" : [
10937 "admin",
10938 "audit"
10939 ]
10940 },
a55e94a6
DM
10941 "proxyto" : "master",
10942 "returns" : {
10943 "type" : "object"
10944 }
10945 },
10946 "PUT" : {
6bd70b95 10947 "allowtoken" : 1,
a55e94a6
DM
10948 "description" : "Update virusquar configuration properties.",
10949 "method" : "PUT",
10950 "name" : "update_virusquar_section",
10951 "parameters" : {
10952 "additionalProperties" : 0,
10953 "properties" : {
10954 "allowhrefs" : {
10955 "default" : 1,
10956 "description" : "Allow to view hyperlinks.",
10957 "optional" : 1,
10958 "type" : "boolean",
10959 "typetext" : "<boolean>"
10960 },
10961 "delete" : {
10962 "description" : "A list of settings you want to delete.",
10963 "format" : "pve-configid-list",
10964 "maxLength" : 4096,
10965 "optional" : 1,
10966 "type" : "string",
10967 "typetext" : "<string>"
10968 },
10969 "digest" : {
10970 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10971 "maxLength" : 40,
10972 "optional" : 1,
10973 "type" : "string",
10974 "typetext" : "<string>"
10975 },
10976 "lifetime" : {
10977 "default" : 7,
10978 "description" : "Quarantine life time (days)",
10979 "minimum" : 1,
10980 "optional" : 1,
10981 "type" : "integer",
10982 "typetext" : "<integer> (1 - N)"
10983 },
10984 "viewimages" : {
10985 "default" : 1,
10986 "description" : "Allow to view images.",
10987 "optional" : 1,
10988 "type" : "boolean",
10989 "typetext" : "<boolean>"
10990 }
10991 },
10992 "type" : "object"
10993 },
732d76e1
DM
10994 "permissions" : {
10995 "check" : [
10996 "admin"
10997 ]
10998 },
a55e94a6
DM
10999 "protected" : 1,
11000 "proxyto" : "master",
11001 "returns" : {
11002 "type" : "null"
11003 }
11004 }
11005 },
11006 "leaf" : 1,
11007 "path" : "/config/virusquar",
11008 "text" : "virusquar"
9fda36b0
DM
11009 },
11010 {
11011 "info" : {
11012 "POST" : {
6bd70b95 11013 "allowtoken" : 1,
ab2b846b 11014 "description" : "Test Regex ignoring case",
9fda36b0
DM
11015 "method" : "POST",
11016 "name" : "regextest",
11017 "parameters" : {
11018 "additionalProperties" : 0,
11019 "properties" : {
11020 "regex" : {
11021 "description" : "The Regex to test",
11022 "maxLength" : 1024,
11023 "type" : "string",
11024 "typetext" : "<string>"
11025 },
11026 "text" : {
11027 "description" : "The String to test",
11028 "maxLength" : 1024,
11029 "type" : "string",
11030 "typetext" : "<string>"
11031 }
11032 }
11033 },
11034 "permissions" : {
11035 "check" : [
11036 "admin",
11037 "qmanager",
11038 "audit"
11039 ]
11040 },
11041 "protected" : 0,
11042 "returns" : {
11043 "type" : "number"
11044 }
11045 }
11046 },
11047 "leaf" : 1,
11048 "path" : "/config/regextest",
11049 "text" : "regextest"
a55e94a6
DM
11050 }
11051 ],
11052 "info" : {
11053 "GET" : {
6bd70b95 11054 "allowtoken" : 1,
a55e94a6
DM
11055 "description" : "Directory index.",
11056 "method" : "GET",
11057 "name" : "index",
11058 "parameters" : {
11059 "additionalProperties" : 0
11060 },
11061 "returns" : {
11062 "items" : {
11063 "properties" : {
11064 "section" : {
11065 "type" : "string"
11066 }
11067 },
11068 "type" : "object"
11069 },
11070 "links" : [
11071 {
11072 "href" : "{section}",
11073 "rel" : "child"
11074 }
11075 ],
11076 "type" : "array"
11077 }
11078 }
11079 },
11080 "leaf" : 0,
11081 "path" : "/config",
11082 "text" : "config"
11083 },
11084 {
11085 "children" : [
11086 {
11087 "children" : [
11088 {
11089 "children" : [
11090 {
11091 "info" : {
11092 "GET" : {
6bd70b95 11093 "allowtoken" : 1,
a55e94a6
DM
11094 "description" : "Print Postfix queue domain and age distribution.",
11095 "method" : "GET",
11096 "name" : "qshape",
11097 "parameters" : {
11098 "additionalProperties" : 0,
11099 "properties" : {
11100 "node" : {
11101 "description" : "The cluster node name.",
11102 "format" : "pve-node",
11103 "type" : "string",
11104 "typetext" : "<string>"
11105 },
11106 "queue" : {
11107 "default" : "deferred",
11108 "description" : "Postfix queue name.",
11109 "enum" : [
11110 "deferred",
11111 "active",
11112 "incoming",
11113 "hold"
11114 ],
11115 "optional" : 1,
11116 "type" : "string"
11117 }
11118 }
11119 },
11120 "permissions" : {
11121 "check" : [
732d76e1
DM
11122 "admin",
11123 "audit"
a55e94a6
DM
11124 ]
11125 },
11126 "protected" : 1,
11127 "proxyto" : "node",
11128 "returns" : {
11129 "items" : {
11130 "properties" : {},
11131 "type" : "object"
11132 },
11133 "type" : "array"
11134 }
11135 }
11136 },
11137 "leaf" : 1,
11138 "path" : "/nodes/{node}/postfix/qshape",
11139 "text" : "qshape"
11140 },
11141 {
11142 "children" : [
11143 {
11144 "children" : [
11145 {
11146 "info" : {
11147 "DELETE" : {
6bd70b95 11148 "allowtoken" : 1,
a55e94a6
DM
11149 "description" : "Delete one message with the named queue ID.",
11150 "method" : "DELETE",
11151 "name" : "delete_queued_mail",
11152 "parameters" : {
11153 "additionalProperties" : 0,
11154 "properties" : {
11155 "node" : {
11156 "description" : "The cluster node name.",
11157 "format" : "pve-node",
11158 "type" : "string",
11159 "typetext" : "<string>"
11160 },
11161 "queue" : {
11162 "description" : "Postfix queue name.",
11163 "enum" : [
11164 "deferred",
11165 "active",
11166 "incoming",
11167 "hold"
11168 ],
11169 "type" : "string"
11170 },
11171 "queue_id" : {
11172 "description" : "The Message queue ID.",
11173 "maxLength" : 20,
11174 "minLength" : 8,
11175 "pattern" : "[a-zA-Z0-9]+",
11176 "type" : "string"
11177 }
11178 }
11179 },
11180 "permissions" : {
11181 "check" : [
11182 "admin"
11183 ]
11184 },
11185 "protected" : 1,
11186 "proxyto" : "node",
11187 "returns" : {
11188 "type" : "null"
11189 }
11190 },
11191 "GET" : {
6bd70b95 11192 "allowtoken" : 1,
a55e94a6
DM
11193 "description" : "Get the contents of a queued mail.",
11194 "method" : "GET",
11195 "name" : "read_queued_mail",
11196 "parameters" : {
11197 "additionalProperties" : 0,
11198 "properties" : {
11199 "body" : {
11200 "default" : 0,
11201 "description" : "Include body content.",
11202 "optional" : 1,
11203 "type" : "boolean",
11204 "typetext" : "<boolean>"
11205 },
db80f170
TL
11206 "decode-header" : {
11207 "default" : 0,
11208 "description" : "Decodes the header fields.",
11209 "optional" : 1,
11210 "type" : "boolean",
11211 "typetext" : "<boolean>"
11212 },
a55e94a6
DM
11213 "header" : {
11214 "default" : 1,
11215 "description" : "Show message header content.",
11216 "optional" : 1,
11217 "type" : "boolean",
11218 "typetext" : "<boolean>"
11219 },
11220 "node" : {
11221 "description" : "The cluster node name.",
11222 "format" : "pve-node",
11223 "type" : "string",
11224 "typetext" : "<string>"
11225 },
11226 "queue" : {
11227 "description" : "Postfix queue name.",
11228 "enum" : [
11229 "deferred",
11230 "active",
11231 "incoming",
11232 "hold"
11233 ],
11234 "type" : "string"
11235 },
11236 "queue_id" : {
11237 "description" : "The Message queue ID.",
11238 "maxLength" : 20,
11239 "minLength" : 8,
11240 "pattern" : "[a-zA-Z0-9]+",
11241 "type" : "string"
11242 }
11243 }
11244 },
11245 "permissions" : {
11246 "check" : [
11247 "admin"
11248 ]
11249 },
11250 "protected" : 1,
11251 "proxyto" : "node",
11252 "returns" : {
11253 "type" : "string"
11254 }
11255 },
11256 "POST" : {
6bd70b95 11257 "allowtoken" : 1,
a55e94a6
DM
11258 "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
11259 "method" : "POST",
11260 "name" : "flush_queued_mail",
11261 "parameters" : {
11262 "additionalProperties" : 0,
11263 "properties" : {
11264 "node" : {
11265 "description" : "The cluster node name.",
11266 "format" : "pve-node",
11267 "type" : "string",
11268 "typetext" : "<string>"
11269 },
11270 "queue" : {
11271 "description" : "Postfix queue name.",
11272 "enum" : [
11273 "deferred",
11274 "active",
11275 "incoming",
11276 "hold"
11277 ],
11278 "type" : "string"
11279 },
11280 "queue_id" : {
11281 "description" : "The Message queue ID.",
11282 "maxLength" : 20,
11283 "minLength" : 8,
11284 "pattern" : "[a-zA-Z0-9]+",
11285 "type" : "string"
11286 }
11287 }
11288 },
11289 "permissions" : {
11290 "check" : [
11291 "admin"
11292 ]
11293 },
11294 "protected" : 1,
11295 "proxyto" : "node",
11296 "returns" : {
11297 "type" : "null"
11298 }
11299 }
11300 },
11301 "leaf" : 1,
11302 "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
11303 "text" : "{queue_id}"
11304 }
11305 ],
11306 "info" : {
11307 "DELETE" : {
6bd70b95 11308 "allowtoken" : 1,
a55e94a6
DM
11309 "description" : "Delete all mails in the queue.",
11310 "method" : "DELETE",
11311 "name" : "delete_queue",
11312 "parameters" : {
11313 "additionalProperties" : 0,
11314 "properties" : {
11315 "node" : {
11316 "description" : "The cluster node name.",
11317 "format" : "pve-node",
11318 "type" : "string",
11319 "typetext" : "<string>"
11320 },
11321 "queue" : {
11322 "description" : "Postfix queue name.",
11323 "enum" : [
11324 "deferred",
11325 "active",
11326 "incoming",
11327 "hold"
11328 ],
11329 "type" : "string"
11330 }
11331 }
11332 },
11333 "permissions" : {
11334 "check" : [
11335 "admin"
11336 ]
11337 },
11338 "protected" : 1,
11339 "proxyto" : "node",
11340 "returns" : {
11341 "type" : "null"
11342 }
11343 },
11344 "GET" : {
6bd70b95 11345 "allowtoken" : 1,
a55e94a6
DM
11346 "description" : "List the mail queue for a specific domain.",
11347 "method" : "GET",
11348 "name" : "mailq",
11349 "parameters" : {
11350 "additionalProperties" : 0,
11351 "properties" : {
11352 "filter" : {
11353 "description" : "Filter string.",
11354 "maxLength" : 64,
11355 "optional" : 1,
11356 "type" : "string",
11357 "typetext" : "<string>"
11358 },
11359 "limit" : {
11360 "minimum" : 0,
11361 "optional" : 1,
11362 "type" : "integer",
11363 "typetext" : "<integer> (0 - N)"
11364 },
11365 "node" : {
11366 "description" : "The cluster node name.",
11367 "format" : "pve-node",
11368 "type" : "string",
11369 "typetext" : "<string>"
11370 },
11371 "queue" : {
11372 "description" : "Postfix queue name.",
11373 "enum" : [
11374 "deferred",
11375 "active",
11376 "incoming",
11377 "hold"
11378 ],
11379 "type" : "string"
11380 },
ab2b846b
TL
11381 "sortdir" : {
11382 "description" : "Sort direction.",
11383 "enum" : [
11384 "ASC",
11385 "DESC"
11386 ],
11387 "optional" : 1,
11388 "requires" : "sortfield",
11389 "type" : "string"
11390 },
11391 "sortfield" : {
11392 "description" : "Sort field.",
11393 "enum" : [
11394 "arrival_time",
11395 "message_size",
11396 "sender",
11397 "receiver",
11398 "reason"
11399 ],
11400 "optional" : 1,
11401 "type" : "string"
11402 },
a55e94a6
DM
11403 "start" : {
11404 "minimum" : 0,
11405 "optional" : 1,
11406 "type" : "integer",
11407 "typetext" : "<integer> (0 - N)"
11408 }
11409 }
11410 },
11411 "permissions" : {
11412 "check" : [
732d76e1
DM
11413 "admin",
11414 "audit"
a55e94a6
DM
11415 ]
11416 },
11417 "protected" : 1,
11418 "proxyto" : "node",
11419 "returns" : {
11420 "items" : {
11421 "properties" : {},
11422 "type" : "object"
11423 },
11424 "links" : [
11425 {
11426 "href" : "{queue_id}",
11427 "rel" : "child"
11428 }
11429 ],
11430 "type" : "array"
11431 }
11432 }
11433 },
11434 "leaf" : 0,
11435 "path" : "/nodes/{node}/postfix/queue/{queue}",
11436 "text" : "{queue}"
11437 }
11438 ],
11439 "info" : {
9fda36b0 11440 "DELETE" : {
6bd70b95 11441 "allowtoken" : 1,
9fda36b0
DM
11442 "description" : "Delete all mails in all posfix queues.",
11443 "method" : "DELETE",
11444 "name" : "delete_all_queues",
11445 "parameters" : {
11446 "additionalProperties" : 0,
11447 "properties" : {
11448 "node" : {
11449 "description" : "The cluster node name.",
11450 "format" : "pve-node",
11451 "type" : "string",
11452 "typetext" : "<string>"
11453 }
11454 }
11455 },
11456 "permissions" : {
11457 "check" : [
11458 "admin"
11459 ]
11460 },
11461 "protected" : 1,
11462 "proxyto" : "node",
11463 "returns" : {
11464 "type" : "null"
11465 }
11466 },
a55e94a6 11467 "GET" : {
6bd70b95 11468 "allowtoken" : 1,
a55e94a6
DM
11469 "description" : "Directory index.",
11470 "method" : "GET",
11471 "name" : "queue_index",
11472 "parameters" : {
11473 "additionalProperties" : 0,
11474 "properties" : {
11475 "node" : {
11476 "description" : "The cluster node name.",
11477 "format" : "pve-node",
11478 "type" : "string",
11479 "typetext" : "<string>"
11480 }
11481 }
11482 },
11483 "permissions" : {
11484 "user" : "all"
11485 },
11486 "returns" : {
11487 "items" : {
11488 "properties" : {},
11489 "type" : "object"
11490 },
11491 "links" : [
11492 {
11493 "href" : "{name}",
11494 "rel" : "child"
11495 }
11496 ],
11497 "type" : "array"
11498 }
11499 }
11500 },
11501 "leaf" : 0,
11502 "path" : "/nodes/{node}/postfix/queue",
11503 "text" : "queue"
f245a28c 11504 },
a55e94a6
DM
11505 {
11506 "info" : {
11507 "POST" : {
6bd70b95 11508 "allowtoken" : 1,
a55e94a6
DM
11509 "description" : "Flush the queue: attempt to deliver all queued mail.",
11510 "method" : "POST",
11511 "name" : "flush_queues",
11512 "parameters" : {
11513 "additionalProperties" : 0,
11514 "properties" : {
11515 "node" : {
11516 "description" : "The cluster node name.",
11517 "format" : "pve-node",
11518 "type" : "string",
11519 "typetext" : "<string>"
11520 }
11521 }
11522 },
11523 "permissions" : {
11524 "check" : [
11525 "admin"
11526 ]
11527 },
11528 "protected" : 1,
11529 "proxyto" : "node",
11530 "returns" : {
11531 "type" : "null"
11532 }
11533 }
f245a28c 11534 },
a55e94a6
DM
11535 "leaf" : 1,
11536 "path" : "/nodes/{node}/postfix/flush_queues",
11537 "text" : "flush_queues"
11538 },
11539 {
11540 "info" : {
11541 "POST" : {
6bd70b95 11542 "allowtoken" : 1,
a55e94a6
DM
11543 "description" : "Discards the address verification cache.",
11544 "method" : "POST",
11545 "name" : "discard_verify_cache",
11546 "parameters" : {
11547 "additionalProperties" : 0,
11548 "properties" : {
11549 "node" : {
11550 "description" : "The cluster node name.",
11551 "format" : "pve-node",
11552 "type" : "string",
11553 "typetext" : "<string>"
11554 }
11555 }
11556 },
11557 "permissions" : {
11558 "check" : [
11559 "admin"
11560 ]
11561 },
11562 "protected" : 1,
11563 "proxyto" : "node",
11564 "returns" : {
11565 "type" : "null"
11566 }
11567 }
f245a28c 11568 },
a55e94a6
DM
11569 "leaf" : 1,
11570 "path" : "/nodes/{node}/postfix/discard_verify_cache",
11571 "text" : "discard_verify_cache"
11572 }
11573 ],
11574 "info" : {
11575 "GET" : {
6bd70b95 11576 "allowtoken" : 1,
a55e94a6
DM
11577 "description" : "Directory index.",
11578 "method" : "GET",
11579 "name" : "index",
11580 "parameters" : {
11581 "additionalProperties" : 0,
11582 "properties" : {
11583 "node" : {
11584 "description" : "The cluster node name.",
11585 "format" : "pve-node",
11586 "type" : "string",
11587 "typetext" : "<string>"
11588 }
11589 }
f245a28c 11590 },
a55e94a6
DM
11591 "permissions" : {
11592 "user" : "all"
f245a28c 11593 },
a55e94a6
DM
11594 "returns" : {
11595 "items" : {
11596 "properties" : {},
11597 "type" : "object"
11598 },
11599 "links" : [
11600 {
11601 "href" : "{name}",
11602 "rel" : "child"
11603 }
11604 ],
11605 "type" : "array"
f245a28c 11606 }
410dc2c9
DM
11607 }
11608 },
a55e94a6
DM
11609 "leaf" : 0,
11610 "path" : "/nodes/{node}/postfix",
11611 "text" : "postfix"
410dc2c9 11612 },
f245a28c
DM
11613 {
11614 "children" : [
11615 {
11616 "info" : {
11617 "GET" : {
6bd70b95 11618 "allowtoken" : 1,
f245a28c
DM
11619 "description" : "ClamAV virus database status.",
11620 "method" : "GET",
11621 "name" : "database_status",
11622 "parameters" : {
11623 "additionalProperties" : 0,
11624 "properties" : {
11625 "node" : {
11626 "description" : "The cluster node name.",
11627 "format" : "pve-node",
11628 "type" : "string",
11629 "typetext" : "<string>"
11630 }
11631 }
11632 },
bb6e6e0d
DM
11633 "permissions" : {
11634 "check" : [
11635 "admin",
11636 "audit"
11637 ]
11638 },
11639 "proxyto" : "node",
f245a28c
DM
11640 "returns" : {
11641 "items" : {
11642 "properties" : {
11643 "build_time" : {
11644 "type" : "string"
11645 },
11646 "nsigs" : {
11647 "type" : "integer"
11648 },
11649 "type" : {
11650 "type" : "string"
11651 },
11652 "version" : {
11653 "optional" : 1,
11654 "type" : "string"
11655 }
11656 },
11657 "type" : "object"
11658 },
11659 "type" : "array"
11660 }
11661 },
11662 "POST" : {
6bd70b95 11663 "allowtoken" : 1,
f245a28c
DM
11664 "description" : "Update ClamAV virus databases.",
11665 "method" : "POST",
11666 "name" : "update_database",
11667 "parameters" : {
11668 "additionalProperties" : 0,
11669 "properties" : {
11670 "node" : {
11671 "description" : "The cluster node name.",
11672 "format" : "pve-node",
11673 "type" : "string",
11674 "typetext" : "<string>"
11675 }
11676 }
11677 },
bb6e6e0d
DM
11678 "permissions" : {
11679 "check" : [
11680 "admin"
11681 ]
11682 },
f245a28c 11683 "protected" : 1,
bb6e6e0d 11684 "proxyto" : "node",
f245a28c
DM
11685 "returns" : {
11686 "type" : "string"
11687 }
11688 }
11689 },
11690 "leaf" : 1,
11691 "path" : "/nodes/{node}/clamav/database",
11692 "text" : "database"
11693 }
11694 ],
11695 "info" : {
11696 "GET" : {
6bd70b95 11697 "allowtoken" : 1,
f245a28c
DM
11698 "description" : "Directory index.",
11699 "method" : "GET",
11700 "name" : "index",
11701 "parameters" : {
11702 "additionalProperties" : 0,
11703 "properties" : {
11704 "node" : {
11705 "description" : "The cluster node name.",
11706 "format" : "pve-node",
11707 "type" : "string",
11708 "typetext" : "<string>"
11709 }
11710 }
11711 },
bb6e6e0d
DM
11712 "permissions" : {
11713 "check" : [
11714 "admin",
11715 "audit"
11716 ]
11717 },
f245a28c
DM
11718 "returns" : {
11719 "items" : {
11720 "properties" : {},
11721 "type" : "object"
11722 },
11723 "links" : [
11724 {
11725 "href" : "{subdir}",
11726 "rel" : "child"
11727 }
11728 ],
11729 "type" : "array"
11730 }
11731 }
11732 },
11733 "leaf" : 0,
11734 "path" : "/nodes/{node}/clamav",
11735 "text" : "clamav"
11736 },
bb6e6e0d
DM
11737 {
11738 "children" : [
11739 {
11740 "info" : {
11741 "GET" : {
6bd70b95 11742 "allowtoken" : 1,
bb6e6e0d
DM
11743 "description" : "SpamAssassin rules status.",
11744 "method" : "GET",
11745 "name" : "rules_status",
11746 "parameters" : {
11747 "additionalProperties" : 0,
11748 "properties" : {
11749 "node" : {
11750 "description" : "The cluster node name.",
11751 "format" : "pve-node",
11752 "type" : "string",
11753 "typetext" : "<string>"
11754 }
11755 }
11756 },
11757 "permissions" : {
11758 "check" : [
11759 "admin",
11760 "audit"
11761 ]
11762 },
11763 "proxyto" : "node",
11764 "returns" : {
11765 "items" : {
11766 "properties" : {
11767 "channel" : {
11768 "type" : "string"
11769 },
11770 "last_updated" : {
11771 "optional" : 1,
11772 "type" : "integer"
11773 },
11774 "update_avail" : {
11775 "type" : "boolean"
11776 },
11777 "update_version" : {
11778 "optional" : 1,
11779 "type" : "string"
11780 },
11781 "version" : {
11782 "optional" : 1,
11783 "type" : "string"
11784 }
11785 },
11786 "type" : "object"
11787 },
11788 "type" : "array"
11789 }
11790 },
11791 "POST" : {
6bd70b95 11792 "allowtoken" : 1,
bb6e6e0d
DM
11793 "description" : "Update SpamAssassin rules.",
11794 "method" : "POST",
11795 "name" : "update_rules",
11796 "parameters" : {
11797 "additionalProperties" : 0,
11798 "properties" : {
11799 "node" : {
11800 "description" : "The cluster node name.",
11801 "format" : "pve-node",
11802 "type" : "string",
11803 "typetext" : "<string>"
11804 }
11805 }
11806 },
11807 "permissions" : {
11808 "check" : [
11809 "admin"
11810 ]
11811 },
11812 "protected" : 1,
11813 "proxyto" : "node",
11814 "returns" : {
11815 "type" : "string"
11816 }
11817 }
11818 },
11819 "leaf" : 1,
11820 "path" : "/nodes/{node}/spamassassin/rules",
11821 "text" : "rules"
11822 }
11823 ],
11824 "info" : {
11825 "GET" : {
6bd70b95 11826 "allowtoken" : 1,
bb6e6e0d
DM
11827 "description" : "Directory index.",
11828 "method" : "GET",
11829 "name" : "index",
11830 "parameters" : {
11831 "additionalProperties" : 0,
11832 "properties" : {
11833 "node" : {
11834 "description" : "The cluster node name.",
11835 "format" : "pve-node",
11836 "type" : "string",
11837 "typetext" : "<string>"
11838 }
11839 }
11840 },
11841 "permissions" : {
11842 "check" : [
11843 "admin",
11844 "audit"
11845 ]
11846 },
11847 "returns" : {
11848 "items" : {
11849 "properties" : {},
11850 "type" : "object"
11851 },
11852 "links" : [
11853 {
11854 "href" : "{subdir}",
11855 "rel" : "child"
11856 }
11857 ],
11858 "type" : "array"
11859 }
11860 }
11861 },
11862 "leaf" : 0,
11863 "path" : "/nodes/{node}/spamassassin",
11864 "text" : "spamassassin"
11865 },
410dc2c9
DM
11866 {
11867 "children" : [
11868 {
11869 "info" : {
11870 "DELETE" : {
6bd70b95 11871 "allowtoken" : 1,
410dc2c9
DM
11872 "description" : "Delete network device configuration",
11873 "method" : "DELETE",
11874 "name" : "delete_network",
11875 "parameters" : {
11876 "additionalProperties" : 0,
11877 "properties" : {
11878 "iface" : {
11879 "description" : "Network interface name.",
11880 "format" : "pve-iface",
11881 "maxLength" : 20,
11882 "minLength" : 2,
11883 "type" : "string",
11884 "typetext" : "<string>"
11885 },
11886 "node" : {
11887 "description" : "The cluster node name.",
11888 "format" : "pve-node",
11889 "type" : "string",
11890 "typetext" : "<string>"
11891 }
11892 }
11893 },
11894 "protected" : 1,
11895 "proxyto" : "node",
11896 "returns" : {
11897 "type" : "null"
11898 }
11899 },
11900 "GET" : {
6bd70b95 11901 "allowtoken" : 1,
410dc2c9
DM
11902 "description" : "Read network device configuration",
11903 "method" : "GET",
11904 "name" : "network_config",
11905 "parameters" : {
11906 "additionalProperties" : 0,
11907 "properties" : {
11908 "iface" : {
11909 "description" : "Network interface name.",
11910 "format" : "pve-iface",
11911 "maxLength" : 20,
11912 "minLength" : 2,
11913 "type" : "string",
11914 "typetext" : "<string>"
11915 },
11916 "node" : {
11917 "description" : "The cluster node name.",
11918 "format" : "pve-node",
11919 "type" : "string",
11920 "typetext" : "<string>"
11921 }
11922 }
11923 },
732d76e1
DM
11924 "permissions" : {
11925 "check" : [
11926 "admin",
11927 "audit"
11928 ]
11929 },
410dc2c9
DM
11930 "proxyto" : "node",
11931 "returns" : {
11932 "properties" : {
11933 "method" : {
11934 "type" : "string"
11935 },
11936 "type" : {
11937 "type" : "string"
11938 }
11939 },
11940 "type" : "object"
11941 }
11942 },
11943 "PUT" : {
6bd70b95 11944 "allowtoken" : 1,
410dc2c9
DM
11945 "description" : "Update network device configuration",
11946 "method" : "PUT",
11947 "name" : "update_network",
11948 "parameters" : {
11949 "additionalProperties" : 0,
11950 "properties" : {
11951 "address" : {
11952 "description" : "IP address.",
11953 "format" : "ipv4",
11954 "optional" : 1,
11955 "requires" : "netmask",
11956 "type" : "string",
11957 "typetext" : "<string>"
11958 },
11959 "address6" : {
11960 "description" : "IP address.",
11961 "format" : "ipv6",
11962 "optional" : 1,
11963 "requires" : "netmask6",
11964 "type" : "string",
11965 "typetext" : "<string>"
11966 },
11967 "autostart" : {
11968 "description" : "Automatically start interface on boot.",
11969 "optional" : 1,
11970 "type" : "boolean",
11971 "typetext" : "<boolean>"
11972 },
6bd70b95
TL
11973 "bond-primary" : {
11974 "description" : "Specify the primary interface for active-backup bond.",
11975 "format" : "pve-iface",
11976 "optional" : 1,
11977 "type" : "string",
11978 "typetext" : "<string>"
11979 },
410dc2c9
DM
11980 "bond_mode" : {
11981 "description" : "Bonding mode.",
11982 "enum" : [
11983 "balance-rr",
11984 "active-backup",
11985 "balance-xor",
11986 "broadcast",
11987 "802.3ad",
11988 "balance-tlb",
11989 "balance-alb",
11990 "balance-slb",
11991 "lacp-balance-slb",
11992 "lacp-balance-tcp"
11993 ],
11994 "optional" : 1,
11995 "type" : "string"
11996 },
11997 "bond_xmit_hash_policy" : {
11998 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
11999 "enum" : [
12000 "layer2",
12001 "layer2+3",
12002 "layer3+4"
12003 ],
12004 "optional" : 1,
12005 "type" : "string"
12006 },
12007 "bridge_ports" : {
d8212759 12008 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12009 "format" : "pve-iface-list",
12010 "optional" : 1,
12011 "type" : "string",
12012 "typetext" : "<string>"
12013 },
12014 "bridge_vlan_aware" : {
12015 "description" : "Enable bridge vlan support.",
12016 "optional" : 1,
12017 "type" : "boolean",
12018 "typetext" : "<boolean>"
12019 },
241ac83c
TL
12020 "cidr" : {
12021 "description" : "IPv4 CIDR.",
12022 "format" : "CIDRv4",
12023 "optional" : 1,
12024 "type" : "string",
12025 "typetext" : "<string>"
12026 },
12027 "cidr6" : {
12028 "description" : "IPv6 CIDR.",
12029 "format" : "CIDRv6",
12030 "optional" : 1,
12031 "type" : "string",
12032 "typetext" : "<string>"
12033 },
410dc2c9
DM
12034 "comments" : {
12035 "description" : "Comments",
12036 "optional" : 1,
12037 "type" : "string",
12038 "typetext" : "<string>"
12039 },
12040 "comments6" : {
12041 "description" : "Comments",
12042 "optional" : 1,
12043 "type" : "string",
12044 "typetext" : "<string>"
12045 },
12046 "delete" : {
12047 "description" : "A list of settings you want to delete.",
12048 "format" : "pve-configid-list",
12049 "optional" : 1,
12050 "type" : "string",
12051 "typetext" : "<string>"
12052 },
12053 "gateway" : {
12054 "description" : "Default gateway address.",
12055 "format" : "ipv4",
12056 "optional" : 1,
12057 "type" : "string",
12058 "typetext" : "<string>"
12059 },
12060 "gateway6" : {
12061 "description" : "Default ipv6 gateway address.",
12062 "format" : "ipv6",
12063 "optional" : 1,
12064 "type" : "string",
12065 "typetext" : "<string>"
12066 },
12067 "iface" : {
12068 "description" : "Network interface name.",
12069 "format" : "pve-iface",
12070 "maxLength" : 20,
12071 "minLength" : 2,
12072 "type" : "string",
12073 "typetext" : "<string>"
12074 },
6bd70b95
TL
12075 "mtu" : {
12076 "description" : "MTU.",
12077 "maximum" : 65520,
12078 "minimum" : 1280,
12079 "optional" : 1,
12080 "type" : "integer",
12081 "typetext" : "<integer> (1280 - 65520)"
12082 },
410dc2c9
DM
12083 "netmask" : {
12084 "description" : "Network mask.",
12085 "format" : "ipv4mask",
12086 "optional" : 1,
12087 "requires" : "address",
12088 "type" : "string",
12089 "typetext" : "<string>"
12090 },
12091 "netmask6" : {
12092 "description" : "Network mask.",
12093 "maximum" : 128,
12094 "minimum" : 0,
12095 "optional" : 1,
12096 "requires" : "address6",
12097 "type" : "integer",
12098 "typetext" : "<integer> (0 - 128)"
12099 },
12100 "node" : {
12101 "description" : "The cluster node name.",
12102 "format" : "pve-node",
12103 "type" : "string",
12104 "typetext" : "<string>"
12105 },
12106 "ovs_bonds" : {
12107 "description" : "Specify the interfaces used by the bonding device.",
12108 "format" : "pve-iface-list",
12109 "optional" : 1,
12110 "type" : "string",
12111 "typetext" : "<string>"
12112 },
12113 "ovs_bridge" : {
12114 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12115 "format" : "pve-iface",
12116 "optional" : 1,
12117 "type" : "string",
12118 "typetext" : "<string>"
12119 },
12120 "ovs_options" : {
12121 "description" : "OVS interface options.",
12122 "maxLength" : 1024,
12123 "optional" : 1,
12124 "type" : "string",
12125 "typetext" : "<string>"
12126 },
12127 "ovs_ports" : {
d8212759 12128 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12129 "format" : "pve-iface-list",
12130 "optional" : 1,
12131 "type" : "string",
12132 "typetext" : "<string>"
12133 },
12134 "ovs_tag" : {
12135 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12136 "maximum" : 4094,
12137 "minimum" : 1,
12138 "optional" : 1,
12139 "type" : "integer",
12140 "typetext" : "<integer> (1 - 4094)"
12141 },
12142 "slaves" : {
12143 "description" : "Specify the interfaces used by the bonding device.",
12144 "format" : "pve-iface-list",
12145 "optional" : 1,
12146 "type" : "string",
12147 "typetext" : "<string>"
12148 },
12149 "type" : {
12150 "description" : "Network interface type",
12151 "enum" : [
12152 "bridge",
12153 "bond",
12154 "eth",
12155 "alias",
12156 "vlan",
12157 "OVSBridge",
12158 "OVSBond",
12159 "OVSPort",
12160 "OVSIntPort",
12161 "unknown"
12162 ],
12163 "type" : "string"
6bd70b95
TL
12164 },
12165 "vlan-id" : {
12166 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12167 "maximum" : 4094,
12168 "minimum" : 1,
12169 "optional" : 1,
12170 "type" : "integer",
12171 "typetext" : "<integer> (1 - 4094)"
12172 },
12173 "vlan-raw-device" : {
12174 "description" : "Specify the raw interface for the vlan interface.",
12175 "format" : "pve-iface",
12176 "optional" : 1,
12177 "type" : "string",
12178 "typetext" : "<string>"
410dc2c9
DM
12179 }
12180 }
12181 },
12182 "protected" : 1,
12183 "proxyto" : "node",
12184 "returns" : {
12185 "type" : "null"
12186 }
12187 }
12188 },
12189 "leaf" : 1,
12190 "path" : "/nodes/{node}/network/{iface}",
12191 "text" : "{iface}"
12192 }
12193 ],
12194 "info" : {
12195 "DELETE" : {
6bd70b95 12196 "allowtoken" : 1,
410dc2c9
DM
12197 "description" : "Revert network configuration changes.",
12198 "method" : "DELETE",
12199 "name" : "revert_network_changes",
12200 "parameters" : {
12201 "additionalProperties" : 0,
12202 "properties" : {
12203 "node" : {
12204 "description" : "The cluster node name.",
12205 "format" : "pve-node",
12206 "type" : "string",
12207 "typetext" : "<string>"
12208 }
12209 }
12210 },
12211 "protected" : 1,
12212 "proxyto" : "node",
12213 "returns" : {
12214 "type" : "null"
12215 }
12216 },
12217 "GET" : {
6bd70b95 12218 "allowtoken" : 1,
410dc2c9
DM
12219 "description" : "List available networks",
12220 "method" : "GET",
12221 "name" : "index",
12222 "parameters" : {
12223 "additionalProperties" : 0,
12224 "properties" : {
12225 "node" : {
12226 "description" : "The cluster node name.",
12227 "format" : "pve-node",
12228 "type" : "string",
12229 "typetext" : "<string>"
12230 },
12231 "type" : {
12232 "description" : "Only list specific interface types.",
12233 "enum" : [
12234 "bridge",
12235 "bond",
12236 "eth",
12237 "alias",
12238 "vlan",
12239 "OVSBridge",
12240 "OVSBond",
12241 "OVSPort",
12242 "OVSIntPort",
12243 "any_bridge"
12244 ],
12245 "optional" : 1,
12246 "type" : "string"
12247 }
12248 }
12249 },
732d76e1
DM
12250 "permissions" : {
12251 "check" : [
12252 "admin",
12253 "audit"
12254 ]
12255 },
410dc2c9
DM
12256 "proxyto" : "node",
12257 "returns" : {
12258 "items" : {
12259 "properties" : {},
12260 "type" : "object"
12261 },
12262 "links" : [
12263 {
12264 "href" : "{iface}",
12265 "rel" : "child"
12266 }
12267 ],
12268 "type" : "array"
12269 }
12270 },
12271 "POST" : {
6bd70b95 12272 "allowtoken" : 1,
410dc2c9
DM
12273 "description" : "Create network device configuration",
12274 "method" : "POST",
12275 "name" : "create_network",
12276 "parameters" : {
12277 "additionalProperties" : 0,
12278 "properties" : {
12279 "address" : {
12280 "description" : "IP address.",
12281 "format" : "ipv4",
12282 "optional" : 1,
12283 "requires" : "netmask",
12284 "type" : "string",
12285 "typetext" : "<string>"
12286 },
12287 "address6" : {
12288 "description" : "IP address.",
12289 "format" : "ipv6",
12290 "optional" : 1,
12291 "requires" : "netmask6",
12292 "type" : "string",
12293 "typetext" : "<string>"
12294 },
12295 "autostart" : {
12296 "description" : "Automatically start interface on boot.",
12297 "optional" : 1,
12298 "type" : "boolean",
12299 "typetext" : "<boolean>"
12300 },
6bd70b95
TL
12301 "bond-primary" : {
12302 "description" : "Specify the primary interface for active-backup bond.",
12303 "format" : "pve-iface",
12304 "optional" : 1,
12305 "type" : "string",
12306 "typetext" : "<string>"
12307 },
410dc2c9
DM
12308 "bond_mode" : {
12309 "description" : "Bonding mode.",
12310 "enum" : [
12311 "balance-rr",
12312 "active-backup",
12313 "balance-xor",
12314 "broadcast",
12315 "802.3ad",
12316 "balance-tlb",
12317 "balance-alb",
12318 "balance-slb",
12319 "lacp-balance-slb",
12320 "lacp-balance-tcp"
12321 ],
12322 "optional" : 1,
12323 "type" : "string"
12324 },
12325 "bond_xmit_hash_policy" : {
12326 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
12327 "enum" : [
12328 "layer2",
12329 "layer2+3",
12330 "layer3+4"
12331 ],
12332 "optional" : 1,
12333 "type" : "string"
12334 },
12335 "bridge_ports" : {
d8212759 12336 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12337 "format" : "pve-iface-list",
12338 "optional" : 1,
12339 "type" : "string",
12340 "typetext" : "<string>"
12341 },
12342 "bridge_vlan_aware" : {
12343 "description" : "Enable bridge vlan support.",
12344 "optional" : 1,
12345 "type" : "boolean",
12346 "typetext" : "<boolean>"
12347 },
241ac83c
TL
12348 "cidr" : {
12349 "description" : "IPv4 CIDR.",
12350 "format" : "CIDRv4",
12351 "optional" : 1,
12352 "type" : "string",
12353 "typetext" : "<string>"
12354 },
12355 "cidr6" : {
12356 "description" : "IPv6 CIDR.",
12357 "format" : "CIDRv6",
12358 "optional" : 1,
12359 "type" : "string",
12360 "typetext" : "<string>"
12361 },
410dc2c9
DM
12362 "comments" : {
12363 "description" : "Comments",
12364 "optional" : 1,
12365 "type" : "string",
12366 "typetext" : "<string>"
12367 },
12368 "comments6" : {
12369 "description" : "Comments",
12370 "optional" : 1,
12371 "type" : "string",
12372 "typetext" : "<string>"
12373 },
12374 "gateway" : {
12375 "description" : "Default gateway address.",
12376 "format" : "ipv4",
12377 "optional" : 1,
12378 "type" : "string",
12379 "typetext" : "<string>"
12380 },
12381 "gateway6" : {
12382 "description" : "Default ipv6 gateway address.",
12383 "format" : "ipv6",
12384 "optional" : 1,
12385 "type" : "string",
12386 "typetext" : "<string>"
12387 },
12388 "iface" : {
12389 "description" : "Network interface name.",
12390 "format" : "pve-iface",
12391 "maxLength" : 20,
12392 "minLength" : 2,
12393 "type" : "string",
12394 "typetext" : "<string>"
12395 },
6bd70b95
TL
12396 "mtu" : {
12397 "description" : "MTU.",
12398 "maximum" : 65520,
12399 "minimum" : 1280,
12400 "optional" : 1,
12401 "type" : "integer",
12402 "typetext" : "<integer> (1280 - 65520)"
12403 },
410dc2c9
DM
12404 "netmask" : {
12405 "description" : "Network mask.",
12406 "format" : "ipv4mask",
12407 "optional" : 1,
12408 "requires" : "address",
12409 "type" : "string",
12410 "typetext" : "<string>"
12411 },
12412 "netmask6" : {
12413 "description" : "Network mask.",
12414 "maximum" : 128,
12415 "minimum" : 0,
12416 "optional" : 1,
12417 "requires" : "address6",
12418 "type" : "integer",
12419 "typetext" : "<integer> (0 - 128)"
12420 },
12421 "node" : {
12422 "description" : "The cluster node name.",
12423 "format" : "pve-node",
12424 "type" : "string",
12425 "typetext" : "<string>"
12426 },
12427 "ovs_bonds" : {
12428 "description" : "Specify the interfaces used by the bonding device.",
12429 "format" : "pve-iface-list",
12430 "optional" : 1,
12431 "type" : "string",
12432 "typetext" : "<string>"
12433 },
12434 "ovs_bridge" : {
12435 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12436 "format" : "pve-iface",
12437 "optional" : 1,
12438 "type" : "string",
12439 "typetext" : "<string>"
12440 },
12441 "ovs_options" : {
12442 "description" : "OVS interface options.",
12443 "maxLength" : 1024,
12444 "optional" : 1,
12445 "type" : "string",
12446 "typetext" : "<string>"
12447 },
12448 "ovs_ports" : {
d8212759 12449 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12450 "format" : "pve-iface-list",
12451 "optional" : 1,
12452 "type" : "string",
12453 "typetext" : "<string>"
12454 },
12455 "ovs_tag" : {
12456 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12457 "maximum" : 4094,
12458 "minimum" : 1,
12459 "optional" : 1,
12460 "type" : "integer",
12461 "typetext" : "<integer> (1 - 4094)"
12462 },
12463 "slaves" : {
12464 "description" : "Specify the interfaces used by the bonding device.",
12465 "format" : "pve-iface-list",
12466 "optional" : 1,
12467 "type" : "string",
12468 "typetext" : "<string>"
12469 },
12470 "type" : {
12471 "description" : "Network interface type",
12472 "enum" : [
12473 "bridge",
12474 "bond",
12475 "eth",
12476 "alias",
12477 "vlan",
12478 "OVSBridge",
12479 "OVSBond",
12480 "OVSPort",
12481 "OVSIntPort",
12482 "unknown"
12483 ],
12484 "type" : "string"
6bd70b95
TL
12485 },
12486 "vlan-id" : {
12487 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12488 "maximum" : 4094,
12489 "minimum" : 1,
12490 "optional" : 1,
12491 "type" : "integer",
12492 "typetext" : "<integer> (1 - 4094)"
12493 },
12494 "vlan-raw-device" : {
12495 "description" : "Specify the raw interface for the vlan interface.",
12496 "format" : "pve-iface",
12497 "optional" : 1,
12498 "type" : "string",
12499 "typetext" : "<string>"
410dc2c9
DM
12500 }
12501 }
12502 },
12503 "protected" : 1,
12504 "proxyto" : "node",
12505 "returns" : {
12506 "type" : "null"
12507 }
e0e71e6a
TL
12508 },
12509 "PUT" : {
12510 "allowtoken" : 1,
12511 "description" : "Reload network configuration",
12512 "method" : "PUT",
12513 "name" : "reload_network_config",
12514 "parameters" : {
12515 "additionalProperties" : 0,
12516 "properties" : {
12517 "node" : {
12518 "description" : "The cluster node name.",
12519 "format" : "pve-node",
12520 "type" : "string",
12521 "typetext" : "<string>"
12522 }
12523 }
12524 },
12525 "protected" : 1,
12526 "proxyto" : "node",
12527 "returns" : {
12528 "type" : "string"
12529 }
410dc2c9
DM
12530 }
12531 },
12532 "leaf" : 0,
12533 "path" : "/nodes/{node}/network",
12534 "text" : "network"
12535 },
12536 {
12537 "children" : [
12538 {
12539 "children" : [
12540 {
12541 "info" : {
12542 "GET" : {
6bd70b95 12543 "allowtoken" : 1,
410dc2c9
DM
12544 "description" : "Read task log.",
12545 "method" : "GET",
12546 "name" : "read_task_log",
12547 "parameters" : {
12548 "additionalProperties" : 0,
12549 "properties" : {
f4831d94
TL
12550 "download" : {
12551 "description" : "Whether the tasklog file should be downloaded. This parameter can't be used in conjunction with other parameters",
12552 "optional" : 1,
12553 "type" : "boolean",
12554 "typetext" : "<boolean>"
12555 },
410dc2c9 12556 "limit" : {
f4831d94 12557 "description" : "The amount of lines to read from the tasklog.",
410dc2c9
DM
12558 "minimum" : 0,
12559 "optional" : 1,
12560 "type" : "integer",
12561 "typetext" : "<integer> (0 - N)"
12562 },
12563 "node" : {
12564 "description" : "The cluster node name.",
12565 "format" : "pve-node",
12566 "type" : "string",
12567 "typetext" : "<string>"
12568 },
12569 "start" : {
f4831d94 12570 "description" : "Start at this line when reading the tasklog",
410dc2c9
DM
12571 "minimum" : 0,
12572 "optional" : 1,
12573 "type" : "integer",
12574 "typetext" : "<integer> (0 - N)"
12575 },
12576 "upid" : {
12577 "type" : "string",
12578 "typetext" : "<string>"
12579 }
12580 }
12581 },
732d76e1
DM
12582 "permissions" : {
12583 "check" : [
12584 "admin",
12585 "audit"
12586 ]
12587 },
410dc2c9
DM
12588 "protected" : 1,
12589 "proxyto" : "node",
12590 "returns" : {
12591 "items" : {
12592 "properties" : {
12593 "n" : {
12594 "description" : "Line number",
12595 "type" : "integer"
12596 },
12597 "t" : {
12598 "description" : "Line text",
12599 "type" : "string"
12600 }
12601 },
12602 "type" : "object"
12603 },
12604 "type" : "array"
12605 }
12606 }
12607 },
12608 "leaf" : 1,
12609 "path" : "/nodes/{node}/tasks/{upid}/log",
12610 "text" : "log"
12611 },
12612 {
12613 "info" : {
12614 "GET" : {
6bd70b95 12615 "allowtoken" : 1,
410dc2c9
DM
12616 "description" : "Read task status.",
12617 "method" : "GET",
12618 "name" : "read_task_status",
12619 "parameters" : {
12620 "additionalProperties" : 0,
12621 "properties" : {
12622 "node" : {
12623 "description" : "The cluster node name.",
12624 "format" : "pve-node",
12625 "type" : "string",
12626 "typetext" : "<string>"
12627 },
12628 "upid" : {
12629 "type" : "string",
12630 "typetext" : "<string>"
12631 }
12632 }
12633 },
732d76e1
DM
12634 "permissions" : {
12635 "check" : [
12636 "admin",
12637 "audit"
12638 ]
12639 },
410dc2c9
DM
12640 "protected" : 1,
12641 "proxyto" : "node",
12642 "returns" : {
12643 "properties" : {
12644 "pid" : {
12645 "type" : "integer"
12646 },
12647 "status" : {
12648 "enum" : [
12649 "running",
12650 "stopped"
12651 ],
12652 "type" : "string"
12653 }
12654 },
12655 "type" : "object"
12656 }
12657 }
12658 },
12659 "leaf" : 1,
12660 "path" : "/nodes/{node}/tasks/{upid}/status",
12661 "text" : "status"
12662 }
12663 ],
12664 "info" : {
12665 "DELETE" : {
6bd70b95 12666 "allowtoken" : 1,
410dc2c9
DM
12667 "description" : "Stop a task.",
12668 "method" : "DELETE",
12669 "name" : "stop_task",
12670 "parameters" : {
12671 "additionalProperties" : 0,
12672 "properties" : {
12673 "node" : {
12674 "description" : "The cluster node name.",
12675 "format" : "pve-node",
12676 "type" : "string",
12677 "typetext" : "<string>"
12678 },
12679 "upid" : {
12680 "type" : "string",
12681 "typetext" : "<string>"
12682 }
12683 }
12684 },
732d76e1
DM
12685 "permissions" : {
12686 "check" : [
12687 "admin"
12688 ]
12689 },
410dc2c9
DM
12690 "protected" : 1,
12691 "proxyto" : "node",
12692 "returns" : {
12693 "type" : "null"
12694 }
12695 },
12696 "GET" : {
6bd70b95 12697 "allowtoken" : 1,
410dc2c9
DM
12698 "description" : "",
12699 "method" : "GET",
12700 "name" : "upid_index",
12701 "parameters" : {
12702 "additionalProperties" : 0,
12703 "properties" : {
12704 "node" : {
12705 "description" : "The cluster node name.",
12706 "format" : "pve-node",
12707 "type" : "string",
12708 "typetext" : "<string>"
12709 },
12710 "upid" : {
12711 "type" : "string",
12712 "typetext" : "<string>"
12713 }
12714 }
12715 },
732d76e1
DM
12716 "permissions" : {
12717 "check" : [
12718 "admin",
12719 "audit"
12720 ]
12721 },
410dc2c9
DM
12722 "returns" : {
12723 "items" : {
12724 "properties" : {},
12725 "type" : "object"
12726 },
12727 "links" : [
12728 {
12729 "href" : "{name}",
12730 "rel" : "child"
12731 }
12732 ],
12733 "type" : "array"
12734 }
12735 }
12736 },
12737 "leaf" : 0,
12738 "path" : "/nodes/{node}/tasks/{upid}",
12739 "text" : "{upid}"
12740 }
12741 ],
12742 "info" : {
12743 "GET" : {
6bd70b95 12744 "allowtoken" : 1,
410dc2c9
DM
12745 "description" : "Read task list for one node (finished tasks).",
12746 "method" : "GET",
12747 "name" : "node_tasks",
12748 "parameters" : {
12749 "additionalProperties" : 0,
12750 "properties" : {
12751 "errors" : {
12752 "optional" : 1,
12753 "type" : "boolean",
12754 "typetext" : "<boolean>"
12755 },
12756 "limit" : {
12757 "minimum" : 0,
12758 "optional" : 1,
12759 "type" : "integer",
12760 "typetext" : "<integer> (0 - N)"
12761 },
12762 "node" : {
12763 "description" : "The cluster node name.",
12764 "format" : "pve-node",
12765 "type" : "string",
12766 "typetext" : "<string>"
12767 },
14ffe66b
TL
12768 "since" : {
12769 "description" : "Only list tasks since this UNIX epoch.",
12770 "optional" : 1,
12771 "type" : "integer",
12772 "typetext" : "<integer>"
12773 },
410dc2c9
DM
12774 "start" : {
12775 "minimum" : 0,
12776 "optional" : 1,
12777 "type" : "integer",
12778 "typetext" : "<integer> (0 - N)"
12779 },
14ffe66b
TL
12780 "statusfilter" : {
12781 "description" : "List of Task States that should be returned.",
12782 "format" : "pve-task-status-type-list",
12783 "optional" : 1,
12784 "type" : "string",
12785 "typetext" : "<string>"
12786 },
12787 "typefilter" : {
12788 "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).",
12789 "optional" : 1,
12790 "type" : "string",
12791 "typetext" : "<string>"
12792 },
12793 "until" : {
12794 "description" : "Only list tasks until this UNIX epoch.",
12795 "optional" : 1,
12796 "type" : "integer",
12797 "typetext" : "<integer>"
12798 },
410dc2c9
DM
12799 "userfilter" : {
12800 "optional" : 1,
12801 "type" : "string",
12802 "typetext" : "<string>"
12803 }
12804 }
12805 },
732d76e1
DM
12806 "permissions" : {
12807 "check" : [
12808 "admin",
12809 "audit"
12810 ]
12811 },
410dc2c9
DM
12812 "proxyto" : "node",
12813 "returns" : {
12814 "items" : {
12815 "properties" : {
12816 "upid" : {
12817 "type" : "string"
12818 }
12819 },
12820 "type" : "object"
12821 },
12822 "links" : [
12823 {
12824 "href" : "{upid}",
12825 "rel" : "child"
12826 }
12827 ],
12828 "type" : "array"
12829 }
12830 }
12831 },
12832 "leaf" : 0,
12833 "path" : "/nodes/{node}/tasks",
12834 "text" : "tasks"
12835 },
12836 {
12837 "children" : [
12838 {
12839 "children" : [
12840 {
12841 "info" : {
12842 "GET" : {
6bd70b95 12843 "allowtoken" : 1,
410dc2c9
DM
12844 "description" : "Read service properties",
12845 "method" : "GET",
12846 "name" : "service_state",
12847 "parameters" : {
12848 "additionalProperties" : 0,
12849 "properties" : {
12850 "node" : {
12851 "description" : "The cluster node name.",
12852 "format" : "pve-node",
12853 "type" : "string",
12854 "typetext" : "<string>"
12855 },
12856 "service" : {
12857 "description" : "Service ID",
12858 "enum" : [
a55e94a6
DM
12859 "clamav-daemon",
12860 "clamav-freshclam",
732d76e1 12861 "fetchmail",
410dc2c9
DM
12862 "pmgproxy",
12863 "pmgdaemon",
a55e94a6 12864 "pmgpolicy",
410dc2c9 12865 "pmg-smtp-filter",
d7cd791b
DM
12866 "pmgtunnel",
12867 "pmgmirror",
12868 "ssh",
12869 "rsyslog",
410dc2c9 12870 "postfix",
d7cd791b 12871 "postgres",
a55e94a6
DM
12872 "systemd-timesyncd",
12873 "pmg-hourly",
d7cd791b 12874 "pmg-daily",
9fda36b0 12875 "pmgreport",
e0e71e6a
TL
12876 "pmgspamreport",
12877 "chrony"
410dc2c9
DM
12878 ],
12879 "type" : "string"
12880 }
12881 }
12882 },
732d76e1
DM
12883 "permissions" : {
12884 "check" : [
12885 "admin",
12886 "audit"
12887 ]
12888 },
410dc2c9
DM
12889 "protected" : 1,
12890 "proxyto" : "node",
12891 "returns" : {
410dc2c9
DM
12892 "type" : "object"
12893 }
12894 }
12895 },
12896 "leaf" : 1,
12897 "path" : "/nodes/{node}/services/{service}/state",
12898 "text" : "state"
12899 },
12900 {
12901 "info" : {
12902 "POST" : {
6bd70b95 12903 "allowtoken" : 1,
410dc2c9
DM
12904 "description" : "Start service.",
12905 "method" : "POST",
12906 "name" : "service_start",
12907 "parameters" : {
12908 "additionalProperties" : 0,
12909 "properties" : {
12910 "node" : {
12911 "description" : "The cluster node name.",
12912 "format" : "pve-node",
12913 "type" : "string",
12914 "typetext" : "<string>"
12915 },
12916 "service" : {
12917 "description" : "Service ID",
12918 "enum" : [
a55e94a6
DM
12919 "clamav-daemon",
12920 "clamav-freshclam",
732d76e1 12921 "fetchmail",
410dc2c9
DM
12922 "pmgproxy",
12923 "pmgdaemon",
a55e94a6 12924 "pmgpolicy",
410dc2c9 12925 "pmg-smtp-filter",
d7cd791b
DM
12926 "pmgtunnel",
12927 "pmgmirror",
12928 "ssh",
12929 "rsyslog",
410dc2c9 12930 "postfix",
d7cd791b 12931 "postgres",
a55e94a6
DM
12932 "systemd-timesyncd",
12933 "pmg-hourly",
d7cd791b 12934 "pmg-daily",
9fda36b0 12935 "pmgreport",
e0e71e6a
TL
12936 "pmgspamreport",
12937 "chrony"
410dc2c9
DM
12938 ],
12939 "type" : "string"
12940 }
12941 }
12942 },
732d76e1
DM
12943 "permissions" : {
12944 "check" : [
12945 "admin"
12946 ]
12947 },
410dc2c9
DM
12948 "protected" : 1,
12949 "proxyto" : "node",
12950 "returns" : {
12951 "type" : "string"
12952 }
12953 }
12954 },
12955 "leaf" : 1,
12956 "path" : "/nodes/{node}/services/{service}/start",
12957 "text" : "start"
12958 },
12959 {
12960 "info" : {
12961 "POST" : {
6bd70b95 12962 "allowtoken" : 1,
410dc2c9
DM
12963 "description" : "Stop service.",
12964 "method" : "POST",
12965 "name" : "service_stop",
12966 "parameters" : {
12967 "additionalProperties" : 0,
12968 "properties" : {
12969 "node" : {
12970 "description" : "The cluster node name.",
12971 "format" : "pve-node",
12972 "type" : "string",
12973 "typetext" : "<string>"
12974 },
12975 "service" : {
12976 "description" : "Service ID",
12977 "enum" : [
a55e94a6
DM
12978 "clamav-daemon",
12979 "clamav-freshclam",
732d76e1 12980 "fetchmail",
410dc2c9
DM
12981 "pmgproxy",
12982 "pmgdaemon",
a55e94a6 12983 "pmgpolicy",
410dc2c9 12984 "pmg-smtp-filter",
d7cd791b
DM
12985 "pmgtunnel",
12986 "pmgmirror",
12987 "ssh",
12988 "rsyslog",
410dc2c9 12989 "postfix",
d7cd791b 12990 "postgres",
a55e94a6
DM
12991 "systemd-timesyncd",
12992 "pmg-hourly",
d7cd791b 12993 "pmg-daily",
9fda36b0 12994 "pmgreport",
e0e71e6a
TL
12995 "pmgspamreport",
12996 "chrony"
410dc2c9
DM
12997 ],
12998 "type" : "string"
12999 }
13000 }
13001 },
732d76e1
DM
13002 "permissions" : {
13003 "check" : [
13004 "admin"
13005 ]
13006 },
410dc2c9
DM
13007 "protected" : 1,
13008 "proxyto" : "node",
13009 "returns" : {
13010 "type" : "string"
13011 }
13012 }
13013 },
13014 "leaf" : 1,
13015 "path" : "/nodes/{node}/services/{service}/stop",
13016 "text" : "stop"
13017 },
13018 {
13019 "info" : {
13020 "POST" : {
6bd70b95 13021 "allowtoken" : 1,
410dc2c9
DM
13022 "description" : "Restart service.",
13023 "method" : "POST",
13024 "name" : "service_restart",
13025 "parameters" : {
13026 "additionalProperties" : 0,
13027 "properties" : {
13028 "node" : {
13029 "description" : "The cluster node name.",
13030 "format" : "pve-node",
13031 "type" : "string",
13032 "typetext" : "<string>"
13033 },
13034 "service" : {
13035 "description" : "Service ID",
13036 "enum" : [
a55e94a6
DM
13037 "clamav-daemon",
13038 "clamav-freshclam",
732d76e1 13039 "fetchmail",
410dc2c9
DM
13040 "pmgproxy",
13041 "pmgdaemon",
a55e94a6 13042 "pmgpolicy",
410dc2c9 13043 "pmg-smtp-filter",
d7cd791b
DM
13044 "pmgtunnel",
13045 "pmgmirror",
13046 "ssh",
13047 "rsyslog",
410dc2c9 13048 "postfix",
d7cd791b 13049 "postgres",
a55e94a6
DM
13050 "systemd-timesyncd",
13051 "pmg-hourly",
d7cd791b 13052 "pmg-daily",
9fda36b0 13053 "pmgreport",
e0e71e6a
TL
13054 "pmgspamreport",
13055 "chrony"
410dc2c9
DM
13056 ],
13057 "type" : "string"
13058 }
13059 }
13060 },
732d76e1
DM
13061 "permissions" : {
13062 "check" : [
13063 "admin"
13064 ]
13065 },
410dc2c9
DM
13066 "protected" : 1,
13067 "proxyto" : "node",
13068 "returns" : {
13069 "type" : "string"
13070 }
13071 }
13072 },
13073 "leaf" : 1,
13074 "path" : "/nodes/{node}/services/{service}/restart",
13075 "text" : "restart"
13076 },
13077 {
13078 "info" : {
13079 "POST" : {
6bd70b95 13080 "allowtoken" : 1,
410dc2c9
DM
13081 "description" : "Reload service.",
13082 "method" : "POST",
13083 "name" : "service_reload",
13084 "parameters" : {
13085 "additionalProperties" : 0,
13086 "properties" : {
13087 "node" : {
13088 "description" : "The cluster node name.",
13089 "format" : "pve-node",
13090 "type" : "string",
13091 "typetext" : "<string>"
13092 },
13093 "service" : {
13094 "description" : "Service ID",
13095 "enum" : [
a55e94a6
DM
13096 "clamav-daemon",
13097 "clamav-freshclam",
732d76e1 13098 "fetchmail",
410dc2c9
DM
13099 "pmgproxy",
13100 "pmgdaemon",
a55e94a6 13101 "pmgpolicy",
410dc2c9 13102 "pmg-smtp-filter",
d7cd791b
DM
13103 "pmgtunnel",
13104 "pmgmirror",
13105 "ssh",
13106 "rsyslog",
410dc2c9 13107 "postfix",
d7cd791b 13108 "postgres",
a55e94a6
DM
13109 "systemd-timesyncd",
13110 "pmg-hourly",
d7cd791b 13111 "pmg-daily",
9fda36b0 13112 "pmgreport",
e0e71e6a
TL
13113 "pmgspamreport",
13114 "chrony"
410dc2c9
DM
13115 ],
13116 "type" : "string"
13117 }
13118 }
13119 },
732d76e1
DM
13120 "permissions" : {
13121 "check" : [
13122 "admin"
13123 ]
13124 },
410dc2c9
DM
13125 "protected" : 1,
13126 "proxyto" : "node",
13127 "returns" : {
13128 "type" : "string"
13129 }
13130 }
13131 },
13132 "leaf" : 1,
13133 "path" : "/nodes/{node}/services/{service}/reload",
13134 "text" : "reload"
13135 }
13136 ],
13137 "info" : {
13138 "GET" : {
6bd70b95 13139 "allowtoken" : 1,
410dc2c9
DM
13140 "description" : "Directory index",
13141 "method" : "GET",
13142 "name" : "srvcmdidx",
13143 "parameters" : {
13144 "additionalProperties" : 0,
13145 "properties" : {
13146 "node" : {
13147 "description" : "The cluster node name.",
13148 "format" : "pve-node",
13149 "type" : "string",
13150 "typetext" : "<string>"
13151 },
13152 "service" : {
13153 "description" : "Service ID",
13154 "enum" : [
a55e94a6
DM
13155 "clamav-daemon",
13156 "clamav-freshclam",
732d76e1 13157 "fetchmail",
410dc2c9
DM
13158 "pmgproxy",
13159 "pmgdaemon",
a55e94a6 13160 "pmgpolicy",
410dc2c9 13161 "pmg-smtp-filter",
d7cd791b
DM
13162 "pmgtunnel",
13163 "pmgmirror",
13164 "ssh",
13165 "rsyslog",
410dc2c9 13166 "postfix",
d7cd791b 13167 "postgres",
a55e94a6
DM
13168 "systemd-timesyncd",
13169 "pmg-hourly",
d7cd791b 13170 "pmg-daily",
9fda36b0 13171 "pmgreport",
e0e71e6a
TL
13172 "pmgspamreport",
13173 "chrony"
410dc2c9
DM
13174 ],
13175 "type" : "string"
13176 }
13177 }
13178 },
732d76e1
DM
13179 "permissions" : {
13180 "check" : [
13181 "admin",
13182 "audit"
13183 ]
13184 },
410dc2c9
DM
13185 "returns" : {
13186 "items" : {
13187 "properties" : {
13188 "subdir" : {
13189 "type" : "string"
13190 }
13191 },
13192 "type" : "object"
13193 },
13194 "links" : [
13195 {
13196 "href" : "{subdir}",
13197 "rel" : "child"
13198 }
13199 ],
13200 "type" : "array"
13201 }
13202 }
13203 },
9fda36b0
DM
13204 "leaf" : 0,
13205 "path" : "/nodes/{node}/services/{service}",
13206 "text" : "{service}"
13207 }
13208 ],
13209 "info" : {
13210 "GET" : {
6bd70b95 13211 "allowtoken" : 1,
9fda36b0
DM
13212 "description" : "Service list.",
13213 "method" : "GET",
13214 "name" : "index",
13215 "parameters" : {
13216 "additionalProperties" : 0,
13217 "properties" : {
13218 "node" : {
13219 "description" : "The cluster node name.",
13220 "format" : "pve-node",
13221 "type" : "string",
13222 "typetext" : "<string>"
13223 }
13224 }
13225 },
732d76e1
DM
13226 "permissions" : {
13227 "check" : [
13228 "admin",
13229 "audit"
13230 ]
13231 },
9fda36b0
DM
13232 "protected" : 1,
13233 "proxyto" : "node",
13234 "returns" : {
13235 "items" : {
13236 "properties" : {},
13237 "type" : "object"
13238 },
13239 "links" : [
13240 {
13241 "href" : "{service}",
13242 "rel" : "child"
13243 }
13244 ],
13245 "type" : "array"
13246 }
13247 }
13248 },
13249 "leaf" : 0,
13250 "path" : "/nodes/{node}/services",
13251 "text" : "services"
13252 },
13253 {
13254 "info" : {
ab2b846b
TL
13255 "DELETE" : {
13256 "allowtoken" : 1,
13257 "description" : "Delete subscription key.",
13258 "method" : "DELETE",
13259 "name" : "delete",
13260 "parameters" : {
13261 "additionalProperties" : 0,
13262 "properties" : {
13263 "node" : {
13264 "description" : "The cluster node name.",
13265 "format" : "pve-node",
13266 "type" : "string",
13267 "typetext" : "<string>"
13268 }
13269 }
13270 },
13271 "protected" : 1,
13272 "proxyto" : "node",
13273 "returns" : {
13274 "type" : "null"
13275 }
13276 },
9fda36b0 13277 "GET" : {
6bd70b95 13278 "allowtoken" : 1,
9fda36b0
DM
13279 "description" : "Read subscription info.",
13280 "method" : "GET",
13281 "name" : "get",
13282 "parameters" : {
13283 "additionalProperties" : 0,
13284 "properties" : {
13285 "node" : {
13286 "description" : "The cluster node name.",
13287 "format" : "pve-node",
13288 "type" : "string",
13289 "typetext" : "<string>"
13290 }
13291 }
13292 },
13293 "permissions" : {
13294 "check" : [
13295 "admin",
13296 "qmanager",
13297 "audit",
13298 "quser"
13299 ]
13300 },
13301 "proxyto" : "node",
13302 "returns" : {
13303 "type" : "object"
13304 }
732d76e1
DM
13305 },
13306 "POST" : {
6bd70b95 13307 "allowtoken" : 1,
732d76e1
DM
13308 "description" : "Update subscription info.",
13309 "method" : "POST",
13310 "name" : "update",
13311 "parameters" : {
13312 "additionalProperties" : 0,
13313 "properties" : {
13314 "force" : {
13315 "default" : 0,
13316 "description" : "Always connect to server, even if we have up to date info inside local cache.",
13317 "optional" : 1,
13318 "type" : "boolean",
13319 "typetext" : "<boolean>"
13320 },
13321 "node" : {
13322 "description" : "The cluster node name.",
13323 "format" : "pve-node",
13324 "type" : "string",
13325 "typetext" : "<string>"
13326 }
13327 }
13328 },
13329 "permissions" : {
13330 "check" : [
13331 "admin"
13332 ]
13333 },
13334 "protected" : 1,
13335 "proxyto" : "node",
13336 "returns" : {
13337 "type" : "null"
13338 }
13339 },
13340 "PUT" : {
6bd70b95 13341 "allowtoken" : 1,
732d76e1
DM
13342 "description" : "Set subscription key.",
13343 "method" : "PUT",
13344 "name" : "set",
13345 "parameters" : {
13346 "additionalProperties" : 0,
13347 "properties" : {
13348 "key" : {
13349 "description" : "Proxmox Mail Gateway subscription key",
13350 "maxLength" : 32,
13351 "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
13352 "type" : "string"
13353 },
13354 "node" : {
13355 "description" : "The cluster node name.",
13356 "format" : "pve-node",
13357 "type" : "string",
13358 "typetext" : "<string>"
13359 }
13360 }
13361 },
13362 "protected" : 1,
13363 "proxyto" : "node",
13364 "returns" : {
13365 "type" : "null"
13366 }
9fda36b0
DM
13367 }
13368 },
13369 "leaf" : 1,
13370 "path" : "/nodes/{node}/subscription",
13371 "text" : "subscription"
13372 },
13373 {
13374 "children" : [
13375 {
13376 "info" : {
13377 "GET" : {
6bd70b95 13378 "allowtoken" : 1,
9fda36b0
DM
13379 "description" : "List available updates.",
13380 "method" : "GET",
13381 "name" : "list_updates",
13382 "parameters" : {
13383 "additionalProperties" : 0,
13384 "properties" : {
13385 "node" : {
13386 "description" : "The cluster node name.",
13387 "format" : "pve-node",
13388 "type" : "string",
13389 "typetext" : "<string>"
13390 }
13391 }
13392 },
732d76e1
DM
13393 "permissions" : {
13394 "check" : [
13395 "admin",
13396 "audit"
13397 ]
13398 },
9fda36b0
DM
13399 "protected" : 1,
13400 "proxyto" : "node",
13401 "returns" : {
13402 "items" : {
13403 "properties" : {},
13404 "type" : "object"
13405 },
13406 "type" : "array"
13407 }
13408 },
13409 "POST" : {
6bd70b95 13410 "allowtoken" : 1,
9fda36b0
DM
13411 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
13412 "method" : "POST",
13413 "name" : "update_database",
13414 "parameters" : {
13415 "additionalProperties" : 0,
13416 "properties" : {
13417 "node" : {
13418 "description" : "The cluster node name.",
13419 "format" : "pve-node",
13420 "type" : "string",
13421 "typetext" : "<string>"
13422 },
13423 "notify" : {
13424 "default" : 0,
13425 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
13426 "optional" : 1,
13427 "type" : "boolean",
13428 "typetext" : "<boolean>"
13429 },
13430 "quiet" : {
13431 "default" : 0,
13432 "description" : "Only produces output suitable for logging, omitting progress indicators.",
13433 "optional" : 1,
13434 "type" : "boolean",
13435 "typetext" : "<boolean>"
13436 }
13437 }
13438 },
732d76e1
DM
13439 "permissions" : {
13440 "check" : [
13441 "admin"
13442 ]
13443 },
9fda36b0
DM
13444 "protected" : 1,
13445 "proxyto" : "node",
13446 "returns" : {
13447 "type" : "string"
13448 }
13449 }
13450 },
13451 "leaf" : 1,
13452 "path" : "/nodes/{node}/apt/update",
13453 "text" : "update"
13454 },
13455 {
13456 "info" : {
13457 "GET" : {
6bd70b95 13458 "allowtoken" : 1,
9fda36b0
DM
13459 "description" : "Get package changelogs.",
13460 "method" : "GET",
13461 "name" : "changelog",
13462 "parameters" : {
13463 "additionalProperties" : 0,
13464 "properties" : {
13465 "name" : {
13466 "description" : "Package name.",
13467 "type" : "string",
13468 "typetext" : "<string>"
13469 },
13470 "node" : {
13471 "description" : "The cluster node name.",
13472 "format" : "pve-node",
13473 "type" : "string",
13474 "typetext" : "<string>"
13475 },
13476 "version" : {
13477 "description" : "Package version.",
13478 "optional" : 1,
13479 "type" : "string",
13480 "typetext" : "<string>"
13481 }
13482 }
13483 },
732d76e1
DM
13484 "permissions" : {
13485 "check" : [
13486 "admin",
13487 "audit"
13488 ]
13489 },
9fda36b0
DM
13490 "proxyto" : "node",
13491 "returns" : {
13492 "type" : "string"
13493 }
13494 }
13495 },
13496 "leaf" : 1,
13497 "path" : "/nodes/{node}/apt/changelog",
13498 "text" : "changelog"
13499 },
13500 {
13501 "info" : {
13502 "GET" : {
6bd70b95 13503 "allowtoken" : 1,
e0e71e6a 13504 "description" : "Get APT repository information.",
9fda36b0 13505 "method" : "GET",
e0e71e6a 13506 "name" : "repositories",
9fda36b0
DM
13507 "parameters" : {
13508 "additionalProperties" : 0,
13509 "properties" : {
9fda36b0
DM
13510 "node" : {
13511 "description" : "The cluster node name.",
13512 "format" : "pve-node",
13513 "type" : "string",
13514 "typetext" : "<string>"
9fda36b0
DM
13515 }
13516 }
13517 },
732d76e1
DM
13518 "permissions" : {
13519 "check" : [
13520 "admin",
13521 "audit"
13522 ]
13523 },
9fda36b0
DM
13524 "proxyto" : "node",
13525 "returns" : {
e0e71e6a 13526 "description" : "Result from parsing the APT repository files in /etc/apt/.",
9fda36b0 13527 "properties" : {
e0e71e6a
TL
13528 "digest" : {
13529 "description" : "Common digest of all files.",
9fda36b0
DM
13530 "type" : "string"
13531 },
e0e71e6a
TL
13532 "errors" : {
13533 "description" : "List of problematic repository files.",
13534 "items" : {
13535 "properties" : {
13536 "error" : {
13537 "description" : "The error message",
13538 "type" : "string"
13539 },
13540 "path" : {
13541 "description" : "Path to the problematic file.",
13542 "type" : "string"
13543 }
13544 },
13545 "type" : "object"
13546 },
13547 "type" : "array"
9fda36b0 13548 },
e0e71e6a
TL
13549 "files" : {
13550 "description" : "List of parsed repository files.",
9fda36b0 13551 "items" : {
e0e71e6a
TL
13552 "properties" : {
13553 "digest" : {
13554 "description" : "Digest of the file as bytes.",
13555 "items" : {
13556 "type" : "integer"
13557 },
13558 "type" : "array"
13559 },
13560 "file-type" : {
13561 "description" : "Format of the file.",
13562 "enum" : [
13563 "list",
13564 "sources"
13565 ],
13566 "type" : "string"
13567 },
13568 "path" : {
13569 "description" : "Path to the problematic file.",
13570 "type" : "string"
13571 },
13572 "repositories" : {
13573 "description" : "The parsed repositories.",
13574 "items" : {
13575 "properties" : {
13576 "Comment" : {
13577 "description" : "Associated comment",
13578 "optional" : 1,
13579 "type" : "string"
13580 },
13581 "Components" : {
13582 "description" : "List of repository components",
13583 "items" : {
13584 "type" : "string"
13585 },
13586 "optional" : 1,
13587 "type" : "array"
13588 },
13589 "Enabled" : {
13590 "description" : "Whether the repository is enabled or not",
13591 "type" : "boolean"
13592 },
13593 "FileType" : {
13594 "description" : "Format of the defining file.",
13595 "enum" : [
13596 "list",
13597 "sources"
13598 ],
13599 "type" : "string"
13600 },
13601 "Options" : {
13602 "description" : "Additional options",
13603 "items" : {
13604 "properties" : {
13605 "Key" : {
13606 "type" : "string"
13607 },
13608 "Values" : {
13609 "items" : {
13610 "type" : "string"
13611 },
13612 "type" : "array"
13613 }
13614 },
13615 "type" : "object"
13616 },
13617 "optional" : 1,
13618 "type" : "array"
13619 },
13620 "Suites" : {
13621 "description" : "List of package distribuitions",
13622 "items" : {
13623 "type" : "string"
13624 },
13625 "type" : "array"
13626 },
13627 "Types" : {
13628 "description" : "List of package types.",
13629 "items" : {
13630 "enum" : [
13631 "deb",
13632 "deb-src"
13633 ],
13634 "type" : "string"
13635 },
13636 "type" : "array"
13637 },
13638 "URIs" : {
13639 "description" : "List of repository URIs.",
13640 "items" : {
13641 "type" : "string"
13642 },
13643 "type" : "array"
13644 }
13645 },
13646 "type" : "object"
13647 },
13648 "type" : "array"
13649 }
13650 },
13651 "type" : "object"
9fda36b0
DM
13652 },
13653 "type" : "array"
13654 },
e0e71e6a
TL
13655 "infos" : {
13656 "description" : "Additional information/warnings for APT repositories.",
13657 "items" : {
13658 "properties" : {
13659 "index" : {
13660 "description" : "Index of the associated repository within the file.",
13661 "type" : "string"
13662 },
13663 "kind" : {
13664 "description" : "Kind of the information (e.g. warning).",
13665 "type" : "string"
13666 },
13667 "message" : {
13668 "description" : "Information message.",
13669 "type" : "string"
13670 },
13671 "path" : {
13672 "description" : "Path to the associated file.",
13673 "type" : "string"
13674 },
13675 "property" : {
13676 "description" : "Property from which the info originates.",
13677 "optional" : 1,
13678 "type" : "string"
13679 }
13680 },
13681 "type" : "object"
13682 },
13683 "type" : "array"
9fda36b0 13684 },
e0e71e6a
TL
13685 "standard-repos" : {
13686 "description" : "List of standard repositories and their configuration status",
13687 "items" : {
13688 "properties" : {
13689 "description" : {
13690 "description" : "Description of the repository.",
13691 "type" : "string"
13692 },
13693 "handle" : {
13694 "description" : "Handle to identify the repository.",
13695 "type" : "string"
13696 },
13697 "name" : {
13698 "description" : "Display name of the repository.",
13699 "type" : "string"
13700 },
13701 "status" : {
13702 "description" : "Indicating enabled/disabled status, if the repository is configured.",
13703 "optional" : 1,
13704 "type" : "boolean"
13705 }
13706 },
13707 "type" : "object"
13708 },
13709 "type" : "array"
13710 }
13711 },
13712 "type" : "object"
13713 }
13714 },
13715 "POST" : {
13716 "allowtoken" : 1,
13717 "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
13718 "method" : "POST",
13719 "name" : "change_repository",
13720 "parameters" : {
13721 "additionalProperties" : 0,
13722 "properties" : {
13723 "digest" : {
13724 "description" : "Digest to detect modifications.",
13725 "maxLength" : 80,
9fda36b0 13726 "optional" : 1,
e0e71e6a
TL
13727 "type" : "string",
13728 "typetext" : "<string>"
9fda36b0 13729 },
e0e71e6a
TL
13730 "enabled" : {
13731 "description" : "Whether the repository should be enabled or not.",
9fda36b0 13732 "optional" : 1,
e0e71e6a
TL
13733 "type" : "boolean",
13734 "typetext" : "<boolean>"
9fda36b0 13735 },
e0e71e6a
TL
13736 "index" : {
13737 "description" : "Index within the file (starting from 0).",
13738 "type" : "integer",
13739 "typetext" : "<integer>"
9fda36b0 13740 },
e0e71e6a
TL
13741 "node" : {
13742 "description" : "The cluster node name.",
13743 "format" : "pve-node",
13744 "type" : "string",
13745 "typetext" : "<string>"
13746 },
13747 "path" : {
13748 "description" : "Path to the containing file.",
13749 "type" : "string",
13750 "typetext" : "<string>"
13751 }
13752 }
13753 },
13754 "permissions" : {
13755 "check" : [
13756 "admin"
13757 ]
13758 },
13759 "protected" : 1,
13760 "proxyto" : "node",
13761 "returns" : {
13762 "type" : "null"
13763 }
13764 },
13765 "PUT" : {
13766 "allowtoken" : 1,
13767 "description" : "Add a standard repository to the configuration",
13768 "method" : "PUT",
13769 "name" : "add_repository",
13770 "parameters" : {
13771 "additionalProperties" : 0,
13772 "properties" : {
13773 "digest" : {
13774 "description" : "Digest to detect modifications.",
13775 "maxLength" : 80,
9fda36b0 13776 "optional" : 1,
e0e71e6a
TL
13777 "type" : "string",
13778 "typetext" : "<string>"
9fda36b0 13779 },
e0e71e6a
TL
13780 "handle" : {
13781 "description" : "Handle that identifies a repository.",
13782 "type" : "string",
13783 "typetext" : "<string>"
9fda36b0 13784 },
e0e71e6a
TL
13785 "node" : {
13786 "description" : "The cluster node name.",
13787 "format" : "pve-node",
13788 "type" : "string",
13789 "typetext" : "<string>"
13790 }
13791 }
13792 },
13793 "permissions" : {
13794 "check" : [
13795 "admin"
13796 ]
13797 },
13798 "protected" : 1,
13799 "proxyto" : "node",
13800 "returns" : {
13801 "type" : "null"
13802 }
13803 }
13804 },
13805 "leaf" : 1,
13806 "path" : "/nodes/{node}/apt/repositories",
13807 "text" : "repositories"
13808 },
13809 {
13810 "info" : {
13811 "GET" : {
13812 "allowtoken" : 1,
13813 "description" : "Get package information for important Proxmox packages.",
13814 "method" : "GET",
13815 "name" : "versions",
13816 "parameters" : {
13817 "additionalProperties" : 0,
13818 "properties" : {
13819 "node" : {
13820 "description" : "The cluster node name.",
13821 "format" : "pve-node",
13822 "type" : "string",
13823 "typetext" : "<string>"
9fda36b0 13824 }
e0e71e6a
TL
13825 }
13826 },
13827 "permissions" : {
13828 "check" : [
13829 "admin",
13830 "audit"
13831 ]
13832 },
13833 "proxyto" : "node",
13834 "returns" : {
13835 "items" : {
13836 "properties" : {},
13837 "type" : "object"
9fda36b0 13838 },
e0e71e6a 13839 "type" : "array"
9fda36b0
DM
13840 }
13841 }
13842 },
13843 "leaf" : 1,
e0e71e6a
TL
13844 "path" : "/nodes/{node}/apt/versions",
13845 "text" : "versions"
9fda36b0
DM
13846 }
13847 ],
13848 "info" : {
13849 "GET" : {
6bd70b95 13850 "allowtoken" : 1,
e0e71e6a 13851 "description" : "Directory index for apt (Advanced Package Tool).",
9fda36b0 13852 "method" : "GET",
e0e71e6a 13853 "name" : "index",
9fda36b0
DM
13854 "parameters" : {
13855 "additionalProperties" : 0,
13856 "properties" : {
9fda36b0
DM
13857 "node" : {
13858 "description" : "The cluster node name.",
13859 "format" : "pve-node",
13860 "type" : "string",
13861 "typetext" : "<string>"
9fda36b0
DM
13862 }
13863 }
13864 },
732d76e1 13865 "permissions" : {
e0e71e6a
TL
13866 "user" : "all"
13867 },
13868 "returns" : {
13869 "items" : {
13870 "properties" : {
13871 "id" : {
13872 "type" : "string"
13873 }
13874 },
13875 "type" : "object"
13876 },
13877 "links" : [
13878 {
13879 "href" : "{id}",
13880 "rel" : "child"
13881 }
13882 ],
13883 "type" : "array"
13884 }
13885 }
13886 },
13887 "leaf" : 0,
13888 "path" : "/nodes/{node}/apt",
13889 "text" : "apt"
13890 },
13891 {
13892 "children" : [
13893 {
13894 "info" : {
13895 "GET" : {
13896 "allowtoken" : 1,
13897 "description" : "Get the detailed syslog entries for a specific mail ID.",
13898 "method" : "GET",
13899 "name" : "maillog",
13900 "parameters" : {
13901 "additionalProperties" : 0,
13902 "properties" : {
13903 "endtime" : {
13904 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13905 "minimum" : 1,
13906 "optional" : 1,
13907 "type" : "integer",
13908 "typetext" : "<integer> (1 - N)"
13909 },
13910 "id" : {
13911 "description" : "Mail ID (as returned by the list API).",
13912 "maxLength" : 64,
13913 "minLength" : 3,
13914 "type" : "string",
13915 "typetext" : "<string>"
13916 },
13917 "node" : {
13918 "description" : "The cluster node name.",
13919 "format" : "pve-node",
13920 "type" : "string",
13921 "typetext" : "<string>"
13922 },
13923 "starttime" : {
13924 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13925 "minimum" : 0,
13926 "optional" : 1,
13927 "type" : "integer",
13928 "typetext" : "<integer> (0 - N)"
13929 }
13930 }
13931 },
13932 "permissions" : {
13933 "check" : [
13934 "admin",
13935 "audit"
13936 ]
13937 },
13938 "protected" : 1,
13939 "proxyto" : "node",
13940 "returns" : {
13941 "properties" : {
13942 "client" : {
13943 "description" : "Client address",
13944 "optional" : 1,
13945 "type" : "string"
13946 },
13947 "dstatus" : {
13948 "description" : "Delivery status.",
13949 "maxLength" : 1,
13950 "minLength" : 1,
13951 "type" : "string"
13952 },
13953 "from" : {
13954 "description" : "Sender email address.",
13955 "type" : "string"
13956 },
13957 "id" : {
13958 "description" : "Unique ID.",
13959 "type" : "string"
13960 },
13961 "logs" : {
13962 "items" : {
13963 "type" : "string"
13964 },
13965 "type" : "array"
13966 },
13967 "msgid" : {
13968 "description" : "SMTP message ID.",
13969 "optional" : 1,
13970 "type" : "string"
13971 },
13972 "qid" : {
13973 "description" : "Postfix qmgr ID.",
13974 "optional" : 1,
13975 "type" : "string"
13976 },
13977 "relay" : {
13978 "description" : "ID of relayed mail.",
13979 "optional" : 1,
13980 "type" : "string"
13981 },
13982 "rstatus" : {
13983 "description" : "Delivery status of relayed mail.",
13984 "maxLength" : 1,
13985 "minLength" : 1,
13986 "optional" : 1,
13987 "type" : "string"
13988 },
13989 "size" : {
13990 "description" : "The size of the raw email.",
13991 "optional" : 1,
13992 "type" : "number"
13993 },
13994 "time" : {
13995 "description" : "Delivery timestamp.",
13996 "type" : "integer"
13997 },
13998 "to" : {
13999 "description" : "Receiver email address.",
14000 "type" : "string"
14001 }
14002 },
14003 "type" : "object"
14004 }
14005 }
14006 },
14007 "leaf" : 1,
14008 "path" : "/nodes/{node}/tracker/{id}",
14009 "text" : "{id}"
14010 }
14011 ],
14012 "info" : {
14013 "GET" : {
14014 "allowtoken" : 1,
14015 "description" : "Read mail list.",
14016 "method" : "GET",
14017 "name" : "list_mails",
14018 "parameters" : {
14019 "additionalProperties" : 0,
14020 "properties" : {
14021 "endtime" : {
14022 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14023 "minimum" : 1,
14024 "optional" : 1,
14025 "type" : "integer",
14026 "typetext" : "<integer> (1 - N)"
14027 },
14028 "from" : {
14029 "description" : "Sender email address filter.",
14030 "maxLength" : 256,
14031 "minLength" : 1,
14032 "optional" : 1,
14033 "type" : "string",
14034 "typetext" : "<string>"
14035 },
14036 "greylist" : {
14037 "default" : 0,
14038 "description" : "Include Greylisted entries.",
14039 "optional" : 1,
14040 "type" : "boolean",
14041 "typetext" : "<boolean>"
14042 },
14043 "ndr" : {
14044 "default" : 0,
14045 "description" : "Include NDRs (non delivery reports).",
14046 "optional" : 1,
14047 "type" : "boolean",
14048 "typetext" : "<boolean>"
14049 },
14050 "node" : {
14051 "description" : "The cluster node name.",
14052 "format" : "pve-node",
14053 "type" : "string",
14054 "typetext" : "<string>"
14055 },
14056 "starttime" : {
14057 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14058 "minimum" : 0,
14059 "optional" : 1,
14060 "type" : "integer",
14061 "typetext" : "<integer> (0 - N)"
14062 },
14063 "target" : {
14064 "description" : "Receiver email address filter.",
14065 "maxLength" : 256,
14066 "minLength" : 1,
14067 "optional" : 1,
14068 "type" : "string",
14069 "typetext" : "<string>"
14070 },
14071 "xfilter" : {
14072 "description" : "Only include mails containing this filter string.",
14073 "maxLength" : 256,
14074 "minLength" : 1,
14075 "optional" : 1,
14076 "type" : "string",
14077 "typetext" : "<string>"
14078 }
14079 }
14080 },
14081 "permissions" : {
14082 "check" : [
732d76e1
DM
14083 "admin",
14084 "audit"
14085 ]
14086 },
9fda36b0
DM
14087 "protected" : 1,
14088 "proxyto" : "node",
14089 "returns" : {
14090 "items" : {
14091 "properties" : {
14092 "client" : {
14093 "description" : "Client address",
14094 "optional" : 1,
14095 "type" : "string"
14096 },
14097 "dstatus" : {
14098 "description" : "Delivery status.",
14099 "maxLength" : 1,
14100 "minLength" : 1,
14101 "type" : "string"
14102 },
14103 "from" : {
14104 "description" : "Sender email address.",
14105 "type" : "string"
14106 },
14107 "id" : {
14108 "description" : "Unique ID.",
14109 "type" : "string"
14110 },
14111 "msgid" : {
14112 "description" : "SMTP message ID.",
14113 "optional" : 1,
14114 "type" : "string"
14115 },
14116 "qid" : {
14117 "description" : "Postfix qmgr ID.",
14118 "optional" : 1,
14119 "type" : "string"
14120 },
14121 "relay" : {
14122 "description" : "ID of relayed mail.",
14123 "optional" : 1,
14124 "type" : "string"
14125 },
14126 "rstatus" : {
14127 "description" : "Delivery status of relayed mail.",
14128 "maxLength" : 1,
14129 "minLength" : 1,
14130 "optional" : 1,
14131 "type" : "string"
14132 },
14133 "size" : {
14134 "description" : "The size of the raw email.",
14135 "optional" : 1,
14136 "type" : "number"
14137 },
14138 "time" : {
14139 "description" : "Delivery timestamp.",
14140 "type" : "integer"
14141 },
14142 "to" : {
14143 "description" : "Receiver email address.",
14144 "type" : "string"
14145 }
14146 },
14147 "type" : "object"
14148 },
14149 "links" : [
14150 {
14151 "href" : "{id}",
14152 "rel" : "child"
14153 }
14154 ],
14155 "type" : "array"
14156 }
14157 }
14158 },
14159 "leaf" : 0,
14160 "path" : "/nodes/{node}/tracker",
14161 "text" : "tracker"
14162 },
bb6e6e0d
DM
14163 {
14164 "children" : [
14165 {
14166 "info" : {
14167 "DELETE" : {
6bd70b95 14168 "allowtoken" : 1,
bb6e6e0d
DM
14169 "description" : "Delete a backup file.",
14170 "method" : "DELETE",
14171 "name" : "delete",
14172 "parameters" : {
14173 "additionalProperties" : 0,
14174 "properties" : {
14175 "filename" : {
14176 "description" : "The backup file name.",
14177 "maxLength" : 256,
14178 "minLength" : 4,
14179 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14180 "type" : "string"
14181 },
c5ccf1ab
TL
14182 "node" : {
14183 "description" : "The cluster node name.",
14184 "format" : "pve-node",
14185 "type" : "string",
14186 "typetext" : "<string>"
14187 }
14188 }
14189 },
14190 "permissions" : {
14191 "check" : [
14192 "admin"
14193 ]
14194 },
14195 "protected" : 1,
14196 "proxyto" : "node",
14197 "returns" : {
14198 "type" : "null"
14199 }
14200 },
14201 "GET" : {
14202 "allowtoken" : 1,
14203 "description" : "Download a backup file.",
14204 "download" : 1,
14205 "method" : "GET",
14206 "name" : "download",
14207 "parameters" : {
14208 "additionalProperties" : 0,
14209 "properties" : {
14210 "filename" : {
14211 "description" : "The backup file name.",
14212 "maxLength" : 256,
14213 "minLength" : 4,
14214 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14215 "type" : "string"
14216 },
14217 "node" : {
14218 "description" : "The cluster node name.",
14219 "format" : "pve-node",
14220 "type" : "string",
14221 "typetext" : "<string>"
14222 }
14223 }
14224 },
14225 "permissions" : {
14226 "check" : [
14227 "admin"
14228 ]
14229 },
14230 "protected" : 1,
14231 "proxyto" : "node",
14232 "returns" : {
14233 "type" : "string"
14234 }
14235 },
14236 "POST" : {
14237 "allowtoken" : 1,
14238 "description" : "Restore the system configuration.",
14239 "method" : "POST",
14240 "name" : "restore",
14241 "parameters" : {
14242 "additionalProperties" : 0,
14243 "properties" : {
14244 "config" : {
14245 "default" : 0,
14246 "description" : "Restore system configuration.",
14247 "optional" : 1,
14248 "type" : "boolean",
14249 "typetext" : "<boolean>"
14250 },
14251 "database" : {
14252 "default" : 1,
14253 "description" : "Restore the rule database. This is the default.",
14254 "optional" : 1,
14255 "type" : "boolean",
14256 "typetext" : "<boolean>"
14257 },
14258 "filename" : {
14259 "description" : "The backup file name.",
14260 "maxLength" : 256,
14261 "minLength" : 4,
14262 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14263 "type" : "string"
14264 },
14265 "node" : {
14266 "description" : "The cluster node name.",
14267 "format" : "pve-node",
14268 "type" : "string",
14269 "typetext" : "<string>"
14270 },
14271 "statistic" : {
14272 "default" : 0,
14273 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14274 "optional" : 1,
14275 "type" : "boolean",
14276 "typetext" : "<boolean>"
14277 }
14278 }
14279 },
14280 "permissions" : {
14281 "check" : [
14282 "admin"
14283 ]
14284 },
14285 "protected" : 1,
14286 "proxyto" : "node",
14287 "returns" : {
14288 "type" : "string"
14289 }
14290 }
14291 },
14292 "leaf" : 1,
14293 "path" : "/nodes/{node}/backup/{filename}",
14294 "text" : "{filename}"
14295 }
14296 ],
14297 "info" : {
14298 "GET" : {
14299 "allowtoken" : 1,
14300 "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
14301 "method" : "GET",
14302 "name" : "list",
14303 "parameters" : {
14304 "additionalProperties" : 0,
14305 "properties" : {
14306 "node" : {
14307 "description" : "The cluster node name.",
14308 "format" : "pve-node",
14309 "type" : "string",
14310 "typetext" : "<string>"
14311 }
14312 }
14313 },
14314 "permissions" : {
14315 "check" : [
14316 "admin",
14317 "audit"
14318 ]
14319 },
14320 "protected" : 1,
14321 "proxyto" : "node",
14322 "returns" : {
14323 "items" : {
14324 "properties" : {
14325 "filename" : {
14326 "description" : "The backup file name.",
14327 "maxLength" : 256,
14328 "minLength" : 4,
14329 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14330 "type" : "string"
14331 },
14332 "size" : {
14333 "description" : "Size of backup file in bytes.",
14334 "type" : "integer"
14335 },
14336 "timestamp" : {
14337 "description" : "Backup timestamp (Unix epoch).",
14338 "type" : "integer"
14339 }
14340 },
14341 "type" : "object"
14342 },
14343 "links" : [
14344 {
14345 "href" : "{filename}",
14346 "rel" : "child"
14347 }
14348 ],
14349 "type" : "array"
14350 }
14351 },
14352 "POST" : {
14353 "allowtoken" : 1,
14354 "description" : "Backup the system configuration.",
14355 "method" : "POST",
14356 "name" : "backup",
14357 "parameters" : {
14358 "additionalProperties" : 0,
14359 "properties" : {
14360 "node" : {
14361 "description" : "The cluster node name.",
14362 "format" : "pve-node",
14363 "type" : "string",
14364 "typetext" : "<string>"
14365 },
14366 "notify" : {
14367 "default" : "never",
14368 "description" : "Specify when to notify via e-mail",
14369 "enum" : [
14370 "always",
14371 "error",
14372 "never"
14373 ],
14374 "optional" : 1,
14375 "type" : "string"
14376 },
14377 "statistic" : {
14378 "default" : 1,
14379 "description" : "Backup statistic databases.",
14380 "optional" : 1,
14381 "type" : "boolean",
14382 "typetext" : "<boolean>"
14383 }
14384 }
14385 },
14386 "permissions" : {
14387 "check" : [
14388 "admin"
14389 ]
14390 },
14391 "protected" : 1,
14392 "proxyto" : "node",
14393 "returns" : {
14394 "type" : "string"
14395 }
14396 }
14397 },
14398 "leaf" : 0,
14399 "path" : "/nodes/{node}/backup",
14400 "text" : "backup"
14401 },
14402 {
14403 "children" : [
14404 {
14405 "children" : [
14406 {
14407 "children" : [
14408 {
14409 "children" : [
14410 {
14411 "info" : {
14412 "DELETE" : {
14413 "allowtoken" : 1,
14414 "description" : "Forget a snapshot",
14415 "method" : "DELETE",
14416 "name" : "forget_snapshot",
14417 "parameters" : {
14418 "additionalProperties" : 0,
14419 "properties" : {
14420 "backup-id" : {
14421 "description" : "ID (hostname) of backup snapshot",
14422 "type" : "string",
14423 "typetext" : "<string>"
14424 },
14425 "backup-time" : {
14426 "description" : "Backup time in RFC 3339 format",
14427 "type" : "string",
14428 "typetext" : "<string>"
14429 },
14430 "node" : {
14431 "description" : "The cluster node name.",
14432 "format" : "pve-node",
14433 "type" : "string",
14434 "typetext" : "<string>"
14435 },
14436 "remote" : {
14437 "description" : "Proxmox Backup Server ID.",
14438 "format" : "pve-configid",
14439 "type" : "string",
14440 "typetext" : "<string>"
14441 }
14442 }
14443 },
14444 "permissions" : {
14445 "check" : [
14446 "admin",
14447 "audit"
14448 ]
14449 },
14450 "protected" : 1,
14451 "proxyto" : "node",
14452 "returns" : {
14453 "type" : "null"
14454 }
14455 },
14456 "POST" : {
14457 "allowtoken" : 1,
14458 "description" : "Restore the system configuration.",
14459 "method" : "POST",
14460 "name" : "restore",
14461 "parameters" : {
14462 "additionalProperties" : 0,
14463 "properties" : {
14464 "backup-id" : {
14465 "description" : "backup-id (hostname) of backup snapshot",
14466 "type" : "string",
14467 "typetext" : "<string>"
14468 },
14469 "backup-time" : {
14470 "description" : "backup-time to restore",
14471 "type" : "string",
14472 "typetext" : "<string>"
14473 },
14474 "config" : {
14475 "default" : 0,
14476 "description" : "Restore system configuration.",
14477 "optional" : 1,
14478 "type" : "boolean",
14479 "typetext" : "<boolean>"
14480 },
14481 "database" : {
14482 "default" : 1,
14483 "description" : "Restore the rule database. This is the default.",
14484 "optional" : 1,
14485 "type" : "boolean",
14486 "typetext" : "<boolean>"
14487 },
14488 "node" : {
14489 "description" : "The cluster node name.",
14490 "format" : "pve-node",
14491 "type" : "string",
14492 "typetext" : "<string>"
14493 },
14494 "remote" : {
14495 "description" : "Proxmox Backup Server ID.",
14496 "format" : "pve-configid",
14497 "type" : "string",
14498 "typetext" : "<string>"
14499 },
14500 "statistic" : {
14501 "default" : 0,
14502 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14503 "optional" : 1,
14504 "type" : "boolean",
14505 "typetext" : "<boolean>"
14506 }
14507 }
14508 },
14509 "permissions" : {
14510 "check" : [
14511 "admin"
14512 ]
14513 },
14514 "protected" : 1,
14515 "proxyto" : "node",
14516 "returns" : {
14517 "type" : "string"
14518 }
14519 }
14520 },
14521 "leaf" : 1,
14522 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}/{backup-time}",
14523 "text" : "{backup-time}"
14524 }
14525 ],
14526 "info" : {
14527 "GET" : {
14528 "allowtoken" : 1,
14529 "description" : "Get snapshots from a specific ID stored on remote.",
14530 "method" : "GET",
14531 "name" : "get_group_snapshots",
14532 "parameters" : {
14533 "additionalProperties" : 0,
14534 "properties" : {
14535 "backup-id" : {
14536 "description" : "ID (hostname) of backup snapshot",
14537 "type" : "string",
14538 "typetext" : "<string>"
14539 },
14540 "node" : {
14541 "description" : "The cluster node name.",
14542 "format" : "pve-node",
14543 "type" : "string",
14544 "typetext" : "<string>"
14545 },
14546 "remote" : {
14547 "description" : "Proxmox Backup Server ID.",
14548 "format" : "pve-configid",
14549 "type" : "string",
14550 "typetext" : "<string>"
14551 }
14552 }
14553 },
14554 "permissions" : {
14555 "check" : [
14556 "admin",
14557 "audit"
14558 ]
14559 },
14560 "protected" : 1,
14561 "proxyto" : "node",
14562 "returns" : {
14563 "items" : {
14564 "properties" : {
14565 "backup-id" : {
14566 "type" : "string"
14567 },
14568 "backup-time" : {
14569 "type" : "string"
14570 },
14571 "ctime" : {
14572 "type" : "string"
14573 },
14574 "size" : {
14575 "type" : "integer"
14576 }
14577 },
14578 "type" : "object"
14579 },
14580 "links" : [
14581 {
14582 "href" : "{backup-time}",
14583 "rel" : "child"
14584 }
14585 ],
14586 "type" : "array"
14587 }
14588 }
14589 },
14590 "leaf" : 0,
14591 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}",
14592 "text" : "{backup-id}"
14593 }
14594 ],
14595 "info" : {
14596 "GET" : {
14597 "allowtoken" : 1,
14598 "description" : "Get snapshots stored on remote.",
14599 "method" : "GET",
14600 "name" : "get_snapshots",
14601 "parameters" : {
14602 "additionalProperties" : 0,
14603 "properties" : {
14604 "node" : {
14605 "description" : "The cluster node name.",
14606 "format" : "pve-node",
14607 "type" : "string",
14608 "typetext" : "<string>"
14609 },
14610 "remote" : {
14611 "description" : "Proxmox Backup Server ID.",
14612 "format" : "pve-configid",
14613 "type" : "string",
14614 "typetext" : "<string>"
14615 }
14616 }
14617 },
14618 "permissions" : {
14619 "check" : [
14620 "admin",
14621 "audit"
14622 ]
14623 },
14624 "protected" : 1,
14625 "proxyto" : "node",
14626 "returns" : {
14627 "items" : {
14628 "properties" : {
14629 "backup-id" : {
14630 "type" : "string"
14631 },
14632 "backup-time" : {
14633 "type" : "string"
14634 },
14635 "ctime" : {
14636 "type" : "string"
14637 },
14638 "size" : {
14639 "type" : "integer"
14640 }
14641 },
14642 "type" : "object"
14643 },
14644 "links" : [
14645 {
14646 "href" : "{backup-id}",
14647 "rel" : "child"
14648 }
14649 ],
14650 "type" : "array"
14651 }
14652 },
14653 "POST" : {
14654 "allowtoken" : 1,
14655 "description" : "Create a new backup and prune the backup group afterwards, if configured.",
14656 "method" : "POST",
14657 "name" : "run_backup",
14658 "parameters" : {
14659 "additionalProperties" : 0,
14660 "properties" : {
14661 "node" : {
14662 "description" : "The cluster node name.",
14663 "format" : "pve-node",
14664 "type" : "string",
14665 "typetext" : "<string>"
14666 },
14667 "notify" : {
14668 "default" : "never",
14669 "description" : "Specify when to notify via e-mail",
14670 "enum" : [
14671 "always",
14672 "error",
14673 "never"
14674 ],
14675 "optional" : 1,
14676 "type" : "string"
14677 },
14678 "remote" : {
14679 "description" : "Proxmox Backup Server ID.",
14680 "format" : "pve-configid",
14681 "type" : "string",
14682 "typetext" : "<string>"
14683 },
14684 "statistic" : {
14685 "default" : 1,
14686 "description" : "Backup statistic databases.",
14687 "optional" : 1,
14688 "type" : "boolean",
14689 "typetext" : "<boolean>"
14690 }
14691 }
14692 },
14693 "permissions" : {
14694 "check" : [
14695 "admin",
14696 "audit"
14697 ]
14698 },
14699 "protected" : 1,
14700 "proxyto" : "node",
14701 "returns" : {
14702 "type" : "string"
14703 }
14704 }
14705 },
14706 "leaf" : 0,
14707 "path" : "/nodes/{node}/pbs/{remote}/snapshot",
14708 "text" : "snapshot"
14709 },
14710 {
14711 "info" : {
14712 "DELETE" : {
14713 "allowtoken" : 1,
14714 "description" : "Delete backup schedule",
14715 "method" : "DELETE",
14716 "name" : "delete_timer",
14717 "parameters" : {
14718 "additionalProperties" : 0,
14719 "properties" : {
14720 "node" : {
14721 "description" : "The cluster node name.",
14722 "format" : "pve-node",
14723 "type" : "string",
14724 "typetext" : "<string>"
14725 },
14726 "remote" : {
14727 "description" : "Proxmox Backup Server ID.",
14728 "format" : "pve-configid",
14729 "type" : "string",
14730 "typetext" : "<string>"
14731 }
14732 }
14733 },
14734 "permissions" : {
14735 "check" : [
14736 "admin",
14737 "audit"
14738 ]
14739 },
14740 "protected" : 1,
14741 "proxyto" : "node",
14742 "returns" : {
14743 "type" : "null"
14744 }
14745 },
14746 "GET" : {
14747 "allowtoken" : 1,
14748 "description" : "Get timer specification",
14749 "method" : "GET",
14750 "name" : "list_timer",
14751 "parameters" : {
14752 "additionalProperties" : 0,
14753 "properties" : {
14754 "node" : {
14755 "description" : "The cluster node name.",
14756 "format" : "pve-node",
14757 "type" : "string",
14758 "typetext" : "<string>"
14759 },
14760 "remote" : {
14761 "description" : "Proxmox Backup Server ID.",
14762 "format" : "pve-configid",
14763 "type" : "string",
14764 "typetext" : "<string>"
14765 }
14766 }
14767 },
14768 "permissions" : {
14769 "check" : [
14770 "admin",
14771 "audit"
14772 ]
14773 },
14774 "protected" : 1,
14775 "proxyto" : "node",
14776 "returns" : {
14777 "properties" : {
14778 "delay" : {
14779 "default" : "5min",
14780 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
14781 "optional" : 1,
14782 "pattern" : "[0-9a-zA-Z. ]+",
14783 "type" : "string"
14784 },
14785 "next-run" : {
14786 "description" : "The date time of the next run, in server locale.",
14787 "optional" : 1,
14788 "type" : "string"
14789 },
14790 "remote" : {
14791 "description" : "Proxmox Backup Server remote ID.",
14792 "format" : "pve-configid",
14793 "optional" : 1,
14794 "type" : "string"
14795 },
14796 "schedule" : {
14797 "default" : "daily",
14798 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
14799 "optional" : 1,
14800 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
14801 "type" : "string"
14802 },
14803 "unitfile" : {
14804 "description" : "unit file for the systemd.timer unit",
14805 "optional" : 1,
14806 "type" : "string"
14807 }
14808 },
14809 "type" : "object"
14810 }
14811 },
14812 "POST" : {
14813 "allowtoken" : 1,
14814 "description" : "Create backup schedule",
14815 "method" : "POST",
14816 "name" : "create_timer",
14817 "parameters" : {
14818 "additionalProperties" : 0,
14819 "properties" : {
14820 "delay" : {
14821 "default" : "5min",
14822 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
14823 "optional" : 1,
14824 "pattern" : "[0-9a-zA-Z. ]+",
14825 "type" : "string"
14826 },
14827 "node" : {
14828 "description" : "The cluster node name.",
14829 "format" : "pve-node",
14830 "type" : "string",
14831 "typetext" : "<string>"
14832 },
14833 "remote" : {
14834 "description" : "Proxmox Backup Server ID.",
14835 "format" : "pve-configid",
14836 "type" : "string",
14837 "typetext" : "<string>"
14838 },
14839 "schedule" : {
14840 "default" : "daily",
14841 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
14842 "optional" : 1,
14843 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
14844 "type" : "string"
14845 }
14846 }
14847 },
14848 "permissions" : {
14849 "check" : [
14850 "admin",
14851 "audit"
14852 ]
14853 },
14854 "protected" : 1,
14855 "proxyto" : "node",
14856 "returns" : {
14857 "type" : "null"
ab2b846b
TL
14858 }
14859 }
14860 },
c5ccf1ab
TL
14861 "leaf" : 1,
14862 "path" : "/nodes/{node}/pbs/{remote}/timer",
14863 "text" : "timer"
14864 }
14865 ],
14866 "info" : {
ab2b846b
TL
14867 "GET" : {
14868 "allowtoken" : 1,
c5ccf1ab 14869 "description" : "Backup Job index.",
ab2b846b 14870 "method" : "GET",
c5ccf1ab 14871 "name" : "remote_index",
ab2b846b
TL
14872 "parameters" : {
14873 "additionalProperties" : 0,
14874 "properties" : {
ab2b846b
TL
14875 "node" : {
14876 "description" : "The cluster node name.",
14877 "format" : "pve-node",
14878 "type" : "string",
14879 "typetext" : "<string>"
ab2b846b 14880 },
c5ccf1ab
TL
14881 "remote" : {
14882 "description" : "Proxmox Backup Server ID.",
14883 "format" : "pve-configid",
ab2b846b
TL
14884 "type" : "string",
14885 "typetext" : "<string>"
ab2b846b
TL
14886 }
14887 }
14888 },
ab2b846b 14889 "returns" : {
c5ccf1ab
TL
14890 "items" : {
14891 "properties" : {
14892 "section" : {
14893 "type" : "string"
14894 }
14895 },
14896 "type" : "object"
14897 },
14898 "links" : [
14899 {
14900 "href" : "{section}",
14901 "rel" : "child"
14902 }
14903 ],
14904 "type" : "array"
ab2b846b
TL
14905 }
14906 }
14907 },
c5ccf1ab
TL
14908 "leaf" : 0,
14909 "path" : "/nodes/{node}/pbs/{remote}",
14910 "text" : "{remote}"
ab2b846b
TL
14911 }
14912 ],
14913 "info" : {
14914 "GET" : {
14915 "allowtoken" : 1,
c5ccf1ab 14916 "description" : "List all configured Proxmox Backup Server jobs.",
ab2b846b
TL
14917 "method" : "GET",
14918 "name" : "list",
14919 "parameters" : {
14920 "additionalProperties" : 0,
14921 "properties" : {
c5ccf1ab
TL
14922 "node" : {
14923 "description" : "The cluster node name.",
14924 "format" : "pve-node",
14925 "type" : "string",
14926 "typetext" : "<string>"
ab2b846b
TL
14927 }
14928 }
14929 },
14930 "permissions" : {
14931 "check" : [
c5ccf1ab
TL
14932 "admin",
14933 "audit"
ab2b846b
TL
14934 ]
14935 },
14936 "protected" : 1,
14937 "proxyto" : "node",
14938 "returns" : {
c5ccf1ab
TL
14939 "items" : {
14940 "additionalProperties" : 0,
14941 "properties" : {
14942 "datastore" : {
14943 "description" : "Proxmox Backup Server datastore name.",
14944 "optional" : 0,
0b9926d3 14945 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
c5ccf1ab
TL
14946 "type" : "string"
14947 },
14948 "disable" : {
14949 "description" : "Flag to disable (deactivate) the entry.",
14950 "optional" : 1,
14951 "type" : "boolean"
14952 },
14953 "fingerprint" : {
14954 "description" : "Certificate SHA 256 fingerprint.",
14955 "optional" : 1,
14956 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
14957 "type" : "string"
14958 },
14959 "include-statistics" : {
14960 "description" : "Include statistics in scheduled backups",
14961 "optional" : 1,
14962 "type" : "boolean"
14963 },
14964 "keep-daily" : {
14965 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
14966 "format_description" : "N",
14967 "minimum" : "0",
14968 "optional" : 1,
14969 "type" : "integer"
14970 },
14971 "keep-hourly" : {
14972 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
14973 "format_description" : "N",
14974 "minimum" : "0",
14975 "optional" : 1,
14976 "type" : "integer"
14977 },
14978 "keep-last" : {
14979 "description" : "Keep the last <N> backups.",
14980 "format_description" : "N",
14981 "minimum" : "0",
14982 "optional" : 1,
14983 "type" : "integer"
14984 },
14985 "keep-monthly" : {
14986 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
14987 "format_description" : "N",
14988 "minimum" : "0",
14989 "optional" : 1,
14990 "type" : "integer"
14991 },
14992 "keep-weekly" : {
14993 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
14994 "format_description" : "N",
14995 "minimum" : "0",
14996 "optional" : 1,
14997 "type" : "integer"
14998 },
14999 "keep-yearly" : {
15000 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
15001 "format_description" : "N",
15002 "minimum" : "0",
15003 "optional" : 1,
15004 "type" : "integer"
15005 },
0b9926d3
TL
15006 "namespace" : {
15007 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
15008 "maxLength" : 256,
15009 "optional" : 1,
15010 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
15011 "type" : "string"
15012 },
c5ccf1ab
TL
15013 "notify" : {
15014 "description" : "Specify when to notify via e-mail",
15015 "enum" : [
15016 "always",
15017 "error",
15018 "never"
ab2b846b 15019 ],
c5ccf1ab
TL
15020 "optional" : 1,
15021 "type" : "string"
15022 },
15023 "password" : {
15024 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
15025 "optional" : 1,
15026 "type" : "string"
15027 },
15028 "remote" : {
15029 "description" : "Proxmox Backup Server ID.",
15030 "format" : "pve-configid",
15031 "type" : "string"
15032 },
15033 "server" : {
15034 "description" : "Proxmox Backup Server address.",
15035 "format" : "address",
15036 "maxLength" : 256,
15037 "optional" : 0,
15038 "type" : "string"
15039 },
15040 "username" : {
15041 "description" : "Username or API token ID on the Proxmox Backup Server",
15042 "maxLength" : 512,
15043 "minLength" : 3,
15044 "optional" : 1,
15045 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
15046 "type" : "string"
15047 }
15048 },
15049 "type" : "object"
15050 },
15051 "links" : [
15052 {
15053 "href" : "{remote}",
15054 "rel" : "child"
15055 }
15056 ],
15057 "type" : "array"
15058 }
15059 }
15060 },
15061 "leaf" : 0,
15062 "path" : "/nodes/{node}/pbs",
15063 "text" : "pbs"
15064 },
15065 {
15066 "children" : [
15067 {
15068 "info" : {
15069 "GET" : {
15070 "allowtoken" : 1,
15071 "description" : "Get information about the node's certificates.",
15072 "method" : "GET",
15073 "name" : "info",
15074 "parameters" : {
15075 "additionalProperties" : 0,
15076 "properties" : {
15077 "node" : {
15078 "description" : "The cluster node name.",
15079 "format" : "pve-node",
15080 "type" : "string",
15081 "typetext" : "<string>"
15082 }
15083 }
15084 },
15085 "permissions" : {
15086 "user" : "all"
15087 },
15088 "protected" : 1,
15089 "proxyto" : "node",
15090 "returns" : {
15091 "items" : {
15092 "properties" : {
15093 "filename" : {
15094 "optional" : 1,
15095 "type" : "string"
15096 },
15097 "fingerprint" : {
15098 "description" : "Certificate SHA 256 fingerprint.",
15099 "optional" : 1,
15100 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15101 "type" : "string"
15102 },
15103 "issuer" : {
15104 "description" : "Certificate issuer name.",
15105 "optional" : 1,
15106 "type" : "string"
15107 },
15108 "notafter" : {
15109 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15110 "optional" : 1,
15111 "renderer" : "timestamp",
15112 "type" : "integer"
15113 },
15114 "notbefore" : {
15115 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15116 "optional" : 1,
15117 "renderer" : "timestamp",
15118 "type" : "integer"
15119 },
15120 "pem" : {
15121 "description" : "Certificate in PEM format",
15122 "format" : "pem-certificate",
15123 "optional" : 1,
15124 "type" : "string"
15125 },
15126 "public-key-bits" : {
15127 "description" : "Certificate's public key size",
15128 "optional" : 1,
15129 "type" : "integer"
15130 },
15131 "public-key-type" : {
15132 "description" : "Certificate's public key algorithm",
15133 "optional" : 1,
15134 "type" : "string"
15135 },
15136 "san" : {
15137 "description" : "List of Certificate's SubjectAlternativeName entries.",
15138 "items" : {
15139 "type" : "string"
ab2b846b 15140 },
c5ccf1ab
TL
15141 "optional" : 1,
15142 "renderer" : "yaml",
15143 "type" : "array"
15144 },
15145 "subject" : {
15146 "description" : "Certificate subject name.",
15147 "optional" : 1,
15148 "type" : "string"
ab2b846b
TL
15149 }
15150 },
c5ccf1ab
TL
15151 "type" : "object"
15152 },
15153 "type" : "array"
15154 }
15155 }
15156 },
15157 "leaf" : 1,
15158 "path" : "/nodes/{node}/certificates/info",
15159 "text" : "info"
15160 },
15161 {
15162 "children" : [
15163 {
ab2b846b 15164 "info" : {
c5ccf1ab 15165 "DELETE" : {
ab2b846b 15166 "allowtoken" : 1,
c5ccf1ab
TL
15167 "description" : "DELETE custom certificate chain and key.",
15168 "method" : "DELETE",
15169 "name" : "remove_custom_cert",
ab2b846b
TL
15170 "parameters" : {
15171 "additionalProperties" : 0,
15172 "properties" : {
15173 "node" : {
15174 "description" : "The cluster node name.",
15175 "format" : "pve-node",
15176 "type" : "string",
15177 "typetext" : "<string>"
15178 },
c5ccf1ab
TL
15179 "restart" : {
15180 "default" : 0,
15181 "description" : "Restart pmgproxy.",
15182 "optional" : 1,
15183 "type" : "boolean",
15184 "typetext" : "<boolean>"
15185 },
15186 "type" : {
15187 "description" : "The TLS certificate type (API or SMTP certificate).",
15188 "enum" : [
15189 "api",
15190 "smtp"
15191 ],
15192 "type" : "string"
ab2b846b
TL
15193 }
15194 }
15195 },
15196 "permissions" : {
15197 "check" : [
c5ccf1ab 15198 "admin"
ab2b846b
TL
15199 ]
15200 },
15201 "protected" : 1,
15202 "proxyto" : "node",
15203 "returns" : {
c5ccf1ab 15204 "type" : "null"
ab2b846b
TL
15205 }
15206 },
15207 "POST" : {
15208 "allowtoken" : 1,
c5ccf1ab 15209 "description" : "Upload or update custom certificate chain and key.",
ab2b846b 15210 "method" : "POST",
c5ccf1ab 15211 "name" : "upload_custom_cert",
ab2b846b
TL
15212 "parameters" : {
15213 "additionalProperties" : 0,
15214 "properties" : {
c5ccf1ab
TL
15215 "certificates" : {
15216 "description" : "PEM encoded certificate (chain).",
15217 "format" : "pem-certificate-chain",
15218 "type" : "string",
15219 "typetext" : "<string>"
15220 },
15221 "force" : {
15222 "default" : 0,
15223 "description" : "Overwrite existing custom or ACME certificate files.",
15224 "optional" : 1,
15225 "type" : "boolean",
15226 "typetext" : "<boolean>"
15227 },
15228 "key" : {
15229 "description" : "PEM encoded private key.",
15230 "format" : "pem-string",
15231 "optional" : 0,
15232 "type" : "string",
15233 "typetext" : "<string>"
15234 },
ab2b846b
TL
15235 "node" : {
15236 "description" : "The cluster node name.",
15237 "format" : "pve-node",
15238 "type" : "string",
15239 "typetext" : "<string>"
15240 },
c5ccf1ab
TL
15241 "restart" : {
15242 "default" : 0,
15243 "description" : "Restart services.",
15244 "optional" : 1,
15245 "type" : "boolean",
15246 "typetext" : "<boolean>"
15247 },
15248 "type" : {
15249 "description" : "The TLS certificate type (API or SMTP certificate).",
15250 "enum" : [
15251 "api",
15252 "smtp"
15253 ],
15254 "type" : "string"
ab2b846b
TL
15255 }
15256 }
15257 },
15258 "permissions" : {
15259 "check" : [
c5ccf1ab 15260 "admin"
ab2b846b
TL
15261 ]
15262 },
15263 "protected" : 1,
15264 "proxyto" : "node",
15265 "returns" : {
c5ccf1ab
TL
15266 "properties" : {
15267 "filename" : {
15268 "optional" : 1,
15269 "type" : "string"
15270 },
15271 "fingerprint" : {
15272 "description" : "Certificate SHA 256 fingerprint.",
15273 "optional" : 1,
15274 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15275 "type" : "string"
15276 },
15277 "issuer" : {
15278 "description" : "Certificate issuer name.",
15279 "optional" : 1,
15280 "type" : "string"
15281 },
15282 "notafter" : {
15283 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15284 "optional" : 1,
15285 "renderer" : "timestamp",
15286 "type" : "integer"
15287 },
15288 "notbefore" : {
15289 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15290 "optional" : 1,
15291 "renderer" : "timestamp",
15292 "type" : "integer"
15293 },
15294 "pem" : {
15295 "description" : "Certificate in PEM format",
15296 "format" : "pem-certificate",
15297 "optional" : 1,
15298 "type" : "string"
15299 },
15300 "public-key-bits" : {
15301 "description" : "Certificate's public key size",
15302 "optional" : 1,
15303 "type" : "integer"
15304 },
15305 "public-key-type" : {
15306 "description" : "Certificate's public key algorithm",
15307 "optional" : 1,
15308 "type" : "string"
15309 },
15310 "san" : {
15311 "description" : "List of Certificate's SubjectAlternativeName entries.",
15312 "items" : {
15313 "type" : "string"
15314 },
15315 "optional" : 1,
15316 "renderer" : "yaml",
15317 "type" : "array"
15318 },
15319 "subject" : {
15320 "description" : "Certificate subject name.",
15321 "optional" : 1,
15322 "type" : "string"
15323 }
15324 },
15325 "type" : "object"
15326 }
15327 }
15328 },
15329 "leaf" : 1,
15330 "path" : "/nodes/{node}/certificates/custom/{type}",
15331 "text" : "{type}"
15332 }
15333 ],
15334 "info" : {
15335 "GET" : {
15336 "allowtoken" : 1,
15337 "description" : "Certificate index.",
15338 "method" : "GET",
15339 "name" : "custom_cert_index",
15340 "parameters" : {
15341 "additionalProperties" : 0,
15342 "properties" : {
15343 "node" : {
15344 "description" : "The cluster node name.",
15345 "format" : "pve-node",
15346 "type" : "string",
15347 "typetext" : "<string>"
ab2b846b
TL
15348 }
15349 }
15350 },
c5ccf1ab
TL
15351 "permissions" : {
15352 "user" : "all"
15353 },
15354 "returns" : {
15355 "items" : {
15356 "properties" : {},
15357 "type" : "object"
15358 },
15359 "links" : [
15360 {
15361 "href" : "{type}",
15362 "rel" : "child"
15363 }
15364 ],
15365 "type" : "array"
15366 }
15367 }
15368 },
15369 "leaf" : 0,
15370 "path" : "/nodes/{node}/certificates/custom",
15371 "text" : "custom"
15372 },
15373 {
15374 "children" : [
ab2b846b
TL
15375 {
15376 "info" : {
15377 "DELETE" : {
15378 "allowtoken" : 1,
c5ccf1ab 15379 "description" : "Revoke existing certificate from CA.",
ab2b846b 15380 "method" : "DELETE",
c5ccf1ab 15381 "name" : "revoke_acme_cert",
ab2b846b
TL
15382 "parameters" : {
15383 "additionalProperties" : 0,
15384 "properties" : {
15385 "node" : {
15386 "description" : "The cluster node name.",
15387 "format" : "pve-node",
15388 "type" : "string",
15389 "typetext" : "<string>"
15390 },
c5ccf1ab
TL
15391 "type" : {
15392 "description" : "The TLS certificate type (API or SMTP certificate).",
15393 "enum" : [
15394 "api",
15395 "smtp"
15396 ],
15397 "type" : "string"
ab2b846b
TL
15398 }
15399 }
15400 },
15401 "permissions" : {
15402 "check" : [
c5ccf1ab 15403 "admin"
ab2b846b
TL
15404 ]
15405 },
15406 "protected" : 1,
15407 "proxyto" : "node",
15408 "returns" : {
c5ccf1ab 15409 "type" : "string"
ab2b846b
TL
15410 }
15411 },
c5ccf1ab 15412 "POST" : {
ab2b846b 15413 "allowtoken" : 1,
c5ccf1ab
TL
15414 "description" : "Order a new certificate from ACME-compatible CA.",
15415 "method" : "POST",
15416 "name" : "new_acme_cert",
ab2b846b
TL
15417 "parameters" : {
15418 "additionalProperties" : 0,
15419 "properties" : {
c5ccf1ab
TL
15420 "force" : {
15421 "default" : 0,
15422 "description" : "Overwrite existing custom certificate.",
15423 "optional" : 1,
15424 "type" : "boolean",
15425 "typetext" : "<boolean>"
15426 },
ab2b846b
TL
15427 "node" : {
15428 "description" : "The cluster node name.",
15429 "format" : "pve-node",
15430 "type" : "string",
15431 "typetext" : "<string>"
15432 },
c5ccf1ab
TL
15433 "type" : {
15434 "description" : "The TLS certificate type (API or SMTP certificate).",
15435 "enum" : [
15436 "api",
15437 "smtp"
15438 ],
15439 "type" : "string"
ab2b846b
TL
15440 }
15441 }
15442 },
15443 "permissions" : {
15444 "check" : [
c5ccf1ab 15445 "admin"
ab2b846b
TL
15446 ]
15447 },
15448 "protected" : 1,
15449 "proxyto" : "node",
15450 "returns" : {
c5ccf1ab 15451 "type" : "string"
ab2b846b
TL
15452 }
15453 },
c5ccf1ab 15454 "PUT" : {
ab2b846b 15455 "allowtoken" : 1,
c5ccf1ab
TL
15456 "description" : "Renew existing certificate from CA.",
15457 "method" : "PUT",
15458 "name" : "renew_acme_cert",
ab2b846b
TL
15459 "parameters" : {
15460 "additionalProperties" : 0,
15461 "properties" : {
c5ccf1ab
TL
15462 "force" : {
15463 "default" : 0,
15464 "description" : "Force renewal even if expiry is more than 30 days away.",
ab2b846b 15465 "optional" : 1,
c5ccf1ab
TL
15466 "type" : "boolean",
15467 "typetext" : "<boolean>"
ab2b846b
TL
15468 },
15469 "node" : {
15470 "description" : "The cluster node name.",
15471 "format" : "pve-node",
15472 "type" : "string",
15473 "typetext" : "<string>"
15474 },
c5ccf1ab
TL
15475 "type" : {
15476 "description" : "The TLS certificate type (API or SMTP certificate).",
15477 "enum" : [
15478 "api",
15479 "smtp"
15480 ],
ab2b846b
TL
15481 "type" : "string"
15482 }
15483 }
15484 },
15485 "permissions" : {
15486 "check" : [
c5ccf1ab 15487 "admin"
ab2b846b
TL
15488 ]
15489 },
15490 "protected" : 1,
15491 "proxyto" : "node",
15492 "returns" : {
c5ccf1ab 15493 "type" : "string"
bb6e6e0d
DM
15494 }
15495 }
15496 },
ab2b846b 15497 "leaf" : 1,
c5ccf1ab
TL
15498 "path" : "/nodes/{node}/certificates/acme/{type}",
15499 "text" : "{type}"
ab2b846b
TL
15500 }
15501 ],
15502 "info" : {
bb6e6e0d 15503 "GET" : {
6bd70b95 15504 "allowtoken" : 1,
c5ccf1ab 15505 "description" : "ACME Certificate index.",
bb6e6e0d 15506 "method" : "GET",
c5ccf1ab 15507 "name" : "acme_cert_index",
bb6e6e0d
DM
15508 "parameters" : {
15509 "additionalProperties" : 0,
15510 "properties" : {
bb6e6e0d
DM
15511 "node" : {
15512 "description" : "The cluster node name.",
15513 "format" : "pve-node",
15514 "type" : "string",
15515 "typetext" : "<string>"
bb6e6e0d
DM
15516 }
15517 }
15518 },
c5ccf1ab
TL
15519 "permissions" : {
15520 "user" : "all"
15521 },
bb6e6e0d 15522 "returns" : {
ab2b846b 15523 "items" : {
c5ccf1ab 15524 "properties" : {},
ab2b846b
TL
15525 "type" : "object"
15526 },
15527 "links" : [
15528 {
c5ccf1ab 15529 "href" : "{type}",
ab2b846b
TL
15530 "rel" : "child"
15531 }
15532 ],
15533 "type" : "array"
bb6e6e0d
DM
15534 }
15535 }
15536 },
ab2b846b 15537 "leaf" : 0,
c5ccf1ab
TL
15538 "path" : "/nodes/{node}/certificates/acme",
15539 "text" : "acme"
bb6e6e0d
DM
15540 }
15541 ],
15542 "info" : {
15543 "GET" : {
6bd70b95 15544 "allowtoken" : 1,
c5ccf1ab 15545 "description" : "Node index.",
bb6e6e0d 15546 "method" : "GET",
c5ccf1ab
TL
15547 "name" : "index",
15548 "parameters" : {
15549 "additionalProperties" : 0,
15550 "properties" : {
15551 "node" : {
15552 "description" : "The cluster node name.",
15553 "format" : "pve-node",
15554 "type" : "string",
15555 "typetext" : "<string>"
15556 }
15557 }
15558 },
15559 "permissions" : {
15560 "user" : "all"
15561 },
15562 "returns" : {
15563 "items" : {
15564 "properties" : {},
15565 "type" : "object"
15566 },
15567 "links" : [
15568 {
15569 "href" : "{name}",
15570 "rel" : "child"
15571 }
15572 ],
15573 "type" : "array"
15574 }
15575 }
15576 },
15577 "leaf" : 0,
15578 "path" : "/nodes/{node}/certificates",
15579 "text" : "certificates"
15580 },
15581 {
15582 "info" : {
15583 "GET" : {
15584 "allowtoken" : 1,
15585 "description" : "Get node configuration options.",
15586 "method" : "GET",
15587 "name" : "get_config",
15588 "parameters" : {
15589 "additionalProperties" : 0,
15590 "properties" : {
15591 "node" : {
15592 "description" : "The cluster node name.",
15593 "format" : "pve-node",
15594 "type" : "string",
15595 "typetext" : "<string>"
15596 }
15597 }
15598 },
15599 "permissions" : {
15600 "check" : [
15601 "admin",
15602 "audit"
15603 ]
15604 },
15605 "protected" : 1,
15606 "proxyto" : "node",
15607 "returns" : {
15608 "additionalProperties" : 0,
15609 "properties" : {
15610 "acme" : {
15611 "description" : "Node specific ACME settings.",
15612 "format" : {
15613 "account" : {
15614 "default" : "default",
15615 "description" : "ACME account config file name.",
15616 "format" : "pve-configid",
15617 "format_description" : "name",
15618 "optional" : 1,
15619 "type" : "string"
15620 }
15621 },
15622 "optional" : 1,
15623 "type" : "string"
15624 },
15625 "acmedomain[n]" : {
15626 "description" : "ACME domain and validation plugin",
15627 "format" : {
15628 "alias" : {
15629 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
15630 "format" : "pmg-acme-alias",
15631 "format_description" : "domain",
15632 "optional" : 1,
15633 "type" : "string"
15634 },
15635 "domain" : {
15636 "default_key" : 1,
15637 "description" : "domain for this node's ACME certificate",
15638 "format" : "pmg-acme-domain",
15639 "format_description" : "domain",
15640 "type" : "string"
15641 },
15642 "plugin" : {
15643 "default" : "standalone",
15644 "description" : "The ACME plugin ID",
15645 "format" : "pve-configid",
15646 "format_description" : "name of the plugin configuration",
15647 "optional" : 1,
15648 "type" : "string"
15649 },
15650 "usage" : {
15651 "description" : "Whether this domain is used for the API, SMTP or both",
15652 "format" : "pmg-certificate-type-list",
15653 "format_description" : "usage list",
15654 "type" : "string"
15655 }
15656 },
15657 "optional" : 1,
15658 "type" : "string"
15659 },
15660 "digest" : {
15661 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15662 "maxLength" : 40,
15663 "optional" : 1,
15664 "type" : "string"
15665 }
15666 },
15667 "type" : "object"
15668 }
15669 },
15670 "PUT" : {
15671 "allowtoken" : 1,
15672 "description" : "Set node configuration options.",
15673 "method" : "PUT",
15674 "name" : "set_config",
bb6e6e0d
DM
15675 "parameters" : {
15676 "additionalProperties" : 0,
15677 "properties" : {
c5ccf1ab
TL
15678 "acme" : {
15679 "description" : "Node specific ACME settings.",
15680 "format" : {
15681 "account" : {
15682 "default" : "default",
15683 "description" : "ACME account config file name.",
15684 "format" : "pve-configid",
15685 "format_description" : "name",
15686 "optional" : 1,
15687 "type" : "string"
15688 }
15689 },
15690 "optional" : 1,
15691 "type" : "string",
15692 "typetext" : "[account=<name>]"
15693 },
15694 "acmedomain[n]" : {
15695 "description" : "ACME domain and validation plugin",
15696 "format" : {
15697 "alias" : {
15698 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
15699 "format" : "pmg-acme-alias",
15700 "format_description" : "domain",
15701 "optional" : 1,
15702 "type" : "string"
15703 },
15704 "domain" : {
15705 "default_key" : 1,
15706 "description" : "domain for this node's ACME certificate",
15707 "format" : "pmg-acme-domain",
15708 "format_description" : "domain",
15709 "type" : "string"
15710 },
15711 "plugin" : {
15712 "default" : "standalone",
15713 "description" : "The ACME plugin ID",
15714 "format" : "pve-configid",
15715 "format_description" : "name of the plugin configuration",
15716 "optional" : 1,
15717 "type" : "string"
15718 },
15719 "usage" : {
15720 "description" : "Whether this domain is used for the API, SMTP or both",
15721 "format" : "pmg-certificate-type-list",
15722 "format_description" : "usage list",
15723 "type" : "string"
15724 }
15725 },
15726 "optional" : 1,
15727 "type" : "string",
15728 "typetext" : "[domain=]<domain> ,usage=<usage list> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
15729 },
15730 "delete" : {
15731 "description" : "A list of settings you want to delete.",
15732 "format" : "pve-configid-list",
15733 "optional" : 1,
15734 "type" : "string",
15735 "typetext" : "<string>"
15736 },
15737 "digest" : {
15738 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15739 "maxLength" : 40,
15740 "optional" : 1,
15741 "type" : "string",
15742 "typetext" : "<string>"
15743 },
bb6e6e0d
DM
15744 "node" : {
15745 "description" : "The cluster node name.",
15746 "format" : "pve-node",
15747 "type" : "string",
15748 "typetext" : "<string>"
15749 }
c5ccf1ab
TL
15750 },
15751 "type" : "object"
bb6e6e0d
DM
15752 },
15753 "permissions" : {
15754 "check" : [
15755 "admin",
15756 "audit"
15757 ]
15758 },
15759 "protected" : 1,
15760 "proxyto" : "node",
15761 "returns" : {
c5ccf1ab 15762 "type" : "null"
bb6e6e0d 15763 }
bb6e6e0d
DM
15764 }
15765 },
c5ccf1ab
TL
15766 "leaf" : 1,
15767 "path" : "/nodes/{node}/config",
15768 "text" : "config"
bb6e6e0d 15769 },
241ac83c
TL
15770 {
15771 "info" : {
15772 "GET" : {
6bd70b95 15773 "allowtoken" : 1,
241ac83c
TL
15774 "description" : "Gather various system information about a node",
15775 "method" : "GET",
15776 "name" : "report",
15777 "parameters" : {
15778 "additionalProperties" : 0,
15779 "properties" : {
15780 "node" : {
15781 "description" : "The cluster node name.",
15782 "format" : "pve-node",
15783 "type" : "string",
15784 "typetext" : "<string>"
15785 }
15786 }
15787 },
15788 "permissions" : {
15789 "check" : [
15790 "admin",
15791 "audit"
15792 ]
15793 },
15794 "protected" : 1,
15795 "proxyto" : "node",
15796 "returns" : {
15797 "type" : "string"
15798 }
15799 }
15800 },
15801 "leaf" : 1,
15802 "path" : "/nodes/{node}/report",
15803 "text" : "report"
15804 },
9fda36b0
DM
15805 {
15806 "info" : {
15807 "GET" : {
6bd70b95 15808 "allowtoken" : 1,
9fda36b0
DM
15809 "description" : "Read node RRD statistics",
15810 "method" : "GET",
15811 "name" : "rrddata",
15812 "parameters" : {
15813 "additionalProperties" : 0,
15814 "properties" : {
15815 "cf" : {
15816 "description" : "The RRD consolidation function",
15817 "enum" : [
15818 "AVERAGE",
15819 "MAX"
15820 ],
15821 "optional" : 1,
15822 "type" : "string"
15823 },
15824 "node" : {
15825 "description" : "The cluster node name.",
15826 "format" : "pve-node",
15827 "type" : "string",
15828 "typetext" : "<string>"
15829 },
15830 "timeframe" : {
15831 "description" : "Specify the time frame you are interested in.",
15832 "enum" : [
15833 "hour",
15834 "day",
15835 "week",
15836 "month",
15837 "year"
15838 ],
15839 "type" : "string"
15840 }
15841 }
15842 },
732d76e1
DM
15843 "permissions" : {
15844 "check" : [
15845 "admin",
15846 "audit"
15847 ]
15848 },
9fda36b0
DM
15849 "protected" : 1,
15850 "proxyto" : "node",
15851 "returns" : {
15852 "items" : {
15853 "properties" : {},
15854 "type" : "object"
15855 },
15856 "type" : "array"
15857 }
15858 }
15859 },
15860 "leaf" : 1,
15861 "path" : "/nodes/{node}/rrddata",
15862 "text" : "rrddata"
15863 },
15864 {
15865 "info" : {
15866 "GET" : {
6bd70b95 15867 "allowtoken" : 1,
9fda36b0
DM
15868 "description" : "Read system log",
15869 "method" : "GET",
15870 "name" : "syslog",
15871 "parameters" : {
15872 "additionalProperties" : 0,
15873 "properties" : {
15874 "limit" : {
15875 "minimum" : 0,
15876 "optional" : 1,
15877 "type" : "integer",
15878 "typetext" : "<integer> (0 - N)"
15879 },
15880 "node" : {
15881 "description" : "The cluster node name.",
15882 "format" : "pve-node",
15883 "type" : "string",
15884 "typetext" : "<string>"
15885 },
15886 "service" : {
15887 "description" : "Service ID",
15888 "maxLength" : 128,
15889 "optional" : 1,
15890 "type" : "string",
15891 "typetext" : "<string>"
15892 },
15893 "since" : {
15894 "description" : "Display all log since this date-time string.",
15895 "optional" : 1,
15896 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
15897 "type" : "string"
15898 },
15899 "start" : {
15900 "minimum" : 0,
15901 "optional" : 1,
15902 "type" : "integer",
15903 "typetext" : "<integer> (0 - N)"
15904 },
15905 "until" : {
15906 "description" : "Display all log until this date-time string.",
15907 "optional" : 1,
15908 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
15909 "type" : "string"
15910 }
15911 }
15912 },
732d76e1
DM
15913 "permissions" : {
15914 "check" : [
15915 "admin",
15916 "audit"
15917 ]
15918 },
9fda36b0
DM
15919 "protected" : 1,
15920 "proxyto" : "node",
15921 "returns" : {
15922 "items" : {
15923 "properties" : {
15924 "n" : {
15925 "description" : "Line number",
15926 "type" : "integer"
15927 },
15928 "t" : {
15929 "description" : "Line text",
15930 "type" : "string"
15931 }
15932 },
15933 "type" : "object"
15934 },
15935 "type" : "array"
15936 }
15937 }
15938 },
15939 "leaf" : 1,
15940 "path" : "/nodes/{node}/syslog",
15941 "text" : "syslog"
15942 },
241ac83c
TL
15943 {
15944 "info" : {
15945 "GET" : {
6bd70b95 15946 "allowtoken" : 1,
241ac83c
TL
15947 "description" : "Read Journal",
15948 "method" : "GET",
15949 "name" : "journal",
15950 "parameters" : {
15951 "additionalProperties" : 0,
15952 "properties" : {
15953 "endcursor" : {
15954 "description" : "End before the given Cursor. Conflicts with 'until'.",
15955 "optional" : 1,
15956 "type" : "string",
15957 "typetext" : "<string>"
15958 },
15959 "lastentries" : {
15960 "description" : "Limit to the last X lines. Conflicts with a range.",
15961 "minimum" : 0,
15962 "optional" : 1,
15963 "type" : "integer",
15964 "typetext" : "<integer> (0 - N)"
15965 },
15966 "node" : {
15967 "description" : "The cluster node name.",
15968 "format" : "pve-node",
15969 "type" : "string",
15970 "typetext" : "<string>"
15971 },
15972 "since" : {
15973 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
15974 "minimum" : 0,
15975 "optional" : 1,
15976 "type" : "integer",
15977 "typetext" : "<integer> (0 - N)"
15978 },
15979 "startcursor" : {
15980 "description" : "Start after the given Cursor. Conflicts with 'since'.",
15981 "optional" : 1,
15982 "type" : "string",
15983 "typetext" : "<string>"
15984 },
15985 "until" : {
15986 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
15987 "minimum" : 0,
15988 "optional" : 1,
15989 "type" : "integer",
15990 "typetext" : "<integer> (0 - N)"
15991 }
15992 }
15993 },
15994 "permissions" : {
15995 "check" : [
15996 "admin",
15997 "audit"
15998 ]
15999 },
16000 "protected" : 1,
16001 "proxyto" : "node",
16002 "returns" : {
16003 "items" : {
16004 "type" : "string"
16005 },
16006 "type" : "array"
16007 }
16008 }
16009 },
16010 "leaf" : 1,
16011 "path" : "/nodes/{node}/journal",
16012 "text" : "journal"
16013 },
9fda36b0
DM
16014 {
16015 "info" : {
16016 "POST" : {
6bd70b95 16017 "allowtoken" : 1,
274b47fc 16018 "description" : "Creates a Terminal proxy.",
9fda36b0 16019 "method" : "POST",
274b47fc 16020 "name" : "termproxy",
9fda36b0
DM
16021 "parameters" : {
16022 "additionalProperties" : 0,
16023 "properties" : {
c5ccf1ab
TL
16024 "cmd" : {
16025 "default" : "login",
16026 "description" : "Run specific command or default to login.",
16027 "enum" : [
14ffe66b
TL
16028 "login",
16029 "upgrade"
c5ccf1ab
TL
16030 ],
16031 "optional" : 1,
16032 "type" : "string"
16033 },
16034 "cmd-opts" : {
16035 "default" : "",
16036 "description" : "Add parameters to a command. Encoded as null terminated strings.",
16037 "optional" : 1,
16038 "requires" : "cmd",
16039 "type" : "string",
16040 "typetext" : "<string>"
16041 },
9fda36b0
DM
16042 "node" : {
16043 "description" : "The cluster node name.",
16044 "format" : "pve-node",
16045 "type" : "string",
16046 "typetext" : "<string>"
9fda36b0
DM
16047 }
16048 }
16049 },
274b47fc
DM
16050 "permissions" : {
16051 "check" : [
16052 "admin"
16053 ]
16054 },
9fda36b0
DM
16055 "protected" : 1,
16056 "returns" : {
16057 "additionalProperties" : 0,
16058 "properties" : {
16059 "port" : {
16060 "type" : "integer"
16061 },
16062 "ticket" : {
16063 "type" : "string"
16064 },
16065 "upid" : {
16066 "type" : "string"
16067 },
16068 "user" : {
16069 "type" : "string"
16070 }
16071 }
16072 }
16073 }
16074 },
16075 "leaf" : 1,
274b47fc
DM
16076 "path" : "/nodes/{node}/termproxy",
16077 "text" : "termproxy"
9fda36b0
DM
16078 },
16079 {
16080 "info" : {
16081 "GET" : {
6bd70b95 16082 "allowtoken" : 1,
9fda36b0
DM
16083 "description" : "Opens a weksocket for VNC traffic.",
16084 "method" : "GET",
16085 "name" : "vncwebsocket",
16086 "parameters" : {
16087 "additionalProperties" : 0,
16088 "properties" : {
16089 "node" : {
16090 "description" : "The cluster node name.",
16091 "format" : "pve-node",
16092 "type" : "string",
16093 "typetext" : "<string>"
16094 },
16095 "port" : {
16096 "description" : "Port number returned by previous vncproxy call.",
16097 "maximum" : 5999,
16098 "minimum" : 5900,
16099 "type" : "integer",
16100 "typetext" : "<integer> (5900 - 5999)"
16101 },
16102 "vncticket" : {
16103 "description" : "Ticket from previous call to vncproxy.",
16104 "maxLength" : 512,
16105 "type" : "string",
16106 "typetext" : "<string>"
16107 }
16108 }
16109 },
274b47fc
DM
16110 "permissions" : {
16111 "check" : [
16112 "admin"
16113 ]
16114 },
9fda36b0
DM
16115 "returns" : {
16116 "properties" : {
16117 "port" : {
16118 "type" : "string"
16119 }
16120 },
16121 "type" : "object"
16122 }
16123 }
16124 },
16125 "leaf" : 1,
16126 "path" : "/nodes/{node}/vncwebsocket",
16127 "text" : "vncwebsocket"
16128 },
16129 {
16130 "info" : {
16131 "GET" : {
6bd70b95 16132 "allowtoken" : 1,
9fda36b0
DM
16133 "description" : "Read DNS settings.",
16134 "method" : "GET",
16135 "name" : "dns",
16136 "parameters" : {
16137 "additionalProperties" : 0,
16138 "properties" : {
16139 "node" : {
16140 "description" : "The cluster node name.",
16141 "format" : "pve-node",
16142 "type" : "string",
16143 "typetext" : "<string>"
16144 }
16145 }
16146 },
732d76e1
DM
16147 "permissions" : {
16148 "check" : [
16149 "admin",
16150 "audit"
16151 ]
16152 },
9fda36b0
DM
16153 "proxyto" : "node",
16154 "returns" : {
16155 "additionalProperties" : 0,
16156 "properties" : {
16157 "dns1" : {
16158 "description" : "First name server IP address.",
16159 "optional" : 1,
16160 "type" : "string"
16161 },
16162 "dns2" : {
16163 "description" : "Second name server IP address.",
16164 "optional" : 1,
16165 "type" : "string"
16166 },
16167 "dns3" : {
16168 "description" : "Third name server IP address.",
16169 "optional" : 1,
16170 "type" : "string"
16171 },
16172 "search" : {
16173 "description" : "Search domain for host-name lookup.",
16174 "optional" : 1,
16175 "type" : "string"
16176 }
16177 },
16178 "type" : "object"
16179 }
16180 },
16181 "PUT" : {
6bd70b95 16182 "allowtoken" : 1,
9fda36b0
DM
16183 "description" : "Write DNS settings.",
16184 "method" : "PUT",
16185 "name" : "update_dns",
16186 "parameters" : {
16187 "additionalProperties" : 0,
16188 "properties" : {
16189 "dns1" : {
16190 "description" : "First name server IP address.",
16191 "format" : "ip",
16192 "optional" : 1,
16193 "type" : "string",
16194 "typetext" : "<string>"
16195 },
16196 "dns2" : {
16197 "description" : "Second name server IP address.",
16198 "format" : "ip",
16199 "optional" : 1,
16200 "type" : "string",
16201 "typetext" : "<string>"
16202 },
16203 "dns3" : {
16204 "description" : "Third name server IP address.",
16205 "format" : "ip",
16206 "optional" : 1,
16207 "type" : "string",
16208 "typetext" : "<string>"
16209 },
16210 "node" : {
16211 "description" : "The cluster node name.",
16212 "format" : "pve-node",
16213 "type" : "string",
16214 "typetext" : "<string>"
16215 },
16216 "search" : {
16217 "description" : "Search domain for host-name lookup.",
16218 "type" : "string",
16219 "typetext" : "<string>"
16220 }
16221 }
16222 },
16223 "protected" : 1,
16224 "proxyto" : "node",
16225 "returns" : {
16226 "type" : "null"
16227 }
16228 }
16229 },
16230 "leaf" : 1,
16231 "path" : "/nodes/{node}/dns",
16232 "text" : "dns"
16233 },
16234 {
16235 "info" : {
16236 "GET" : {
6bd70b95 16237 "allowtoken" : 1,
9fda36b0
DM
16238 "description" : "Read server time and time zone settings.",
16239 "method" : "GET",
16240 "name" : "time",
16241 "parameters" : {
16242 "additionalProperties" : 0,
16243 "properties" : {
16244 "node" : {
16245 "description" : "The cluster node name.",
16246 "format" : "pve-node",
16247 "type" : "string",
16248 "typetext" : "<string>"
16249 }
16250 }
16251 },
732d76e1
DM
16252 "permissions" : {
16253 "check" : [
16254 "admin",
16255 "audit"
16256 ]
16257 },
9fda36b0
DM
16258 "proxyto" : "node",
16259 "returns" : {
16260 "additionalProperties" : 0,
16261 "properties" : {
16262 "localtime" : {
16263 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
16264 "minimum" : 1297163644,
16265 "type" : "integer"
16266 },
16267 "time" : {
16268 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16269 "minimum" : 1297163644,
16270 "type" : "integer"
16271 },
16272 "timezone" : {
16273 "description" : "Time zone",
16274 "type" : "string"
16275 }
16276 },
16277 "type" : "object"
16278 }
16279 },
16280 "PUT" : {
6bd70b95 16281 "allowtoken" : 1,
9fda36b0
DM
16282 "description" : "Set time zone.",
16283 "method" : "PUT",
16284 "name" : "set_timezone",
16285 "parameters" : {
16286 "additionalProperties" : 0,
16287 "properties" : {
16288 "node" : {
16289 "description" : "The cluster node name.",
16290 "format" : "pve-node",
16291 "type" : "string",
16292 "typetext" : "<string>"
16293 },
16294 "timezone" : {
16295 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
16296 "type" : "string",
16297 "typetext" : "<string>"
16298 }
16299 }
16300 },
16301 "protected" : 1,
16302 "proxyto" : "node",
16303 "returns" : {
16304 "type" : "null"
16305 }
16306 }
16307 },
16308 "leaf" : 1,
16309 "path" : "/nodes/{node}/time",
16310 "text" : "time"
16311 },
16312 {
16313 "info" : {
16314 "GET" : {
6bd70b95 16315 "allowtoken" : 1,
9fda36b0
DM
16316 "description" : "Read server status. This is used by the cluster manager to test the node health.",
16317 "method" : "GET",
16318 "name" : "status",
16319 "parameters" : {
16320 "additionalProperties" : 0,
16321 "properties" : {
16322 "node" : {
16323 "description" : "The cluster node name.",
16324 "format" : "pve-node",
16325 "type" : "string",
16326 "typetext" : "<string>"
16327 }
16328 }
16329 },
241ac83c
TL
16330 "permissions" : {
16331 "check" : [
16332 "admin",
16333 "qmanager",
16334 "audit"
16335 ]
16336 },
9fda36b0
DM
16337 "protected" : 1,
16338 "proxyto" : "node",
16339 "returns" : {
16340 "additionalProperties" : 1,
16341 "properties" : {
16342 "insync" : {
16343 "description" : "Database is synced with other nodes.",
16344 "type" : "boolean"
16345 },
16346 "time" : {
16347 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16348 "minimum" : 1297163644,
16349 "type" : "integer"
16350 },
16351 "uptime" : {
16352 "description" : "The uptime of the system in seconds.",
16353 "minimum" : 0,
16354 "type" : "integer"
16355 }
16356 },
16357 "type" : "object"
16358 }
274b47fc
DM
16359 },
16360 "POST" : {
6bd70b95 16361 "allowtoken" : 1,
274b47fc
DM
16362 "description" : "Reboot or shutdown a node.",
16363 "method" : "POST",
16364 "name" : "node_cmd",
16365 "parameters" : {
16366 "additionalProperties" : 0,
16367 "properties" : {
16368 "command" : {
16369 "description" : "Specify the command.",
16370 "enum" : [
16371 "reboot",
16372 "shutdown"
16373 ],
16374 "type" : "string"
16375 },
16376 "node" : {
16377 "description" : "The cluster node name.",
16378 "format" : "pve-node",
16379 "type" : "string",
16380 "typetext" : "<string>"
16381 }
16382 }
16383 },
16384 "permissions" : {
16385 "check" : [
16386 "admin"
16387 ]
16388 },
16389 "protected" : 1,
16390 "proxyto" : "node",
16391 "returns" : {
16392 "type" : "null"
16393 }
9fda36b0
DM
16394 }
16395 },
16396 "leaf" : 1,
16397 "path" : "/nodes/{node}/status",
16398 "text" : "status"
16399 }
16400 ],
16401 "info" : {
16402 "GET" : {
6bd70b95 16403 "allowtoken" : 1,
9fda36b0
DM
16404 "description" : "Node index.",
16405 "method" : "GET",
16406 "name" : "index",
16407 "parameters" : {
16408 "additionalProperties" : 0,
16409 "properties" : {
16410 "node" : {
16411 "description" : "The cluster node name.",
16412 "format" : "pve-node",
16413 "type" : "string",
16414 "typetext" : "<string>"
16415 }
16416 }
16417 },
16418 "permissions" : {
16419 "user" : "all"
16420 },
16421 "returns" : {
16422 "items" : {
16423 "properties" : {},
16424 "type" : "object"
16425 },
16426 "links" : [
16427 {
16428 "href" : "{name}",
16429 "rel" : "child"
16430 }
16431 ],
16432 "type" : "array"
16433 }
16434 }
16435 },
16436 "leaf" : 0,
16437 "path" : "/nodes/{node}",
16438 "text" : "{node}"
16439 }
16440 ],
16441 "info" : {
16442 "GET" : {
6bd70b95 16443 "allowtoken" : 1,
9fda36b0
DM
16444 "description" : "Cluster node index.",
16445 "method" : "GET",
16446 "name" : "index",
16447 "parameters" : {
16448 "additionalProperties" : 0
16449 },
16450 "permissions" : {
16451 "user" : "all"
16452 },
16453 "returns" : {
16454 "items" : {
16455 "properties" : {},
16456 "type" : "object"
16457 },
16458 "links" : [
16459 {
16460 "href" : "{node}",
16461 "rel" : "child"
16462 }
16463 ],
16464 "type" : "array"
16465 }
16466 }
16467 },
16468 "leaf" : 0,
16469 "path" : "/nodes",
16470 "text" : "nodes"
16471 },
16472 {
16473 "children" : [
16474 {
16475 "children" : [
16476 {
16477 "info" : {
16478 "DELETE" : {
6bd70b95 16479 "allowtoken" : 1,
9fda36b0
DM
16480 "description" : "Delete a user.",
16481 "method" : "DELETE",
16482 "name" : "delete",
16483 "parameters" : {
16484 "additionalProperties" : 0,
16485 "properties" : {
16486 "userid" : {
16487 "description" : "User ID",
16488 "format" : "pmg-userid",
16489 "maxLength" : 64,
16490 "minLength" : 4,
16491 "type" : "string",
16492 "typetext" : "<string>"
16493 }
16494 }
16495 },
16496 "protected" : 1,
16497 "proxyto" : "master",
16498 "returns" : {
16499 "type" : "null"
16500 }
16501 },
16502 "GET" : {
6bd70b95 16503 "allowtoken" : 1,
9fda36b0
DM
16504 "description" : "Read User data.",
16505 "method" : "GET",
16506 "name" : "read",
16507 "parameters" : {
16508 "additionalProperties" : 0,
16509 "properties" : {
16510 "userid" : {
16511 "description" : "User ID",
16512 "format" : "pmg-userid",
16513 "maxLength" : 64,
16514 "minLength" : 4,
16515 "type" : "string",
16516 "typetext" : "<string>"
16517 }
16518 }
16519 },
4a46ced6
DM
16520 "permissions" : {
16521 "check" : [
16522 "admin",
16523 "qmanager",
16524 "audit"
16525 ]
16526 },
9fda36b0
DM
16527 "protected" : 1,
16528 "proxyto" : "master",
16529 "returns" : {
9fda36b0
DM
16530 "type" : "object"
16531 }
16532 },
e0e71e6a
TL
16533 "PUT" : {
16534 "allowtoken" : 1,
16535 "description" : "Update user data.",
16536 "method" : "PUT",
16537 "name" : "write",
16538 "parameters" : {
16539 "additionalProperties" : 0,
16540 "properties" : {
16541 "comment" : {
16542 "description" : "Comment.",
16543 "optional" : 1,
16544 "type" : "string",
16545 "typetext" : "<string>"
16546 },
16547 "crypt_pass" : {
16548 "description" : "Encrypted password (see `man crypt`)",
16549 "optional" : 1,
16550 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
16551 "type" : "string"
16552 },
16553 "delete" : {
16554 "description" : "A list of settings you want to delete.",
16555 "format" : "pve-configid-list",
16556 "maxLength" : 4096,
16557 "optional" : 1,
16558 "type" : "string",
16559 "typetext" : "<string>"
16560 },
16561 "email" : {
16562 "description" : "Users E-Mail address.",
16563 "format" : "email",
16564 "optional" : 1,
16565 "type" : "string",
16566 "typetext" : "<string>"
16567 },
16568 "enable" : {
16569 "default" : 0,
16570 "description" : "Flag to enable or disable the account.",
16571 "optional" : 1,
16572 "type" : "boolean",
16573 "typetext" : "<boolean>"
16574 },
16575 "expire" : {
16576 "default" : 0,
16577 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
16578 "minimum" : 0,
16579 "optional" : 1,
16580 "type" : "integer",
16581 "typetext" : "<integer> (0 - N)"
16582 },
16583 "firstname" : {
16584 "description" : "First name.",
16585 "maxLength" : 64,
16586 "optional" : 1,
16587 "type" : "string",
16588 "typetext" : "<string>"
16589 },
16590 "keys" : {
16591 "description" : "Keys for two factor auth (yubico).",
16592 "maxLength" : 128,
16593 "optional" : 1,
16594 "type" : "string",
16595 "typetext" : "<string>"
16596 },
16597 "lastname" : {
16598 "description" : "Last name.",
16599 "maxLength" : 64,
16600 "optional" : 1,
16601 "type" : "string",
16602 "typetext" : "<string>"
16603 },
16604 "password" : {
16605 "description" : "Password",
16606 "maxLength" : 32,
16607 "minLength" : 5,
16608 "optional" : 1,
16609 "type" : "string",
16610 "typetext" : "<string>"
16611 },
16612 "role" : {
16613 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
16614 "enum" : [
16615 "root",
16616 "admin",
16617 "helpdesk",
16618 "qmanager",
16619 "audit"
16620 ],
16621 "optional" : 1,
16622 "type" : "string"
16623 },
16624 "userid" : {
16625 "description" : "User ID",
16626 "format" : "pmg-userid",
16627 "maxLength" : 64,
16628 "minLength" : 4,
16629 "type" : "string",
16630 "typetext" : "<string>"
16631 }
16632 }
16633 },
16634 "protected" : 1,
16635 "proxyto" : "master",
16636 "returns" : {
16637 "type" : "null"
16638 }
16639 }
16640 },
16641 "leaf" : 1,
16642 "path" : "/access/users/{userid}",
16643 "text" : "{userid}"
16644 }
16645 ],
16646 "info" : {
16647 "GET" : {
16648 "allowtoken" : 1,
16649 "description" : "List users.",
16650 "method" : "GET",
16651 "name" : "index",
16652 "parameters" : {
16653 "additionalProperties" : 0
16654 },
16655 "permissions" : {
16656 "check" : [
16657 "admin",
16658 "qmanager",
16659 "audit"
16660 ]
16661 },
16662 "protected" : 1,
16663 "proxyto" : "master",
16664 "returns" : {
16665 "items" : {
16666 "properties" : {
16667 "comment" : {
16668 "optional" : 1,
16669 "type" : "string"
16670 },
16671 "enable" : {
16672 "type" : "boolean"
16673 },
16674 "role" : {
16675 "type" : "string"
16676 },
16677 "userid" : {
16678 "type" : "string"
16679 }
16680 },
16681 "type" : "object"
16682 },
16683 "links" : [
16684 {
16685 "href" : "{userid}",
16686 "rel" : "child"
16687 }
16688 ],
16689 "type" : "array"
16690 }
16691 },
16692 "POST" : {
16693 "allowtoken" : 1,
16694 "description" : "Create new user",
16695 "method" : "POST",
16696 "name" : "create",
16697 "parameters" : {
16698 "additionalProperties" : 0,
16699 "properties" : {
16700 "comment" : {
16701 "description" : "Comment.",
16702 "optional" : 1,
16703 "type" : "string",
16704 "typetext" : "<string>"
16705 },
16706 "crypt_pass" : {
16707 "description" : "Encrypted password (see `man crypt`)",
16708 "optional" : 1,
16709 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
16710 "type" : "string"
16711 },
16712 "email" : {
16713 "description" : "Users E-Mail address.",
16714 "format" : "email",
16715 "optional" : 1,
16716 "type" : "string",
16717 "typetext" : "<string>"
16718 },
16719 "enable" : {
16720 "default" : 0,
16721 "description" : "Flag to enable or disable the account.",
16722 "optional" : 1,
16723 "type" : "boolean",
16724 "typetext" : "<boolean>"
16725 },
16726 "expire" : {
16727 "default" : 0,
16728 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
16729 "minimum" : 0,
16730 "optional" : 1,
16731 "type" : "integer",
16732 "typetext" : "<integer> (0 - N)"
16733 },
16734 "firstname" : {
16735 "description" : "First name.",
16736 "maxLength" : 64,
16737 "optional" : 1,
16738 "type" : "string",
16739 "typetext" : "<string>"
16740 },
16741 "keys" : {
16742 "description" : "Keys for two factor auth (yubico).",
16743 "maxLength" : 128,
16744 "optional" : 1,
16745 "type" : "string",
16746 "typetext" : "<string>"
16747 },
16748 "lastname" : {
16749 "description" : "Last name.",
16750 "maxLength" : 64,
16751 "optional" : 1,
16752 "type" : "string",
16753 "typetext" : "<string>"
16754 },
16755 "password" : {
16756 "description" : "Password",
16757 "maxLength" : 32,
16758 "minLength" : 5,
16759 "optional" : 1,
16760 "type" : "string",
16761 "typetext" : "<string>"
16762 },
16763 "role" : {
16764 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
16765 "enum" : [
16766 "root",
16767 "admin",
16768 "helpdesk",
16769 "qmanager",
16770 "audit"
16771 ],
16772 "type" : "string"
16773 },
16774 "userid" : {
16775 "description" : "User ID",
16776 "format" : "pmg-userid",
16777 "maxLength" : 64,
16778 "minLength" : 4,
16779 "type" : "string",
16780 "typetext" : "<string>"
16781 }
16782 }
16783 },
16784 "protected" : 1,
16785 "proxyto" : "master",
16786 "returns" : {
16787 "type" : "null"
16788 }
16789 }
16790 },
16791 "leaf" : 0,
16792 "path" : "/access/users",
16793 "text" : "users"
16794 },
16795 {
16796 "children" : [
16797 {
16798 "children" : [
16799 {
16800 "info" : {
16801 "DELETE" : {
16802 "allowtoken" : 0,
16803 "description" : "Delete a TFA entry by ID.",
16804 "method" : "DELETE",
16805 "name" : "delete_tfa",
16806 "parameters" : {
16807 "additionalProperties" : 0,
16808 "properties" : {
16809 "id" : {
16810 "description" : "A TFA entry id.",
16811 "type" : "string",
16812 "typetext" : "<string>"
16813 },
16814 "password" : {
16815 "description" : "The current password.",
16816 "maxLength" : 64,
16817 "minLength" : 5,
16818 "optional" : 1,
16819 "type" : "string",
16820 "typetext" : "<string>"
16821 },
16822 "userid" : {
16823 "description" : "User ID",
16824 "format" : "pmg-userid",
16825 "maxLength" : 64,
16826 "minLength" : 4,
16827 "type" : "string",
16828 "typetext" : "<string>"
16829 }
16830 }
16831 },
16832 "permissions" : {
16833 "check" : [
16834 "admin",
16835 "qmanager",
16836 "audit"
16837 ],
16838 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
16839 },
16840 "protected" : 1,
16841 "proxyto" : "master",
16842 "returns" : {
16843 "type" : "null"
16844 }
16845 },
16846 "GET" : {
16847 "allowtoken" : 0,
16848 "description" : "Fetch a requested TFA entry if present.",
16849 "method" : "GET",
16850 "name" : "get_tfa_entry",
16851 "parameters" : {
16852 "additionalProperties" : 0,
16853 "properties" : {
16854 "id" : {
16855 "description" : "A TFA entry id.",
16856 "type" : "string",
16857 "typetext" : "<string>"
16858 },
16859 "userid" : {
16860 "description" : "User ID",
16861 "format" : "pmg-userid",
16862 "maxLength" : 64,
16863 "minLength" : 4,
16864 "type" : "string",
16865 "typetext" : "<string>"
16866 }
16867 }
16868 },
16869 "permissions" : {
16870 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
16871 "user" : "all"
16872 },
16873 "protected" : 1,
16874 "proxyto" : "master",
16875 "returns" : {
16876 "description" : "TFA Entry.",
16877 "properties" : {
16878 "created" : {
16879 "description" : "Creation time of this entry as unix epoch.",
16880 "type" : "integer"
16881 },
16882 "description" : {
16883 "description" : "User chosen description for this entry.",
16884 "type" : "string"
16885 },
16886 "enable" : {
16887 "default" : 1,
16888 "description" : "Whether this TFA entry is currently enabled.",
16889 "optional" : 1,
16890 "type" : "boolean"
16891 },
16892 "id" : {
16893 "description" : "The id used to reference this entry.",
16894 "type" : "string"
16895 },
16896 "type" : {
16897 "description" : "TFA Entry Type.",
16898 "enum" : [
16899 "totp",
16900 "u2f",
16901 "webauthn",
16902 "recovery"
16903 ],
16904 "type" : "string"
16905 }
16906 },
16907 "type" : "object"
16908 }
16909 },
16910 "PUT" : {
16911 "allowtoken" : 0,
16912 "description" : "Add a TFA entry for a user.",
16913 "method" : "PUT",
16914 "name" : "update_tfa_entry",
16915 "parameters" : {
16916 "additionalProperties" : 0,
16917 "properties" : {
16918 "description" : {
16919 "description" : "A description to distinguish multiple entries from one another",
16920 "maxLength" : 255,
16921 "optional" : 1,
16922 "type" : "string",
16923 "typetext" : "<string>"
16924 },
16925 "enable" : {
16926 "description" : "Whether the entry should be enabled for login.",
16927 "optional" : 1,
16928 "type" : "boolean",
16929 "typetext" : "<boolean>"
16930 },
16931 "id" : {
16932 "description" : "A TFA entry id.",
16933 "type" : "string",
16934 "typetext" : "<string>"
16935 },
16936 "password" : {
16937 "description" : "The current password.",
16938 "maxLength" : 64,
16939 "minLength" : 5,
16940 "optional" : 1,
16941 "type" : "string",
16942 "typetext" : "<string>"
16943 },
16944 "userid" : {
16945 "description" : "User ID",
16946 "format" : "pmg-userid",
16947 "maxLength" : 64,
16948 "minLength" : 4,
16949 "type" : "string",
16950 "typetext" : "<string>"
16951 }
16952 }
16953 },
16954 "permissions" : {
16955 "check" : [
16956 "admin",
16957 "qmanager",
16958 "audit"
16959 ],
16960 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
16961 },
16962 "protected" : 1,
16963 "proxyto" : "master",
16964 "returns" : {
16965 "type" : "null"
16966 }
16967 }
16968 },
16969 "leaf" : 1,
16970 "path" : "/access/tfa/{userid}/{id}",
16971 "text" : "{id}"
16972 }
16973 ],
16974 "info" : {
16975 "GET" : {
16976 "allowtoken" : 0,
16977 "description" : "List TFA configurations of users.",
16978 "method" : "GET",
16979 "name" : "list_user_tfa",
16980 "parameters" : {
16981 "additionalProperties" : 0,
16982 "properties" : {
16983 "userid" : {
16984 "description" : "User ID",
16985 "format" : "pmg-userid",
16986 "maxLength" : 64,
16987 "minLength" : 4,
16988 "type" : "string",
16989 "typetext" : "<string>"
16990 }
16991 }
16992 },
16993 "permissions" : {
16994 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
16995 "user" : "all"
16996 },
16997 "protected" : 1,
16998 "proxyto" : "master",
16999 "returns" : {
17000 "description" : "A list of the user's TFA entries.",
17001 "items" : {
17002 "description" : "TFA Entry.",
17003 "properties" : {
17004 "created" : {
17005 "description" : "Creation time of this entry as unix epoch.",
17006 "type" : "integer"
17007 },
17008 "description" : {
17009 "description" : "User chosen description for this entry.",
17010 "type" : "string"
17011 },
17012 "enable" : {
17013 "default" : 1,
17014 "description" : "Whether this TFA entry is currently enabled.",
17015 "optional" : 1,
17016 "type" : "boolean"
17017 },
17018 "id" : {
17019 "description" : "The id used to reference this entry.",
17020 "type" : "string"
17021 },
17022 "type" : {
17023 "description" : "TFA Entry Type.",
17024 "enum" : [
17025 "totp",
17026 "u2f",
17027 "webauthn",
17028 "recovery"
17029 ],
17030 "type" : "string"
17031 }
17032 },
17033 "type" : "object"
17034 },
17035 "type" : "array"
17036 }
17037 },
17038 "POST" : {
17039 "allowtoken" : 0,
17040 "description" : "Add a TFA entry for a user.",
17041 "method" : "POST",
17042 "name" : "add_tfa_entry",
9fda36b0
DM
17043 "parameters" : {
17044 "additionalProperties" : 0,
17045 "properties" : {
e0e71e6a
TL
17046 "challenge" : {
17047 "description" : "When responding to a u2f challenge: the original challenge string",
9fda36b0
DM
17048 "optional" : 1,
17049 "type" : "string",
17050 "typetext" : "<string>"
17051 },
e0e71e6a
TL
17052 "description" : {
17053 "description" : "A description to distinguish multiple entries from one another",
17054 "maxLength" : 255,
9fda36b0
DM
17055 "optional" : 1,
17056 "type" : "string",
17057 "typetext" : "<string>"
17058 },
e0e71e6a
TL
17059 "password" : {
17060 "description" : "The current password.",
9fda36b0 17061 "maxLength" : 64,
e0e71e6a 17062 "minLength" : 5,
9fda36b0
DM
17063 "optional" : 1,
17064 "type" : "string",
17065 "typetext" : "<string>"
17066 },
e0e71e6a
TL
17067 "totp" : {
17068 "description" : "A totp URI.",
9fda36b0
DM
17069 "optional" : 1,
17070 "type" : "string",
17071 "typetext" : "<string>"
17072 },
e0e71e6a
TL
17073 "type" : {
17074 "description" : "TFA Entry Type.",
9fda36b0 17075 "enum" : [
e0e71e6a
TL
17076 "totp",
17077 "u2f",
17078 "webauthn",
17079 "recovery"
9fda36b0 17080 ],
9fda36b0
DM
17081 "type" : "string"
17082 },
17083 "userid" : {
17084 "description" : "User ID",
17085 "format" : "pmg-userid",
17086 "maxLength" : 64,
17087 "minLength" : 4,
17088 "type" : "string",
17089 "typetext" : "<string>"
e0e71e6a
TL
17090 },
17091 "value" : {
17092 "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
17093 "optional" : 1,
17094 "type" : "string",
17095 "typetext" : "<string>"
9fda36b0
DM
17096 }
17097 }
17098 },
e0e71e6a
TL
17099 "permissions" : {
17100 "check" : [
17101 "admin",
17102 "qmanager",
17103 "audit"
17104 ],
17105 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17106 },
9fda36b0
DM
17107 "protected" : 1,
17108 "proxyto" : "master",
17109 "returns" : {
e0e71e6a
TL
17110 "properties" : {
17111 "challenge" : {
17112 "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
17113 "optional" : 1,
17114 "type" : "string"
17115 },
17116 "id" : {
17117 "description" : "The id of a newly added TFA entry.",
17118 "type" : "string"
17119 },
17120 "recovery" : {
17121 "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
17122 "items" : {
17123 "description" : "A recovery entry.",
17124 "type" : "string"
17125 },
17126 "optional" : 1,
17127 "type" : "array"
17128 }
17129 },
17130 "type" : "object"
9fda36b0
DM
17131 }
17132 }
17133 },
e0e71e6a
TL
17134 "leaf" : 0,
17135 "path" : "/access/tfa/{userid}",
9fda36b0
DM
17136 "text" : "{userid}"
17137 }
17138 ],
17139 "info" : {
17140 "GET" : {
e0e71e6a
TL
17141 "allowtoken" : 0,
17142 "description" : "List TFA configurations of users.",
9fda36b0 17143 "method" : "GET",
e0e71e6a 17144 "name" : "list_tfa",
9fda36b0
DM
17145 "parameters" : {
17146 "additionalProperties" : 0
17147 },
17148 "permissions" : {
e0e71e6a
TL
17149 "description" : "Returns all or just the logged-in user, depending on privileges.",
17150 "user" : "all"
9fda36b0
DM
17151 },
17152 "protected" : 1,
17153 "proxyto" : "master",
17154 "returns" : {
e0e71e6a 17155 "description" : "The list tuples of user and TFA entries.",
9fda36b0
DM
17156 "items" : {
17157 "properties" : {
e0e71e6a
TL
17158 "entries" : {
17159 "items" : {
17160 "description" : "TFA Entry.",
17161 "properties" : {
17162 "created" : {
17163 "description" : "Creation time of this entry as unix epoch.",
17164 "type" : "integer"
17165 },
17166 "description" : {
17167 "description" : "User chosen description for this entry.",
17168 "type" : "string"
17169 },
17170 "enable" : {
17171 "default" : 1,
17172 "description" : "Whether this TFA entry is currently enabled.",
17173 "optional" : 1,
17174 "type" : "boolean"
17175 },
17176 "id" : {
17177 "description" : "The id used to reference this entry.",
17178 "type" : "string"
17179 },
17180 "type" : {
17181 "description" : "TFA Entry Type.",
17182 "enum" : [
17183 "totp",
17184 "u2f",
17185 "webauthn",
17186 "recovery"
17187 ],
17188 "type" : "string"
17189 }
17190 },
17191 "type" : "object"
17192 },
17193 "type" : "array"
9fda36b0
DM
17194 },
17195 "userid" : {
e0e71e6a 17196 "description" : "User this entry belongs to.",
9fda36b0
DM
17197 "type" : "string"
17198 }
17199 },
17200 "type" : "object"
17201 },
9fda36b0
DM
17202 "type" : "array"
17203 }
9fda36b0
DM
17204 }
17205 },
17206 "leaf" : 0,
e0e71e6a
TL
17207 "path" : "/access/tfa",
17208 "text" : "tfa"
9fda36b0
DM
17209 },
17210 {
17211 "info" : {
17212 "GET" : {
6bd70b95 17213 "allowtoken" : 1,
9fda36b0
DM
17214 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
17215 "method" : "GET",
17216 "name" : "get_ticket",
17217 "parameters" : {
17218 "additionalProperties" : 0
17219 },
17220 "permissions" : {
17221 "user" : "world"
17222 },
17223 "returns" : {
17224 "type" : "null"
17225 }
a55e94a6 17226 },
9fda36b0 17227 "POST" : {
6bd70b95 17228 "allowtoken" : 1,
9fda36b0
DM
17229 "description" : "Create or verify authentication ticket.",
17230 "method" : "POST",
17231 "name" : "create_ticket",
17232 "parameters" : {
17233 "additionalProperties" : 0,
17234 "properties" : {
17235 "otp" : {
17236 "description" : "One-time password for Two-factor authentication.",
17237 "optional" : 1,
17238 "type" : "string",
17239 "typetext" : "<string>"
410dc2c9 17240 },
9fda36b0
DM
17241 "password" : {
17242 "description" : "The secret password. This can also be a valid ticket.",
17243 "type" : "string",
17244 "typetext" : "<string>"
17245 },
274b47fc
DM
17246 "path" : {
17247 "description" : "Verify ticket, and check if user have access on 'path'",
17248 "maxLength" : 64,
17249 "optional" : 1,
17250 "type" : "string",
17251 "typetext" : "<string>"
17252 },
9fda36b0
DM
17253 "realm" : {
17254 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
732d76e1
DM
17255 "enum" : [
17256 "pam",
17257 "pmg",
17258 "quarantine"
17259 ],
9fda36b0
DM
17260 "maxLength" : 32,
17261 "optional" : 1,
732d76e1 17262 "type" : "string"
9fda36b0 17263 },
e0e71e6a
TL
17264 "tfa-challenge" : {
17265 "description" : "The signed TFA challenge string the user wants to respond to.",
17266 "optional" : 1,
17267 "type" : "string",
17268 "typetext" : "<string>"
17269 },
9fda36b0
DM
17270 "username" : {
17271 "description" : "User name",
17272 "maxLength" : 64,
17273 "type" : "string",
17274 "typetext" : "<string>"
17275 }
17276 }
17277 },
17278 "permissions" : {
17279 "description" : "You need to pass valid credientials.",
17280 "user" : "world"
17281 },
17282 "protected" : 1,
17283 "returns" : {
17284 "properties" : {
17285 "CSRFPreventionToken" : {
17286 "optional" : 1,
17287 "type" : "string"
17288 },
17289 "role" : {
17290 "optional" : 1,
17291 "type" : "string"
17292 },
17293 "ticket" : {
17294 "optional" : 1,
17295 "type" : "string"
17296 },
17297 "username" : {
17298 "type" : "string"
17299 }
17300 },
17301 "type" : "object"
17302 }
17303 }
17304 },
17305 "leaf" : 1,
17306 "path" : "/access/ticket",
17307 "text" : "ticket"
17308 },
17309 {
17310 "info" : {
17311 "PUT" : {
6bd70b95 17312 "allowtoken" : 1,
9fda36b0
DM
17313 "description" : "Change user password.",
17314 "method" : "PUT",
17315 "name" : "change_passsword",
17316 "parameters" : {
17317 "additionalProperties" : 0,
17318 "properties" : {
17319 "password" : {
17320 "description" : "The new password.",
17321 "maxLength" : 64,
17322 "minLength" : 5,
17323 "type" : "string",
17324 "typetext" : "<string>"
17325 },
17326 "userid" : {
17327 "description" : "User ID",
17328 "format" : "pmg-userid",
17329 "maxLength" : 64,
17330 "minLength" : 4,
17331 "type" : "string",
17332 "typetext" : "<string>"
410dc2c9
DM
17333 }
17334 }
17335 },
9fda36b0
DM
17336 "permissions" : {
17337 "description" : "Each user is allowed to change his own password. Only root can change the password of another user.",
17338 "user" : "all"
17339 },
17340 "protected" : 1,
17341 "returns" : {
17342 "type" : "null"
17343 }
17344 }
17345 },
17346 "leaf" : 1,
17347 "path" : "/access/password",
17348 "text" : "password"
17349 }
17350 ],
17351 "info" : {
17352 "GET" : {
6bd70b95 17353 "allowtoken" : 1,
9fda36b0
DM
17354 "description" : "Directory index.",
17355 "method" : "GET",
17356 "name" : "index",
17357 "parameters" : {
17358 "additionalProperties" : 0
17359 },
17360 "permissions" : {
17361 "user" : "all"
17362 },
17363 "returns" : {
17364 "items" : {
17365 "properties" : {
17366 "subdir" : {
17367 "type" : "string"
17368 }
17369 },
17370 "type" : "object"
410dc2c9 17371 },
9fda36b0
DM
17372 "links" : [
17373 {
17374 "href" : "{subdir}",
17375 "rel" : "child"
17376 }
17377 ],
17378 "type" : "array"
17379 }
17380 }
17381 },
17382 "leaf" : 0,
17383 "path" : "/access",
17384 "text" : "access"
17385 },
17386 {
17387 "children" : [
17388 {
9fda36b0 17389 "info" : {
549cfb68
TL
17390 "DELETE" : {
17391 "allowtoken" : 1,
17392 "description" : "Delete user whitelist entries.",
17393 "method" : "DELETE",
17394 "name" : "whitelist_delete_base",
17395 "parameters" : {
17396 "additionalProperties" : 0,
17397 "properties" : {
17398 "address" : {
17399 "description" : "The address, or comma-separated list of addresses, you want to remove.",
17400 "minLength" : 3,
17401 "pattern" : "",
17402 "type" : "string"
17403 },
17404 "pmail" : {
d8212759 17405 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
549cfb68
TL
17406 "maxLength" : 512,
17407 "minLength" : 3,
17408 "optional" : 1,
c5ccf1ab 17409 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
17410 "type" : "string"
17411 }
17412 }
17413 },
17414 "permissions" : {
17415 "check" : [
17416 "admin",
17417 "qmanager",
17418 "audit",
17419 "quser"
17420 ]
17421 },
17422 "protected" : 1,
17423 "returns" : {
17424 "type" : "null"
17425 }
17426 },
9fda36b0 17427 "GET" : {
6bd70b95 17428 "allowtoken" : 1,
9fda36b0
DM
17429 "description" : "Show user whitelist.",
17430 "method" : "GET",
17431 "name" : "whitelist",
17432 "parameters" : {
17433 "additionalProperties" : 0,
17434 "properties" : {
17435 "pmail" : {
d8212759 17436 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
241ac83c
TL
17437 "maxLength" : 512,
17438 "minLength" : 3,
9fda36b0 17439 "optional" : 1,
c5ccf1ab 17440 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17441 "type" : "string"
9fda36b0
DM
17442 }
17443 }
17444 },
17445 "permissions" : {
17446 "check" : [
17447 "admin",
17448 "qmanager",
17449 "audit",
17450 "quser"
17451 ]
17452 },
17453 "returns" : {
17454 "items" : {
17455 "properties" : {
17456 "address" : {
17457 "type" : "string"
410dc2c9
DM
17458 }
17459 },
9fda36b0
DM
17460 "type" : "object"
17461 },
17462 "type" : "array"
17463 }
17464 },
17465 "POST" : {
6bd70b95 17466 "allowtoken" : 1,
9fda36b0
DM
17467 "description" : "Add user whitelist entries.",
17468 "method" : "POST",
17469 "name" : "whitelist_add",
17470 "parameters" : {
17471 "additionalProperties" : 0,
17472 "properties" : {
17473 "address" : {
17474 "description" : "The address you want to add.",
9fda36b0 17475 "minLength" : 3,
241ac83c 17476 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
17477 "type" : "string"
17478 },
17479 "pmail" : {
d8212759 17480 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
241ac83c
TL
17481 "maxLength" : 512,
17482 "minLength" : 3,
9fda36b0 17483 "optional" : 1,
c5ccf1ab 17484 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17485 "type" : "string"
410dc2c9
DM
17486 }
17487 }
17488 },
9fda36b0
DM
17489 "permissions" : {
17490 "check" : [
17491 "admin",
17492 "qmanager",
17493 "audit",
17494 "quser"
17495 ]
17496 },
17497 "protected" : 1,
17498 "returns" : {
17499 "type" : "null"
17500 }
17501 }
17502 },
14ffe66b 17503 "leaf" : 1,
9fda36b0
DM
17504 "path" : "/quarantine/whitelist",
17505 "text" : "whitelist"
17506 },
17507 {
9fda36b0 17508 "info" : {
549cfb68
TL
17509 "DELETE" : {
17510 "allowtoken" : 1,
17511 "description" : "Delete user blacklist entries.",
17512 "method" : "DELETE",
17513 "name" : "blacklist_delete_base",
17514 "parameters" : {
17515 "additionalProperties" : 0,
17516 "properties" : {
17517 "address" : {
17518 "description" : "The address, or comma-separated list of addresses, you want to remove.",
17519 "minLength" : 3,
17520 "pattern" : "",
17521 "type" : "string"
17522 },
17523 "pmail" : {
d8212759 17524 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
549cfb68
TL
17525 "maxLength" : 512,
17526 "minLength" : 3,
17527 "optional" : 1,
c5ccf1ab 17528 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
17529 "type" : "string"
17530 }
17531 }
17532 },
17533 "permissions" : {
17534 "check" : [
17535 "admin",
17536 "qmanager",
17537 "audit",
17538 "quser"
17539 ]
17540 },
17541 "protected" : 1,
17542 "returns" : {
17543 "type" : "null"
17544 }
17545 },
9fda36b0 17546 "GET" : {
6bd70b95 17547 "allowtoken" : 1,
9fda36b0
DM
17548 "description" : "Show user blacklist.",
17549 "method" : "GET",
17550 "name" : "blacklist",
17551 "parameters" : {
17552 "additionalProperties" : 0,
17553 "properties" : {
17554 "pmail" : {
d8212759 17555 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
241ac83c
TL
17556 "maxLength" : 512,
17557 "minLength" : 3,
9fda36b0 17558 "optional" : 1,
c5ccf1ab 17559 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17560 "type" : "string"
9fda36b0
DM
17561 }
17562 }
17563 },
17564 "permissions" : {
17565 "check" : [
17566 "admin",
17567 "qmanager",
17568 "audit",
17569 "quser"
17570 ]
17571 },
17572 "returns" : {
17573 "items" : {
17574 "properties" : {
17575 "address" : {
17576 "type" : "string"
410dc2c9
DM
17577 }
17578 },
9fda36b0
DM
17579 "type" : "object"
17580 },
17581 "type" : "array"
17582 }
17583 },
17584 "POST" : {
6bd70b95 17585 "allowtoken" : 1,
9fda36b0
DM
17586 "description" : "Add user blacklist entries.",
17587 "method" : "POST",
17588 "name" : "blacklist_add",
17589 "parameters" : {
17590 "additionalProperties" : 0,
17591 "properties" : {
17592 "address" : {
17593 "description" : "The address you want to add.",
9fda36b0 17594 "minLength" : 3,
241ac83c 17595 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
17596 "type" : "string"
17597 },
17598 "pmail" : {
d8212759 17599 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
241ac83c
TL
17600 "maxLength" : 512,
17601 "minLength" : 3,
9fda36b0 17602 "optional" : 1,
c5ccf1ab 17603 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17604 "type" : "string"
9fda36b0
DM
17605 }
17606 }
17607 },
17608 "permissions" : {
17609 "check" : [
17610 "admin",
17611 "qmanager",
17612 "audit",
17613 "quser"
17614 ]
17615 },
17616 "protected" : 1,
17617 "returns" : {
17618 "type" : "null"
17619 }
17620 }
17621 },
14ffe66b 17622 "leaf" : 1,
9fda36b0
DM
17623 "path" : "/quarantine/blacklist",
17624 "text" : "blacklist"
17625 },
17626 {
17627 "info" : {
17628 "GET" : {
6bd70b95 17629 "allowtoken" : 1,
9fda36b0
DM
17630 "description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).",
17631 "method" : "GET",
17632 "name" : "spamusers",
17633 "parameters" : {
17634 "additionalProperties" : 0,
17635 "properties" : {
17636 "endtime" : {
17637 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17638 "minimum" : 1,
17639 "optional" : 1,
17640 "type" : "integer",
17641 "typetext" : "<integer> (1 - N)"
17642 },
f4831d94
TL
17643 "quarantine-type" : {
17644 "default" : "spam",
17645 "description" : "Query this type of quarantine for users.",
17646 "enum" : [
17647 "attachment",
17648 "virus",
17649 "spam"
17650 ],
17651 "optional" : 1,
17652 "type" : "string"
17653 },
9fda36b0
DM
17654 "starttime" : {
17655 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17656 "minimum" : 0,
17657 "optional" : 1,
17658 "type" : "integer",
17659 "typetext" : "<integer> (0 - N)"
410dc2c9 17660 }
9fda36b0
DM
17661 }
17662 },
17663 "permissions" : {
17664 "check" : [
17665 "admin",
17666 "qmanager",
17667 "audit"
17668 ]
17669 },
17670 "returns" : {
17671 "items" : {
17672 "properties" : {
17673 "mail" : {
17674 "description" : "the receiving email",
17675 "type" : "string"
17676 }
17677 },
17678 "type" : "object"
410dc2c9 17679 },
9fda36b0
DM
17680 "type" : "array"
17681 }
17682 }
17683 },
17684 "leaf" : 1,
17685 "path" : "/quarantine/spamusers",
17686 "text" : "spamusers"
17687 },
17688 {
17689 "info" : {
17690 "GET" : {
6bd70b95 17691 "allowtoken" : 1,
9fda36b0
DM
17692 "description" : "Get Spam Quarantine Status",
17693 "method" : "GET",
17694 "name" : "spamstatus",
17695 "parameters" : {
17696 "additionalProperties" : 0
17697 },
17698 "permissions" : {
17699 "check" : [
17700 "admin",
17701 "qmanager",
17702 "audit"
17703 ]
17704 },
17705 "returns" : {
17706 "properties" : {
17707 "avgbytes" : {
17708 "description" : "Average size of stored mails in bytes.",
17709 "type" : "number"
17710 },
17711 "avgspam" : {
17712 "description" : "Average spam level.",
17713 "type" : "number"
17714 },
17715 "count" : {
17716 "description" : "Number of stored mails.",
17717 "type" : "integer"
17718 },
17719 "mbytes" : {
17720 "description" : "Estimated disk space usage in MByte.",
17721 "type" : "number"
17722 }
17723 },
17724 "type" : "object"
17725 }
17726 }
17727 },
17728 "leaf" : 1,
17729 "path" : "/quarantine/spamstatus",
17730 "text" : "spamstatus"
17731 },
17732 {
17733 "info" : {
17734 "GET" : {
6bd70b95 17735 "allowtoken" : 1,
d8212759 17736 "description" : "Get a list of users with whitelist/blacklist settings.",
9fda36b0
DM
17737 "method" : "GET",
17738 "name" : "quarusers",
17739 "parameters" : {
241ac83c
TL
17740 "additionalProperties" : 0,
17741 "properties" : {
17742 "list" : {
17743 "description" : "If set, limits the result to the given list.",
17744 "enum" : [
17745 "BL",
17746 "WL"
17747 ],
17748 "optional" : 1,
17749 "type" : "string"
17750 }
17751 }
9fda36b0
DM
17752 },
17753 "permissions" : {
17754 "check" : [
17755 "admin",
17756 "qmanager",
17757 "audit"
17758 ]
17759 },
17760 "returns" : {
17761 "items" : {
17762 "properties" : {
17763 "mail" : {
17764 "description" : "the receiving email",
17765 "type" : "string"
410dc2c9
DM
17766 }
17767 },
9fda36b0
DM
17768 "type" : "object"
17769 },
17770 "type" : "array"
17771 }
17772 }
17773 },
17774 "leaf" : 1,
17775 "path" : "/quarantine/quarusers",
17776 "text" : "quarusers"
17777 },
17778 {
17779 "info" : {
17780 "GET" : {
6bd70b95 17781 "allowtoken" : 1,
9fda36b0
DM
17782 "description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.",
17783 "method" : "GET",
17784 "name" : "spam",
17785 "parameters" : {
17786 "additionalProperties" : 0,
17787 "properties" : {
17788 "endtime" : {
17789 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17790 "minimum" : 1,
17791 "optional" : 1,
17792 "type" : "integer",
17793 "typetext" : "<integer> (1 - N)"
17794 },
17795 "pmail" : {
d8212759 17796 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
241ac83c
TL
17797 "maxLength" : 512,
17798 "minLength" : 3,
9fda36b0 17799 "optional" : 1,
c5ccf1ab 17800 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17801 "type" : "string"
9fda36b0
DM
17802 },
17803 "starttime" : {
17804 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17805 "minimum" : 0,
17806 "optional" : 1,
17807 "type" : "integer",
17808 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
17809 }
17810 }
17811 },
9fda36b0
DM
17812 "permissions" : {
17813 "check" : [
17814 "admin",
17815 "qmanager",
17816 "audit",
17817 "quser"
17818 ]
17819 },
17820 "returns" : {
17821 "items" : {
17822 "properties" : {
17823 "bytes" : {
17824 "description" : "Size of raw email.",
17825 "type" : "integer"
17826 },
17827 "envelope_sender" : {
17828 "description" : "SMTP envelope sender.",
17829 "type" : "string"
17830 },
17831 "from" : {
17832 "description" : "Header 'From' field.",
17833 "type" : "string"
17834 },
17835 "id" : {
17836 "description" : "Unique ID",
17837 "type" : "string"
17838 },
17839 "receiver" : {
17840 "description" : "Receiver email address",
17841 "type" : "string"
17842 },
17843 "sender" : {
17844 "description" : "Header 'Sender' field.",
17845 "optional" : 1,
17846 "type" : "string"
17847 },
17848 "spamlevel" : {
17849 "description" : "Spam score.",
17850 "type" : "number"
17851 },
17852 "subject" : {
17853 "description" : "Header 'Subject' field.",
17854 "type" : "string"
17855 },
17856 "time" : {
17857 "description" : "Receive time stamp",
17858 "type" : "integer"
410dc2c9
DM
17859 }
17860 },
9fda36b0 17861 "type" : "object"
410dc2c9 17862 },
9fda36b0
DM
17863 "type" : "array"
17864 }
17865 }
17866 },
17867 "leaf" : 1,
17868 "path" : "/quarantine/spam",
17869 "text" : "spam"
17870 },
17871 {
17872 "info" : {
17873 "GET" : {
6bd70b95 17874 "allowtoken" : 1,
9fda36b0
DM
17875 "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
17876 "method" : "GET",
17877 "name" : "virus",
17878 "parameters" : {
17879 "additionalProperties" : 0,
17880 "properties" : {
17881 "endtime" : {
17882 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17883 "minimum" : 1,
17884 "optional" : 1,
17885 "type" : "integer",
17886 "typetext" : "<integer> (1 - N)"
410dc2c9 17887 },
f4831d94
TL
17888 "pmail" : {
17889 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
17890 "maxLength" : 512,
17891 "minLength" : 3,
17892 "optional" : 1,
17893 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
17894 "type" : "string"
17895 },
9fda36b0
DM
17896 "starttime" : {
17897 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17898 "minimum" : 0,
17899 "optional" : 1,
17900 "type" : "integer",
17901 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
17902 }
17903 }
17904 },
9fda36b0
DM
17905 "permissions" : {
17906 "check" : [
17907 "admin",
17908 "qmanager",
17909 "audit"
17910 ]
17911 },
17912 "returns" : {
17913 "items" : {
17914 "properties" : {
17915 "bytes" : {
17916 "description" : "Size of raw email.",
17917 "type" : "integer"
17918 },
17919 "envelope_sender" : {
17920 "description" : "SMTP envelope sender.",
17921 "type" : "string"
17922 },
17923 "from" : {
17924 "description" : "Header 'From' field.",
17925 "type" : "string"
17926 },
17927 "id" : {
17928 "description" : "Unique ID",
17929 "type" : "string"
17930 },
17931 "receiver" : {
17932 "description" : "Receiver email address",
17933 "type" : "string"
17934 },
17935 "sender" : {
17936 "description" : "Header 'Sender' field.",
17937 "optional" : 1,
17938 "type" : "string"
17939 },
17940 "subject" : {
17941 "description" : "Header 'Subject' field.",
17942 "type" : "string"
17943 },
17944 "time" : {
17945 "description" : "Receive time stamp",
17946 "type" : "integer"
17947 },
17948 "virusname" : {
17949 "description" : "Virus name.",
17950 "type" : "string"
d7cd791b
DM
17951 }
17952 },
9fda36b0
DM
17953 "type" : "object"
17954 },
17955 "type" : "array"
17956 }
17957 }
17958 },
17959 "leaf" : 1,
17960 "path" : "/quarantine/virus",
17961 "text" : "virus"
17962 },
d210277a
TL
17963 {
17964 "info" : {
17965 "GET" : {
6bd70b95 17966 "allowtoken" : 1,
d210277a
TL
17967 "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).",
17968 "method" : "GET",
17969 "name" : "attachment",
17970 "parameters" : {
17971 "additionalProperties" : 0,
17972 "properties" : {
17973 "endtime" : {
17974 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17975 "minimum" : 1,
17976 "optional" : 1,
17977 "type" : "integer",
17978 "typetext" : "<integer> (1 - N)"
17979 },
f4831d94
TL
17980 "pmail" : {
17981 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
17982 "maxLength" : 512,
17983 "minLength" : 3,
17984 "optional" : 1,
17985 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
17986 "type" : "string"
17987 },
d210277a
TL
17988 "starttime" : {
17989 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17990 "minimum" : 0,
17991 "optional" : 1,
17992 "type" : "integer",
17993 "typetext" : "<integer> (0 - N)"
17994 }
17995 }
17996 },
17997 "permissions" : {
17998 "check" : [
17999 "admin",
18000 "qmanager",
18001 "audit"
18002 ]
18003 },
18004 "returns" : {
18005 "items" : {
18006 "properties" : {
18007 "bytes" : {
18008 "description" : "Size of raw email.",
18009 "type" : "integer"
18010 },
18011 "envelope_sender" : {
18012 "description" : "SMTP envelope sender.",
18013 "type" : "string"
18014 },
18015 "from" : {
18016 "description" : "Header 'From' field.",
18017 "type" : "string"
18018 },
18019 "id" : {
18020 "description" : "Unique ID",
18021 "type" : "string"
18022 },
18023 "receiver" : {
18024 "description" : "Receiver email address",
18025 "type" : "string"
18026 },
18027 "sender" : {
18028 "description" : "Header 'Sender' field.",
18029 "optional" : 1,
18030 "type" : "string"
18031 },
18032 "subject" : {
18033 "description" : "Header 'Subject' field.",
18034 "type" : "string"
18035 },
18036 "time" : {
18037 "description" : "Receive time stamp",
18038 "type" : "integer"
18039 }
18040 },
18041 "type" : "object"
18042 },
18043 "type" : "array"
18044 }
18045 }
18046 },
18047 "leaf" : 1,
18048 "path" : "/quarantine/attachment",
18049 "text" : "attachment"
18050 },
9fda36b0
DM
18051 {
18052 "info" : {
18053 "GET" : {
6bd70b95 18054 "allowtoken" : 1,
9fda36b0
DM
18055 "description" : "Get Virus Quarantine Status",
18056 "method" : "GET",
18057 "name" : "virusstatus",
18058 "parameters" : {
18059 "additionalProperties" : 0
18060 },
18061 "permissions" : {
18062 "check" : [
18063 "admin",
18064 "qmanager",
18065 "audit"
18066 ]
18067 },
18068 "returns" : {
18069 "properties" : {
18070 "avgbytes" : {
18071 "description" : "Average size of stored mails in bytes.",
18072 "type" : "number"
18073 },
18074 "count" : {
18075 "description" : "Number of stored mails.",
18076 "type" : "integer"
18077 },
18078 "mbytes" : {
18079 "description" : "Estimated disk space usage in MByte.",
18080 "type" : "number"
d7cd791b 18081 }
9fda36b0
DM
18082 },
18083 "type" : "object"
18084 }
d7cd791b 18085 }
9fda36b0
DM
18086 },
18087 "leaf" : 1,
18088 "path" : "/quarantine/virusstatus",
18089 "text" : "virusstatus"
18090 },
18091 {
d7cd791b
DM
18092 "info" : {
18093 "GET" : {
6bd70b95 18094 "allowtoken" : 1,
9fda36b0 18095 "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 18096 "method" : "GET",
9fda36b0 18097 "name" : "content",
d7cd791b
DM
18098 "parameters" : {
18099 "additionalProperties" : 0,
18100 "properties" : {
9fda36b0
DM
18101 "id" : {
18102 "description" : "Unique ID",
274b47fc
DM
18103 "maxLength" : 60,
18104 "pattern" : "C\\d+R\\d+T\\d+",
9fda36b0
DM
18105 "type" : "string"
18106 },
18107 "raw" : {
18108 "default" : 0,
241ac83c 18109 "description" : "Display 'raw' eml data. Deactivates size limit.",
9fda36b0
DM
18110 "optional" : 1,
18111 "type" : "boolean",
18112 "typetext" : "<boolean>"
d7cd791b
DM
18113 }
18114 }
18115 },
18116 "permissions" : {
9fda36b0
DM
18117 "check" : [
18118 "admin",
18119 "qmanager",
18120 "audit",
18121 "quser"
18122 ]
d7cd791b
DM
18123 },
18124 "returns" : {
9fda36b0
DM
18125 "properties" : {
18126 "bytes" : {
18127 "description" : "Size of raw email.",
18128 "type" : "integer"
18129 },
18130 "content" : {
18131 "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The 'htmlmail' formatter displays the whole email.",
18132 "type" : "string"
18133 },
18134 "envelope_sender" : {
18135 "description" : "SMTP envelope sender.",
18136 "type" : "string"
18137 },
18138 "from" : {
18139 "description" : "Header 'From' field.",
18140 "type" : "string"
18141 },
18142 "header" : {
18143 "description" : "Raw email header data.",
18144 "type" : "string"
18145 },
18146 "id" : {
18147 "description" : "Unique ID",
18148 "type" : "string"
18149 },
18150 "receiver" : {
18151 "description" : "Receiver email address",
18152 "type" : "string"
18153 },
18154 "sender" : {
18155 "description" : "Header 'Sender' field.",
18156 "optional" : 1,
18157 "type" : "string"
18158 },
18159 "spaminfo" : {
18160 "description" : "Information about matched spam tests (name, score, desc, url).",
18161 "type" : "array"
18162 },
18163 "spamlevel" : {
18164 "description" : "Spam score.",
18165 "type" : "number"
18166 },
18167 "subject" : {
18168 "description" : "Header 'Subject' field.",
18169 "type" : "string"
18170 },
18171 "time" : {
18172 "description" : "Receive time stamp",
18173 "type" : "integer"
18174 }
d7cd791b 18175 },
9fda36b0
DM
18176 "type" : "object"
18177 }
18178 },
18179 "POST" : {
6bd70b95 18180 "allowtoken" : 1,
9fda36b0
DM
18181 "description" : "Execute quarantine actions.",
18182 "method" : "POST",
18183 "name" : "action",
18184 "parameters" : {
18185 "additionalProperties" : 0,
18186 "properties" : {
18187 "action" : {
18188 "description" : "Action - specify what you want to do with the mail.",
18189 "enum" : [
18190 "whitelist",
18191 "blacklist",
18192 "deliver",
18193 "delete"
18194 ],
18195 "type" : "string"
18196 },
18197 "id" : {
d8212759 18198 "description" : "Unique IDs, separate with ;",
445686c9 18199 "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
9fda36b0 18200 "type" : "string"
410dc2c9 18201 }
9fda36b0
DM
18202 }
18203 },
18204 "permissions" : {
18205 "check" : [
18206 "admin",
18207 "qmanager",
18208 "quser"
18209 ]
18210 },
18211 "protected" : 1,
18212 "returns" : {
18213 "type" : "null"
410dc2c9
DM
18214 }
18215 }
18216 },
9fda36b0
DM
18217 "leaf" : 1,
18218 "path" : "/quarantine/content",
18219 "text" : "content"
d210277a
TL
18220 },
18221 {
18222 "info" : {
18223 "GET" : {
6bd70b95 18224 "allowtoken" : 1,
d210277a
TL
18225 "description" : "Get Attachments for E-Mail in Quarantine.",
18226 "method" : "GET",
18227 "name" : "listattachments",
18228 "parameters" : {
18229 "additionalProperties" : 0,
18230 "properties" : {
18231 "id" : {
18232 "description" : "Unique ID",
18233 "maxLength" : 60,
18234 "pattern" : "C\\d+R\\d+T\\d+",
18235 "type" : "string"
18236 }
18237 }
18238 },
18239 "permissions" : {
18240 "check" : [
18241 "admin",
18242 "qmanager",
f4831d94
TL
18243 "audit",
18244 "quser"
d210277a
TL
18245 ]
18246 },
18247 "returns" : {
18248 "items" : {
18249 "properties" : {
18250 "content-type" : {
18251 "description" : "Raw email header data.",
18252 "type" : "string"
18253 },
18254 "id" : {
18255 "description" : "Attachment ID",
18256 "type" : "integer"
18257 },
18258 "name" : {
18259 "description" : "Raw email header data.",
18260 "type" : "string"
18261 },
18262 "size" : {
18263 "description" : "Size of raw attachment in bytes.",
18264 "type" : "integer"
18265 }
18266 },
18267 "type" : "object"
18268 },
18269 "type" : "array"
18270 }
18271 }
18272 },
18273 "leaf" : 1,
18274 "path" : "/quarantine/listattachments",
18275 "text" : "listattachments"
18276 },
18277 {
18278 "info" : {
18279 "GET" : {
6bd70b95 18280 "allowtoken" : 1,
d210277a
TL
18281 "description" : "Download E-Mail or Attachment from Quarantine.",
18282 "download" : 1,
18283 "method" : "GET",
18284 "name" : "download",
18285 "parameters" : {
18286 "additionalProperties" : 0,
18287 "properties" : {
18288 "attachmentid" : {
18289 "description" : "The Attachment ID for the mail.",
18290 "optional" : 1,
18291 "type" : "integer",
18292 "typetext" : "<integer>"
18293 },
18294 "mailid" : {
18295 "description" : "Unique ID",
18296 "maxLength" : 60,
18297 "pattern" : "C\\d+R\\d+T\\d+",
18298 "type" : "string"
18299 }
18300 }
18301 },
18302 "permissions" : {
18303 "check" : [
18304 "admin",
18305 "qmanager",
18306 "audit",
18307 "quser"
18308 ]
18309 },
18310 "returns" : {
18311 "type" : "object"
18312 }
18313 }
18314 },
18315 "leaf" : 1,
18316 "path" : "/quarantine/download",
18317 "text" : "download"
ab2b846b
TL
18318 },
18319 {
18320 "info" : {
18321 "POST" : {
18322 "allowtoken" : 1,
18323 "description" : "Send Quarantine link to given e-mail.",
18324 "method" : "POST",
18325 "name" : "sendlink",
18326 "parameters" : {
18327 "additionalProperties" : 0,
18328 "properties" : {
18329 "mail" : {
18330 "description" : "Email Address (allow most characters).",
18331 "maxLength" : 512,
18332 "minLength" : 3,
c5ccf1ab 18333 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
18334 "type" : "string"
18335 }
18336 }
18337 },
18338 "permissions" : {
18339 "user" : "world"
18340 },
18341 "protected" : 1,
18342 "returns" : {
18343 "type" : "null"
18344 }
18345 }
18346 },
18347 "leaf" : 1,
18348 "path" : "/quarantine/sendlink",
18349 "text" : "sendlink"
410dc2c9
DM
18350 }
18351 ],
18352 "info" : {
18353 "GET" : {
6bd70b95 18354 "allowtoken" : 1,
9fda36b0 18355 "description" : "Directory index.",
410dc2c9
DM
18356 "method" : "GET",
18357 "name" : "index",
18358 "parameters" : {
18359 "additionalProperties" : 0
18360 },
18361 "permissions" : {
18362 "user" : "all"
18363 },
18364 "returns" : {
18365 "items" : {
18366 "properties" : {},
18367 "type" : "object"
18368 },
18369 "links" : [
18370 {
9fda36b0 18371 "href" : "{name}",
410dc2c9
DM
18372 "rel" : "child"
18373 }
18374 ],
18375 "type" : "array"
18376 }
18377 }
18378 },
18379 "leaf" : 0,
9fda36b0
DM
18380 "path" : "/quarantine",
18381 "text" : "quarantine"
410dc2c9
DM
18382 },
18383 {
18384 "children" : [
a55e94a6 18385 {
a55e94a6
DM
18386 "info" : {
18387 "GET" : {
6bd70b95 18388 "allowtoken" : 1,
9fda36b0 18389 "description" : "Contact Address Statistics.",
a55e94a6 18390 "method" : "GET",
9fda36b0 18391 "name" : "contact",
a55e94a6
DM
18392 "parameters" : {
18393 "additionalProperties" : 0,
18394 "properties" : {
9fda36b0
DM
18395 "day" : {
18396 "description" : "Day of month. Get statistics for a single day.",
18397 "maximum" : 31,
18398 "minimum" : 1,
a55e94a6
DM
18399 "optional" : 1,
18400 "type" : "integer",
9fda36b0 18401 "typetext" : "<integer> (1 - 31)"
a55e94a6 18402 },
9fda36b0
DM
18403 "endtime" : {
18404 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18405 "minimum" : 1,
410dc2c9 18406 "optional" : 1,
9fda36b0
DM
18407 "type" : "integer",
18408 "typetext" : "<integer> (1 - N)"
410dc2c9 18409 },
9fda36b0
DM
18410 "filter" : {
18411 "description" : "Contact address filter.",
18412 "maxLength" : 512,
18413 "optional" : 1,
410dc2c9
DM
18414 "type" : "string",
18415 "typetext" : "<string>"
18416 },
9fda36b0
DM
18417 "month" : {
18418 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18419 "maximum" : 12,
18420 "minimum" : 1,
410dc2c9 18421 "optional" : 1,
9fda36b0
DM
18422 "type" : "integer",
18423 "typetext" : "<integer> (1 - 12)"
410dc2c9 18424 },
9fda36b0
DM
18425 "orderby" : {
18426 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18427 "maxLength" : 4096,
18428 "optional" : 1,
410dc2c9
DM
18429 "type" : "string",
18430 "typetext" : "<string>"
9fda36b0
DM
18431 },
18432 "starttime" : {
18433 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18434 "minimum" : 0,
18435 "optional" : 1,
18436 "type" : "integer",
18437 "typetext" : "<integer> (0 - N)"
18438 },
18439 "year" : {
18440 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18441 "maximum" : 3000,
18442 "minimum" : 1900,
18443 "optional" : 1,
18444 "type" : "integer",
18445 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
18446 }
18447 }
18448 },
18449 "permissions" : {
9fda36b0
DM
18450 "check" : [
18451 "admin",
18452 "qmanager",
18453 "audit"
18454 ]
410dc2c9 18455 },
410dc2c9 18456 "returns" : {
9fda36b0
DM
18457 "items" : {
18458 "properties" : {
18459 "bytes" : {
18460 "description" : "Mail traffic (Bytes).",
18461 "type" : "number"
18462 },
18463 "contact" : {
18464 "description" : "Contact email.",
18465 "type" : "string"
18466 },
18467 "count" : {
18468 "description" : "Mail count.",
18469 "optional" : 1,
18470 "type" : "number"
18471 },
18472 "viruscount" : {
18473 "description" : "Number of sent virus mails.",
18474 "optional" : 1,
18475 "type" : "number"
18476 }
410dc2c9 18477 },
9fda36b0 18478 "type" : "object"
410dc2c9 18479 },
9fda36b0
DM
18480 "links" : [
18481 {
18482 "href" : "{contact}",
18483 "rel" : "child"
18484 }
18485 ],
18486 "type" : "array"
410dc2c9
DM
18487 }
18488 }
18489 },
14ffe66b 18490 "leaf" : 1,
9fda36b0
DM
18491 "path" : "/statistics/contact",
18492 "text" : "contact"
410dc2c9 18493 },
c5ccf1ab
TL
18494 {
18495 "info" : {
18496 "GET" : {
18497 "allowtoken" : 1,
18498 "description" : "Detailed Statistics.",
18499 "method" : "GET",
18500 "name" : "detailstats",
18501 "parameters" : {
18502 "additionalProperties" : 0,
18503 "properties" : {
18504 "address" : {
18505 "description" : "Email address.",
18506 "maxLength" : 512,
18507 "minLength" : 3,
18508 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18509 "type" : "string"
18510 },
18511 "day" : {
18512 "description" : "Day of month. Get statistics for a single day.",
18513 "maximum" : 31,
18514 "minimum" : 1,
18515 "optional" : 1,
18516 "type" : "integer",
18517 "typetext" : "<integer> (1 - 31)"
18518 },
18519 "endtime" : {
18520 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18521 "minimum" : 1,
18522 "optional" : 1,
18523 "type" : "integer",
18524 "typetext" : "<integer> (1 - N)"
18525 },
18526 "filter" : {
18527 "description" : "Address filter.",
18528 "maxLength" : 512,
18529 "optional" : 1,
18530 "type" : "string",
18531 "typetext" : "<string>"
18532 },
18533 "month" : {
18534 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18535 "maximum" : 12,
18536 "minimum" : 1,
18537 "optional" : 1,
18538 "type" : "integer",
18539 "typetext" : "<integer> (1 - 12)"
18540 },
18541 "orderby" : {
18542 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18543 "maxLength" : 4096,
18544 "optional" : 1,
18545 "type" : "string",
18546 "typetext" : "<string>"
18547 },
18548 "starttime" : {
18549 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18550 "minimum" : 0,
18551 "optional" : 1,
18552 "type" : "integer",
18553 "typetext" : "<integer> (0 - N)"
18554 },
18555 "type" : {
18556 "description" : "Type of statistics",
18557 "enum" : [
18558 "contact",
18559 "sender",
18560 "receiver"
18561 ],
18562 "type" : "string"
18563 },
18564 "year" : {
18565 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18566 "maximum" : 3000,
18567 "minimum" : 1900,
18568 "optional" : 1,
18569 "type" : "integer",
18570 "typetext" : "<integer> (1900 - 3000)"
18571 }
18572 }
18573 },
18574 "permissions" : {
18575 "check" : [
18576 "admin",
18577 "qmanager",
18578 "audit"
18579 ]
18580 },
18581 "returns" : {
18582 "items" : {
18583 "properties" : {
18584 "blocked" : {
18585 "description" : "Mail was blocked.",
18586 "type" : "boolean"
18587 },
18588 "bytes" : {
18589 "description" : "Mail traffic (Bytes).",
18590 "type" : "number"
18591 },
18592 "receiver" : {
18593 "description" : "Receiver email. (for sender statistics)",
18594 "optional" : 1,
18595 "type" : "string"
18596 },
18597 "sender" : {
18598 "description" : "Sender email. (for contact and receiver statistics)",
18599 "optional" : 1,
18600 "type" : "string"
18601 },
18602 "spamlevel" : {
18603 "description" : "Spam score.",
18604 "type" : "number"
18605 },
18606 "time" : {
18607 "description" : "Receive time stamp",
18608 "type" : "integer"
18609 },
18610 "virusinfo" : {
18611 "description" : "Virus name.",
18612 "optional" : 1,
18613 "type" : "string"
18614 }
18615 },
18616 "type" : "object"
18617 },
18618 "type" : "array"
18619 }
18620 }
18621 },
18622 "leaf" : 1,
18623 "path" : "/statistics/detail",
18624 "text" : "detail"
18625 },
410dc2c9
DM
18626 {
18627 "info" : {
9fda36b0 18628 "GET" : {
6bd70b95 18629 "allowtoken" : 1,
9fda36b0
DM
18630 "description" : "Sender Address Statistics.",
18631 "method" : "GET",
18632 "name" : "sender",
410dc2c9
DM
18633 "parameters" : {
18634 "additionalProperties" : 0,
18635 "properties" : {
9fda36b0
DM
18636 "day" : {
18637 "description" : "Day of month. Get statistics for a single day.",
18638 "maximum" : 31,
18639 "minimum" : 1,
18640 "optional" : 1,
18641 "type" : "integer",
18642 "typetext" : "<integer> (1 - 31)"
18643 },
18644 "endtime" : {
18645 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18646 "minimum" : 1,
18647 "optional" : 1,
18648 "type" : "integer",
18649 "typetext" : "<integer> (1 - N)"
18650 },
18651 "filter" : {
18652 "description" : "Sender address filter.",
18653 "maxLength" : 512,
18654 "optional" : 1,
410dc2c9
DM
18655 "type" : "string",
18656 "typetext" : "<string>"
18657 },
9fda36b0
DM
18658 "month" : {
18659 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18660 "maximum" : 12,
18661 "minimum" : 1,
18662 "optional" : 1,
18663 "type" : "integer",
18664 "typetext" : "<integer> (1 - 12)"
18665 },
18666 "orderby" : {
18667 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18668 "maxLength" : 4096,
18669 "optional" : 1,
410dc2c9
DM
18670 "type" : "string",
18671 "typetext" : "<string>"
9fda36b0
DM
18672 },
18673 "starttime" : {
18674 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18675 "minimum" : 0,
18676 "optional" : 1,
18677 "type" : "integer",
18678 "typetext" : "<integer> (0 - N)"
18679 },
18680 "year" : {
18681 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18682 "maximum" : 3000,
18683 "minimum" : 1900,
18684 "optional" : 1,
18685 "type" : "integer",
18686 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
18687 }
18688 }
18689 },
a55e94a6 18690 "permissions" : {
9fda36b0
DM
18691 "check" : [
18692 "admin",
18693 "qmanager",
18694 "audit"
18695 ]
a55e94a6 18696 },
410dc2c9 18697 "returns" : {
9fda36b0
DM
18698 "items" : {
18699 "properties" : {
18700 "bytes" : {
18701 "description" : "Mail traffic (Bytes).",
18702 "type" : "number"
18703 },
18704 "count" : {
18705 "description" : "Mail count.",
18706 "optional" : 1,
18707 "type" : "number"
18708 },
18709 "sender" : {
18710 "description" : "Sender email.",
18711 "type" : "string"
18712 },
18713 "viruscount" : {
18714 "description" : "Number of sent virus mails.",
18715 "optional" : 1,
18716 "type" : "number"
18717 }
18718 },
18719 "type" : "object"
18720 },
18721 "links" : [
18722 {
18723 "href" : "{sender}",
18724 "rel" : "child"
18725 }
18726 ],
18727 "type" : "array"
410dc2c9 18728 }
9fda36b0
DM
18729 }
18730 },
14ffe66b 18731 "leaf" : 1,
9fda36b0
DM
18732 "path" : "/statistics/sender",
18733 "text" : "sender"
18734 },
d7cd791b 18735 {
d7cd791b
DM
18736 "info" : {
18737 "GET" : {
6bd70b95 18738 "allowtoken" : 1,
9fda36b0 18739 "description" : "Receiver Address Statistics.",
d7cd791b 18740 "method" : "GET",
9fda36b0 18741 "name" : "receiver",
d7cd791b
DM
18742 "parameters" : {
18743 "additionalProperties" : 0,
18744 "properties" : {
9fda36b0
DM
18745 "day" : {
18746 "description" : "Day of month. Get statistics for a single day.",
18747 "maximum" : 31,
18748 "minimum" : 1,
18749 "optional" : 1,
18750 "type" : "integer",
18751 "typetext" : "<integer> (1 - 31)"
18752 },
18753 "endtime" : {
18754 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18755 "minimum" : 1,
18756 "optional" : 1,
18757 "type" : "integer",
18758 "typetext" : "<integer> (1 - N)"
18759 },
18760 "filter" : {
18761 "description" : "Receiver address filter.",
18762 "maxLength" : 512,
18763 "optional" : 1,
18764 "type" : "string",
18765 "typetext" : "<string>"
18766 },
18767 "month" : {
18768 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18769 "maximum" : 12,
18770 "minimum" : 1,
18771 "optional" : 1,
18772 "type" : "integer",
18773 "typetext" : "<integer> (1 - 12)"
18774 },
18775 "orderby" : {
18776 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18777 "maxLength" : 4096,
d7cd791b
DM
18778 "optional" : 1,
18779 "type" : "string",
18780 "typetext" : "<string>"
9fda36b0
DM
18781 },
18782 "starttime" : {
18783 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18784 "minimum" : 0,
18785 "optional" : 1,
18786 "type" : "integer",
18787 "typetext" : "<integer> (0 - N)"
18788 },
18789 "year" : {
18790 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18791 "maximum" : 3000,
18792 "minimum" : 1900,
18793 "optional" : 1,
18794 "type" : "integer",
18795 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
18796 }
18797 }
18798 },
18799 "permissions" : {
18800 "check" : [
18801 "admin",
18802 "qmanager",
9fda36b0 18803 "audit"
d7cd791b
DM
18804 ]
18805 },
18806 "returns" : {
18807 "items" : {
18808 "properties" : {
9fda36b0
DM
18809 "bytes" : {
18810 "description" : "Mail traffic (Bytes).",
18811 "type" : "number"
18812 },
18813 "count" : {
18814 "description" : "Mail count.",
18815 "optional" : 1,
18816 "type" : "number"
18817 },
18818 "receiver" : {
18819 "description" : "Sender email.",
d7cd791b 18820 "type" : "string"
9fda36b0
DM
18821 },
18822 "spamcount" : {
18823 "description" : "Number of sent spam mails.",
18824 "optional" : 1,
18825 "type" : "number"
18826 },
18827 "viruscount" : {
18828 "description" : "Number of sent virus mails.",
18829 "optional" : 1,
18830 "type" : "number"
d7cd791b
DM
18831 }
18832 },
18833 "type" : "object"
18834 },
9fda36b0
DM
18835 "links" : [
18836 {
18837 "href" : "{receiver}",
18838 "rel" : "child"
d7cd791b 18839 }
9fda36b0
DM
18840 ],
18841 "type" : "array"
d7cd791b
DM
18842 }
18843 }
18844 },
14ffe66b 18845 "leaf" : 1,
9fda36b0
DM
18846 "path" : "/statistics/receiver",
18847 "text" : "receiver"
d7cd791b
DM
18848 },
18849 {
d7cd791b
DM
18850 "info" : {
18851 "GET" : {
6bd70b95 18852 "allowtoken" : 1,
9fda36b0 18853 "description" : "Mail Domains Statistics.",
d7cd791b 18854 "method" : "GET",
9fda36b0 18855 "name" : "domains",
d7cd791b
DM
18856 "parameters" : {
18857 "additionalProperties" : 0,
18858 "properties" : {
9fda36b0
DM
18859 "day" : {
18860 "description" : "Day of month. Get statistics for a single day.",
18861 "maximum" : 31,
18862 "minimum" : 1,
18863 "optional" : 1,
18864 "type" : "integer",
18865 "typetext" : "<integer> (1 - 31)"
18866 },
18867 "endtime" : {
18868 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18869 "minimum" : 1,
18870 "optional" : 1,
18871 "type" : "integer",
18872 "typetext" : "<integer> (1 - N)"
18873 },
18874 "month" : {
18875 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18876 "maximum" : 12,
18877 "minimum" : 1,
18878 "optional" : 1,
18879 "type" : "integer",
18880 "typetext" : "<integer> (1 - 12)"
18881 },
18882 "starttime" : {
18883 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18884 "minimum" : 0,
d7cd791b 18885 "optional" : 1,
9fda36b0
DM
18886 "type" : "integer",
18887 "typetext" : "<integer> (0 - N)"
18888 },
18889 "year" : {
18890 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18891 "maximum" : 3000,
18892 "minimum" : 1900,
18893 "optional" : 1,
18894 "type" : "integer",
18895 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
18896 }
18897 }
18898 },
18899 "permissions" : {
18900 "check" : [
18901 "admin",
18902 "qmanager",
9fda36b0 18903 "audit"
d7cd791b
DM
18904 ]
18905 },
18906 "returns" : {
18907 "items" : {
18908 "properties" : {
274b47fc
DM
18909 "bytes_in" : {
18910 "description" : "Incoming mail traffic (Bytes).",
18911 "type" : "number"
18912 },
18913 "bytes_out" : {
18914 "description" : "Outgoing mail traffic (Bytes).",
18915 "type" : "number"
18916 },
9fda36b0
DM
18917 "count_in" : {
18918 "description" : "Incoming mail count.",
18919 "type" : "number"
18920 },
18921 "count_out" : {
18922 "description" : "Outgoing mail count.",
18923 "type" : "number"
18924 },
18925 "domain" : {
18926 "description" : "Domain name.",
d7cd791b 18927 "type" : "string"
9fda36b0 18928 },
9fda36b0
DM
18929 "spamcount_in" : {
18930 "description" : "Incoming spam mails.",
18931 "type" : "number"
18932 },
18933 "spamcount_out" : {
18934 "description" : "Outgoing spam mails.",
18935 "type" : "number"
18936 },
18937 "viruscount_in" : {
18938 "description" : "Number of incoming virus mails.",
18939 "type" : "number"
18940 },
18941 "viruscount_out" : {
18942 "description" : "Number of outgoing virus mails.",
18943 "type" : "number"
d7cd791b
DM
18944 }
18945 },
18946 "type" : "object"
18947 },
18948 "type" : "array"
18949 }
9fda36b0
DM
18950 }
18951 },
18952 "leaf" : 1,
18953 "path" : "/statistics/domains",
18954 "text" : "domains"
18955 },
18956 {
18957 "info" : {
18958 "GET" : {
6bd70b95 18959 "allowtoken" : 1,
9fda36b0
DM
18960 "description" : "General Mail Statistics.",
18961 "method" : "GET",
18962 "name" : "mail",
d7cd791b
DM
18963 "parameters" : {
18964 "additionalProperties" : 0,
18965 "properties" : {
9fda36b0
DM
18966 "day" : {
18967 "description" : "Day of month. Get statistics for a single day.",
18968 "maximum" : 31,
18969 "minimum" : 1,
18970 "optional" : 1,
18971 "type" : "integer",
18972 "typetext" : "<integer> (1 - 31)"
d7cd791b 18973 },
9fda36b0
DM
18974 "endtime" : {
18975 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18976 "minimum" : 1,
d7cd791b 18977 "optional" : 1,
9fda36b0
DM
18978 "type" : "integer",
18979 "typetext" : "<integer> (1 - N)"
18980 },
18981 "month" : {
18982 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18983 "maximum" : 12,
18984 "minimum" : 1,
18985 "optional" : 1,
18986 "type" : "integer",
18987 "typetext" : "<integer> (1 - 12)"
18988 },
18989 "starttime" : {
18990 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18991 "minimum" : 0,
18992 "optional" : 1,
18993 "type" : "integer",
18994 "typetext" : "<integer> (0 - N)"
18995 },
18996 "year" : {
18997 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18998 "maximum" : 3000,
18999 "minimum" : 1900,
19000 "optional" : 1,
19001 "type" : "integer",
19002 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19003 }
19004 }
19005 },
19006 "permissions" : {
19007 "check" : [
19008 "admin",
19009 "qmanager",
9fda36b0 19010 "audit"
d7cd791b
DM
19011 ]
19012 },
d7cd791b 19013 "returns" : {
9fda36b0
DM
19014 "properties" : {
19015 "avptime" : {
19016 "description" : "Average mail processing time in seconds.",
19017 "type" : "number"
19018 },
19019 "bounces_in" : {
19020 "description" : "Incoming bounce mail count (sender = <>).",
19021 "type" : "number"
19022 },
19023 "bounces_out" : {
19024 "description" : "Outgoing bounce mail count (sender = <>).",
19025 "type" : "number"
19026 },
19027 "bytes_in" : {
19028 "description" : "Incoming mail traffic (bytes).",
19029 "type" : "number"
19030 },
19031 "bytes_out" : {
19032 "description" : "Outgoing mail traffic (bytes).",
19033 "type" : "number"
19034 },
19035 "count" : {
19036 "description" : "Overall mail count (in and out).",
19037 "type" : "number"
19038 },
19039 "count_in" : {
19040 "description" : "Incoming mail count.",
19041 "type" : "number"
19042 },
19043 "count_out" : {
19044 "description" : "Outgoing mail count.",
19045 "type" : "number"
19046 },
19047 "glcount" : {
19048 "description" : "Number of greylisted mails.",
19049 "type" : "number"
19050 },
19051 "junk_in" : {
274b47fc 19052 "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19053 "type" : "number"
19054 },
19055 "junk_out" : {
19056 "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
19057 "type" : "number"
19058 },
274b47fc
DM
19059 "pregreet_rejects" : {
19060 "description" : "PREGREET recject count.",
19061 "type" : "integer"
19062 },
19063 "rbl_rejects" : {
19064 "description" : "Number of RBL rejects.",
19065 "type" : "integer"
19066 },
9fda36b0
DM
19067 "spamcount_in" : {
19068 "description" : "Incoming spam mails.",
19069 "type" : "number"
19070 },
19071 "spamcount_out" : {
19072 "description" : "Outgoing spam mails.",
19073 "type" : "number"
19074 },
19075 "spfcount" : {
19076 "description" : "Mails rejected by SPF.",
19077 "type" : "number"
19078 },
19079 "viruscount_in" : {
19080 "description" : "Number of incoming virus mails.",
19081 "type" : "number"
19082 },
19083 "viruscount_out" : {
19084 "description" : "Number of outgoing virus mails.",
19085 "type" : "number"
19086 }
19087 },
19088 "type" : "object"
d7cd791b
DM
19089 }
19090 }
19091 },
9fda36b0
DM
19092 "leaf" : 1,
19093 "path" : "/statistics/mail",
19094 "text" : "mail"
d7cd791b 19095 },
732d76e1
DM
19096 {
19097 "info" : {
19098 "GET" : {
6bd70b95 19099 "allowtoken" : 1,
732d76e1
DM
19100 "description" : "Mail Count Statistics.",
19101 "method" : "GET",
19102 "name" : "recent",
19103 "parameters" : {
19104 "additionalProperties" : 0,
19105 "properties" : {
19106 "hours" : {
19107 "default" : 12,
19108 "description" : "How many hours you want to get",
19109 "maximum" : 24,
19110 "minimum" : 1,
19111 "optional" : 1,
19112 "type" : "integer",
19113 "typetext" : "<integer> (1 - 24)"
19114 },
19115 "timespan" : {
19116 "default" : 1800,
19117 "description" : "The Timespan for one datapoint (in seconds)",
19118 "maximum" : 1800,
19119 "minimum" : 1,
19120 "optional" : 1,
19121 "type" : "integer",
19122 "typetext" : "<integer> (1 - 1800)"
19123 }
19124 }
19125 },
19126 "permissions" : {
19127 "check" : [
19128 "admin",
19129 "qmanager",
19130 "audit"
19131 ]
19132 },
19133 "returns" : {
19134 "items" : {
19135 "properties" : {
19136 "bytes_in" : {
19137 "description" : "Number of incoming bytes mails.",
19138 "type" : "number"
19139 },
19140 "bytes_out" : {
19141 "description" : "Number of outgoing bytes mails.",
19142 "type" : "number"
19143 },
19144 "count" : {
19145 "description" : "Overall mail count (in and out).",
19146 "type" : "number"
19147 },
19148 "count_in" : {
19149 "description" : "Incoming mail count.",
19150 "type" : "number"
19151 },
19152 "count_out" : {
19153 "description" : "Outgoing mail count.",
19154 "type" : "number"
19155 },
19156 "index" : {
19157 "description" : "Time index.",
19158 "type" : "integer"
19159 },
19160 "spam" : {
19161 "description" : "Overall spam mail count (in and out).",
19162 "type" : "number"
19163 },
19164 "spam_in" : {
19165 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19166 "type" : "number"
19167 },
19168 "spam_out" : {
19169 "description" : "Outgoing spam mails.",
19170 "type" : "number"
19171 },
19172 "time" : {
19173 "description" : "Time (Unix epoch).",
19174 "type" : "integer"
19175 },
19176 "timespan" : {
19177 "description" : "Timespan in seconds for one data point",
19178 "type" : "number"
19179 },
19180 "virus_in" : {
19181 "description" : "Number of incoming virus mails.",
19182 "type" : "number"
19183 },
19184 "virus_out" : {
19185 "description" : "Number of outgoing virus mails.",
19186 "type" : "number"
19187 }
19188 },
19189 "type" : "object"
19190 },
19191 "type" : "array"
19192 }
19193 }
19194 },
19195 "leaf" : 1,
19196 "path" : "/statistics/recent",
19197 "text" : "recent"
19198 },
19199 {
19200 "info" : {
19201 "GET" : {
6bd70b95 19202 "allowtoken" : 1,
732d76e1
DM
19203 "description" : "Top recent Mail Receivers (including spam)",
19204 "method" : "GET",
19205 "name" : "recentreceivers",
19206 "parameters" : {
19207 "additionalProperties" : 0,
19208 "properties" : {
19209 "hours" : {
19210 "default" : 12,
19211 "description" : "How many hours you want to get",
19212 "maximum" : 24,
19213 "minimum" : 1,
19214 "optional" : 1,
19215 "type" : "integer",
19216 "typetext" : "<integer> (1 - 24)"
19217 },
19218 "limit" : {
19219 "default" : 5,
19220 "description" : "The maximum number of receivers to return.",
19221 "maximum" : 50,
19222 "minimum" : 1,
19223 "optional" : 1,
19224 "type" : "integer",
19225 "typetext" : "<integer> (1 - 50)"
19226 }
19227 }
19228 },
19229 "permissions" : {
19230 "check" : [
19231 "admin",
19232 "qmanager",
19233 "audit"
19234 ]
19235 },
19236 "returns" : {
19237 "items" : {
19238 "properties" : {
19239 "count" : {
19240 "description" : "The count of incoming not blocked E-Mails",
19241 "type" : "integer"
19242 },
19243 "receiver" : {
19244 "description" : "The receiver",
19245 "type" : "string"
19246 }
19247 },
19248 "type" : "object"
19249 },
19250 "type" : "array"
19251 }
19252 }
19253 },
19254 "leaf" : 1,
19255 "path" : "/statistics/recentreceivers",
19256 "text" : "recentreceivers"
19257 },
d7cd791b 19258 {
9fda36b0
DM
19259 "info" : {
19260 "GET" : {
6bd70b95 19261 "allowtoken" : 1,
9fda36b0
DM
19262 "description" : "Mail Count Statistics.",
19263 "method" : "GET",
19264 "name" : "mailcount",
19265 "parameters" : {
19266 "additionalProperties" : 0,
19267 "properties" : {
19268 "day" : {
19269 "description" : "Day of month. Get statistics for a single day.",
19270 "maximum" : 31,
19271 "minimum" : 1,
19272 "optional" : 1,
19273 "type" : "integer",
19274 "typetext" : "<integer> (1 - 31)"
d7cd791b 19275 },
9fda36b0
DM
19276 "endtime" : {
19277 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19278 "minimum" : 1,
19279 "optional" : 1,
19280 "type" : "integer",
19281 "typetext" : "<integer> (1 - N)"
d7cd791b 19282 },
9fda36b0
DM
19283 "month" : {
19284 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19285 "maximum" : 12,
19286 "minimum" : 1,
19287 "optional" : 1,
19288 "type" : "integer",
19289 "typetext" : "<integer> (1 - 12)"
19290 },
19291 "starttime" : {
19292 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19293 "minimum" : 0,
19294 "optional" : 1,
19295 "type" : "integer",
19296 "typetext" : "<integer> (0 - N)"
19297 },
19298 "timespan" : {
19299 "default" : 3600,
19300 "description" : "Return Mails/<timespan>, where <timespan> is specified in seconds.",
19301 "maximum" : 31622400,
19302 "minimum" : 3600,
19303 "optional" : 1,
19304 "type" : "integer",
19305 "typetext" : "<integer> (3600 - 31622400)"
19306 },
19307 "year" : {
19308 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19309 "maximum" : 3000,
19310 "minimum" : 1900,
19311 "optional" : 1,
19312 "type" : "integer",
19313 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19314 }
19315 }
19316 },
9fda36b0
DM
19317 "permissions" : {
19318 "check" : [
19319 "admin",
19320 "qmanager",
19321 "audit"
19322 ]
19323 },
19324 "returns" : {
19325 "items" : {
19326 "properties" : {
19327 "bounces_in" : {
19328 "description" : "Incoming bounce mail count (sender = <>).",
19329 "type" : "number"
19330 },
19331 "bounces_out" : {
19332 "description" : "Outgoing bounce mail count (sender = <>).",
19333 "type" : "number"
19334 },
19335 "count" : {
19336 "description" : "Overall mail count (in and out).",
19337 "type" : "number"
19338 },
19339 "count_in" : {
19340 "description" : "Incoming mail count.",
19341 "type" : "number"
19342 },
19343 "count_out" : {
19344 "description" : "Outgoing mail count.",
19345 "type" : "number"
19346 },
19347 "index" : {
19348 "description" : "Time index.",
19349 "type" : "integer"
19350 },
274b47fc
DM
19351 "pregreet_rejects" : {
19352 "description" : "PREGREET recject count.",
19353 "type" : "integer"
19354 },
19355 "rbl_rejects" : {
19356 "description" : "Number of RBL rejects.",
19357 "type" : "integer"
19358 },
9fda36b0 19359 "spamcount_in" : {
274b47fc 19360 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19361 "type" : "number"
19362 },
19363 "spamcount_out" : {
19364 "description" : "Outgoing spam mails.",
19365 "type" : "number"
19366 },
19367 "time" : {
19368 "description" : "Time (Unix epoch).",
19369 "type" : "integer"
19370 },
19371 "viruscount_in" : {
19372 "description" : "Number of incoming virus mails.",
19373 "type" : "number"
19374 },
19375 "viruscount_out" : {
19376 "description" : "Number of outgoing virus mails.",
19377 "type" : "number"
19378 }
19379 },
19380 "type" : "object"
19381 },
19382 "type" : "array"
19383 }
d7cd791b 19384 }
9fda36b0
DM
19385 },
19386 "leaf" : 1,
19387 "path" : "/statistics/mailcount",
19388 "text" : "mailcount"
19389 },
19390 {
d7cd791b
DM
19391 "info" : {
19392 "GET" : {
6bd70b95 19393 "allowtoken" : 1,
9fda36b0 19394 "description" : "Get Statistics about detected Viruses.",
d7cd791b 19395 "method" : "GET",
9fda36b0 19396 "name" : "virus",
d7cd791b
DM
19397 "parameters" : {
19398 "additionalProperties" : 0,
19399 "properties" : {
9fda36b0
DM
19400 "day" : {
19401 "description" : "Day of month. Get statistics for a single day.",
19402 "maximum" : 31,
19403 "minimum" : 1,
19404 "optional" : 1,
19405 "type" : "integer",
19406 "typetext" : "<integer> (1 - 31)"
19407 },
d7cd791b 19408 "endtime" : {
9fda36b0 19409 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
d7cd791b
DM
19410 "minimum" : 1,
19411 "optional" : 1,
19412 "type" : "integer",
19413 "typetext" : "<integer> (1 - N)"
19414 },
9fda36b0
DM
19415 "month" : {
19416 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19417 "maximum" : 12,
19418 "minimum" : 1,
d7cd791b 19419 "optional" : 1,
9fda36b0
DM
19420 "type" : "integer",
19421 "typetext" : "<integer> (1 - 12)"
d7cd791b
DM
19422 },
19423 "starttime" : {
9fda36b0 19424 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
d7cd791b
DM
19425 "minimum" : 0,
19426 "optional" : 1,
19427 "type" : "integer",
19428 "typetext" : "<integer> (0 - N)"
9fda36b0
DM
19429 },
19430 "year" : {
19431 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19432 "maximum" : 3000,
19433 "minimum" : 1900,
19434 "optional" : 1,
19435 "type" : "integer",
19436 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19437 }
19438 }
19439 },
19440 "permissions" : {
19441 "check" : [
19442 "admin",
19443 "qmanager",
9fda36b0 19444 "audit"
d7cd791b
DM
19445 ]
19446 },
19447 "returns" : {
19448 "items" : {
19449 "properties" : {
19450 "count" : {
9fda36b0 19451 "description" : "Detection count.",
d7cd791b
DM
19452 "type" : "integer"
19453 },
9fda36b0
DM
19454 "name" : {
19455 "description" : "Virus name.",
19456 "type" : "string"
d7cd791b
DM
19457 }
19458 },
19459 "type" : "object"
19460 },
d7cd791b
DM
19461 "type" : "array"
19462 }
19463 }
19464 },
9fda36b0
DM
19465 "leaf" : 1,
19466 "path" : "/statistics/virus",
19467 "text" : "virus"
d7cd791b
DM
19468 },
19469 {
19470 "info" : {
19471 "GET" : {
6bd70b95 19472 "allowtoken" : 1,
9fda36b0 19473 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
d7cd791b 19474 "method" : "GET",
9fda36b0 19475 "name" : "spamscores",
d7cd791b
DM
19476 "parameters" : {
19477 "additionalProperties" : 0,
19478 "properties" : {
9fda36b0
DM
19479 "day" : {
19480 "description" : "Day of month. Get statistics for a single day.",
19481 "maximum" : 31,
19482 "minimum" : 1,
19483 "optional" : 1,
19484 "type" : "integer",
19485 "typetext" : "<integer> (1 - 31)"
d7cd791b 19486 },
9fda36b0
DM
19487 "endtime" : {
19488 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19489 "minimum" : 1,
d7cd791b 19490 "optional" : 1,
9fda36b0
DM
19491 "type" : "integer",
19492 "typetext" : "<integer> (1 - N)"
19493 },
19494 "month" : {
19495 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19496 "maximum" : 12,
19497 "minimum" : 1,
19498 "optional" : 1,
19499 "type" : "integer",
19500 "typetext" : "<integer> (1 - 12)"
19501 },
19502 "starttime" : {
19503 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19504 "minimum" : 0,
19505 "optional" : 1,
19506 "type" : "integer",
19507 "typetext" : "<integer> (0 - N)"
19508 },
19509 "year" : {
19510 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19511 "maximum" : 3000,
19512 "minimum" : 1900,
19513 "optional" : 1,
19514 "type" : "integer",
19515 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19516 }
19517 }
19518 },
19519 "permissions" : {
19520 "check" : [
19521 "admin",
19522 "qmanager",
9fda36b0 19523 "audit"
d7cd791b
DM
19524 ]
19525 },
19526 "returns" : {
9fda36b0
DM
19527 "items" : {
19528 "properties" : {
19529 "count" : {
19530 "description" : "Detection count.",
19531 "type" : "integer"
19532 },
19533 "level" : {
19534 "description" : "Spam level.",
19535 "type" : "string"
19536 },
19537 "ratio" : {
19538 "description" : "Portion of overall mail count.",
19539 "type" : "number"
19540 }
d7cd791b 19541 },
9fda36b0
DM
19542 "type" : "object"
19543 },
19544 "type" : "array"
19545 }
19546 }
19547 },
19548 "leaf" : 1,
19549 "path" : "/statistics/spamscores",
19550 "text" : "spamscores"
19551 },
19552 {
19553 "info" : {
19554 "GET" : {
6bd70b95 19555 "allowtoken" : 1,
9fda36b0
DM
19556 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
19557 "method" : "GET",
19558 "name" : "maildistribution",
19559 "parameters" : {
19560 "additionalProperties" : 0,
19561 "properties" : {
19562 "day" : {
19563 "description" : "Day of month. Get statistics for a single day.",
19564 "maximum" : 31,
19565 "minimum" : 1,
d7cd791b 19566 "optional" : 1,
9fda36b0
DM
19567 "type" : "integer",
19568 "typetext" : "<integer> (1 - 31)"
d7cd791b 19569 },
9fda36b0
DM
19570 "endtime" : {
19571 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19572 "minimum" : 1,
19573 "optional" : 1,
19574 "type" : "integer",
19575 "typetext" : "<integer> (1 - N)"
d7cd791b 19576 },
9fda36b0
DM
19577 "month" : {
19578 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19579 "maximum" : 12,
19580 "minimum" : 1,
19581 "optional" : 1,
19582 "type" : "integer",
19583 "typetext" : "<integer> (1 - 12)"
d7cd791b 19584 },
9fda36b0
DM
19585 "starttime" : {
19586 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19587 "minimum" : 0,
19588 "optional" : 1,
19589 "type" : "integer",
19590 "typetext" : "<integer> (0 - N)"
d7cd791b 19591 },
9fda36b0
DM
19592 "year" : {
19593 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19594 "maximum" : 3000,
19595 "minimum" : 1900,
19596 "optional" : 1,
19597 "type" : "integer",
19598 "typetext" : "<integer> (1900 - 3000)"
d7cd791b 19599 }
9fda36b0
DM
19600 }
19601 },
19602 "permissions" : {
19603 "check" : [
19604 "admin",
19605 "qmanager",
19606 "audit"
19607 ]
19608 },
19609 "returns" : {
19610 "items" : {
19611 "properties" : {
19612 "bounces_in" : {
19613 "description" : "Incoming bounce mail count (sender = <>).",
19614 "type" : "number"
19615 },
19616 "bounces_out" : {
19617 "description" : "Outgoing bounce mail count (sender = <>).",
19618 "type" : "number"
19619 },
19620 "count" : {
19621 "description" : "Overall mail count (in and out).",
19622 "type" : "number"
19623 },
19624 "count_in" : {
19625 "description" : "Incoming mail count.",
19626 "type" : "number"
19627 },
19628 "count_out" : {
19629 "description" : "Outgoing mail count.",
19630 "type" : "number"
19631 },
19632 "index" : {
19633 "description" : "Hour (0-23).",
19634 "type" : "integer"
19635 },
19636 "spamcount_in" : {
19637 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19638 "type" : "number"
19639 },
19640 "spamcount_out" : {
19641 "description" : "Outgoing spam mails.",
19642 "type" : "number"
19643 },
19644 "viruscount_in" : {
19645 "description" : "Number of incoming virus mails.",
19646 "type" : "number"
19647 },
19648 "viruscount_out" : {
19649 "description" : "Number of outgoing virus mails.",
19650 "type" : "number"
19651 }
19652 },
19653 "type" : "object"
d7cd791b 19654 },
9fda36b0 19655 "type" : "array"
d7cd791b 19656 }
9fda36b0
DM
19657 }
19658 },
19659 "leaf" : 1,
19660 "path" : "/statistics/maildistribution",
19661 "text" : "maildistribution"
19662 },
19663 {
19664 "info" : {
19665 "GET" : {
6bd70b95 19666 "allowtoken" : 1,
274b47fc 19667 "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
9fda36b0 19668 "method" : "GET",
274b47fc 19669 "name" : "rejectcount",
d7cd791b
DM
19670 "parameters" : {
19671 "additionalProperties" : 0,
19672 "properties" : {
9fda36b0
DM
19673 "day" : {
19674 "description" : "Day of month. Get statistics for a single day.",
19675 "maximum" : 31,
19676 "minimum" : 1,
19677 "optional" : 1,
19678 "type" : "integer",
19679 "typetext" : "<integer> (1 - 31)"
d7cd791b 19680 },
9fda36b0
DM
19681 "endtime" : {
19682 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19683 "minimum" : 1,
19684 "optional" : 1,
19685 "type" : "integer",
19686 "typetext" : "<integer> (1 - N)"
19687 },
19688 "month" : {
19689 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19690 "maximum" : 12,
19691 "minimum" : 1,
19692 "optional" : 1,
19693 "type" : "integer",
19694 "typetext" : "<integer> (1 - 12)"
19695 },
19696 "starttime" : {
19697 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19698 "minimum" : 0,
19699 "optional" : 1,
19700 "type" : "integer",
19701 "typetext" : "<integer> (0 - N)"
19702 },
19703 "timespan" : {
19704 "default" : 3600,
274b47fc 19705 "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.",
9fda36b0
DM
19706 "maximum" : 31622400,
19707 "minimum" : 3600,
19708 "optional" : 1,
19709 "type" : "integer",
19710 "typetext" : "<integer> (3600 - 31622400)"
19711 },
19712 "year" : {
19713 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19714 "maximum" : 3000,
19715 "minimum" : 1900,
19716 "optional" : 1,
19717 "type" : "integer",
19718 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19719 }
19720 }
19721 },
19722 "permissions" : {
19723 "check" : [
19724 "admin",
19725 "qmanager",
9fda36b0 19726 "audit"
d7cd791b
DM
19727 ]
19728 },
d7cd791b 19729 "returns" : {
9fda36b0
DM
19730 "items" : {
19731 "properties" : {
9fda36b0
DM
19732 "index" : {
19733 "description" : "Time index.",
19734 "type" : "integer"
19735 },
274b47fc
DM
19736 "pregreet_rejects" : {
19737 "description" : "PREGREET recject count.",
19738 "type" : "integer"
19739 },
19740 "rbl_rejects" : {
19741 "description" : "RBL recject count.",
19742 "type" : "integer"
19743 },
9fda36b0
DM
19744 "time" : {
19745 "description" : "Time (Unix epoch).",
19746 "type" : "integer"
19747 }
19748 },
19749 "type" : "object"
19750 },
19751 "type" : "array"
d7cd791b
DM
19752 }
19753 }
19754 },
19755 "leaf" : 1,
274b47fc
DM
19756 "path" : "/statistics/rejectcount",
19757 "text" : "rejectcount"
d7cd791b
DM
19758 }
19759 ],
19760 "info" : {
19761 "GET" : {
6bd70b95 19762 "allowtoken" : 1,
d7cd791b
DM
19763 "description" : "Directory index.",
19764 "method" : "GET",
19765 "name" : "index",
19766 "parameters" : {
19767 "additionalProperties" : 0
19768 },
19769 "permissions" : {
9fda36b0
DM
19770 "check" : [
19771 "admin",
19772 "qmanager",
19773 "audit"
19774 ]
d7cd791b
DM
19775 },
19776 "returns" : {
19777 "items" : {
19778 "properties" : {},
19779 "type" : "object"
19780 },
19781 "links" : [
19782 {
19783 "href" : "{name}",
19784 "rel" : "child"
19785 }
19786 ],
19787 "type" : "array"
19788 }
19789 }
19790 },
19791 "leaf" : 0,
9fda36b0
DM
19792 "path" : "/statistics",
19793 "text" : "statistics"
d7cd791b 19794 },
410dc2c9
DM
19795 {
19796 "info" : {
19797 "GET" : {
6bd70b95 19798 "allowtoken" : 1,
410dc2c9
DM
19799 "description" : "API version details.",
19800 "method" : "GET",
19801 "name" : "version",
19802 "parameters" : {
19803 "additionalProperties" : 0
19804 },
19805 "permissions" : {
19806 "user" : "all"
19807 },
19808 "returns" : {
19809 "properties" : {
19810 "release" : {
241ac83c 19811 "description" : "The current installed Proxmox Mailgateway Release",
410dc2c9
DM
19812 "type" : "string"
19813 },
19814 "repoid" : {
241ac83c 19815 "description" : "The short git commit hash ID from which this version was build",
410dc2c9
DM
19816 "type" : "string"
19817 },
19818 "version" : {
241ac83c 19819 "description" : "The current installed pmg-api package version",
410dc2c9
DM
19820 "type" : "string"
19821 }
19822 },
19823 "type" : "object"
19824 }
19825 }
19826 },
19827 "leaf" : 1,
19828 "path" : "/version",
19829 "text" : "version"
19830 }
19831]
19832;
19833