]> git.proxmox.com Git - pmg-docs.git/blame - api-viewer/apidata.js
update static schema info
[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 },
8c308065
TL
7906 {
7907 "children" : [
7908 {
7909 "info" : {
7910 "DELETE" : {
7911 "allowtoken" : 1,
7912 "description" : "Delete a tls_inbound_domains entry",
7913 "method" : "DELETE",
7914 "name" : "delete",
7915 "parameters" : {
7916 "additionalProperties" : 0,
7917 "properties" : {
7918 "domain" : {
7919 "description" : "Domain which should be removed from tls_inbound_domains",
7920 "format" : "transport-domain",
7921 "type" : "string",
7922 "typetext" : "<string>"
7923 }
7924 }
7925 },
7926 "permissions" : {
7927 "check" : [
7928 "admin"
7929 ]
7930 },
7931 "protected" : 1,
7932 "proxyto" : "master",
7933 "returns" : {
7934 "type" : "null"
7935 }
7936 }
7937 },
7938 "leaf" : 1,
7939 "path" : "/config/tls-inbound-domains/{domain}",
7940 "text" : "{domain}"
7941 }
7942 ],
7943 "info" : {
7944 "GET" : {
7945 "allowtoken" : 1,
7946 "description" : "List tls_inbound_domains entries.",
7947 "method" : "GET",
7948 "name" : "index",
7949 "parameters" : {
7950 "additionalProperties" : 0
7951 },
7952 "permissions" : {
7953 "check" : [
7954 "admin",
7955 "audit"
7956 ]
7957 },
7958 "proxyto" : "master",
7959 "returns" : {
7960 "description" : "List of domains for which TLS will be enforced on incoming connections",
7961 "items" : {
7962 "format" : "transport-domain",
7963 "type" : "string"
7964 },
7965 "links" : [
7966 {
7967 "href" : "{domain}",
7968 "rel" : "child"
7969 }
7970 ],
7971 "type" : "array"
7972 }
7973 },
7974 "POST" : {
7975 "allowtoken" : 1,
7976 "description" : "Add new tls_inbound_domains entry.",
7977 "method" : "POST",
7978 "name" : "create",
7979 "parameters" : {
7980 "additionalProperties" : 0,
7981 "properties" : {
7982 "domain" : {
7983 "description" : "Domain for which TLS should be enforced on incoming connections",
7984 "format" : "transport-domain",
7985 "type" : "string",
7986 "typetext" : "<string>"
7987 }
7988 }
7989 },
7990 "permissions" : {
7991 "check" : [
7992 "admin"
7993 ]
7994 },
7995 "protected" : 1,
7996 "proxyto" : "master",
7997 "returns" : {
7998 "type" : "null"
7999 }
8000 }
8001 },
8002 "leaf" : 0,
8003 "path" : "/config/tls-inbound-domains",
8004 "text" : "tls-inbound-domains"
8005 },
410dc2c9 8006 {
d210277a
TL
8007 "children" : [
8008 {
8009 "children" : [
8010 {
8011 "info" : {
8012 "DELETE" : {
6bd70b95 8013 "allowtoken" : 1,
d210277a
TL
8014 "description" : "Delete a DKIM-sign domain",
8015 "method" : "DELETE",
8016 "name" : "delete",
8017 "parameters" : {
8018 "additionalProperties" : 0,
8019 "properties" : {
8020 "domain" : {
8021 "description" : "Domain name.",
8022 "format" : "transport-domain",
8023 "type" : "string",
8024 "typetext" : "<string>"
8025 }
8026 }
8027 },
8028 "permissions" : {
8029 "check" : [
8030 "admin"
8031 ]
8032 },
8033 "protected" : 1,
8034 "proxyto" : "master",
8035 "returns" : {
8036 "type" : "null"
8037 }
8038 },
8039 "GET" : {
6bd70b95 8040 "allowtoken" : 1,
d210277a
TL
8041 "description" : "Read Domain data (comment).",
8042 "method" : "GET",
8043 "name" : "read",
8044 "parameters" : {
8045 "additionalProperties" : 0,
8046 "properties" : {
8047 "domain" : {
8048 "description" : "Domain name.",
8049 "format" : "transport-domain",
8050 "type" : "string",
8051 "typetext" : "<string>"
8052 }
8053 }
8054 },
8055 "permissions" : {
8056 "check" : [
8057 "admin",
8058 "audit"
8059 ]
8060 },
8061 "proxyto" : "master",
8062 "returns" : {
8063 "properties" : {
8064 "comment" : {
8065 "type" : "string"
8066 },
8067 "domain" : {
8068 "type" : "string"
8069 }
8070 },
8071 "type" : "object"
8072 }
8073 },
8074 "PUT" : {
6bd70b95 8075 "allowtoken" : 1,
d210277a
TL
8076 "description" : "Update DKIM-sign domain data (comment).",
8077 "method" : "PUT",
8078 "name" : "write",
8079 "parameters" : {
8080 "additionalProperties" : 0,
8081 "properties" : {
8082 "comment" : {
8083 "description" : "Comment.",
8084 "type" : "string",
8085 "typetext" : "<string>"
8086 },
8087 "domain" : {
8088 "description" : "Domain name.",
8089 "format" : "transport-domain",
8090 "type" : "string",
8091 "typetext" : "<string>"
8092 }
8093 }
8094 },
8095 "permissions" : {
8096 "check" : [
8097 "admin"
8098 ]
8099 },
8100 "protected" : 1,
8101 "proxyto" : "master",
8102 "returns" : {
8103 "type" : "null"
8104 }
8105 }
8106 },
8107 "leaf" : 1,
8108 "path" : "/config/dkim/domains/{domain}",
8109 "text" : "{domain}"
8110 }
8111 ],
8112 "info" : {
8113 "GET" : {
6bd70b95 8114 "allowtoken" : 1,
d210277a
TL
8115 "description" : "List DKIM-sign domains.",
8116 "method" : "GET",
8117 "name" : "index",
8118 "parameters" : {
8119 "additionalProperties" : 0
8120 },
8121 "permissions" : {
8122 "check" : [
8123 "admin",
8124 "audit"
8125 ]
8126 },
8127 "proxyto" : "master",
8128 "returns" : {
8129 "items" : {
8130 "properties" : {
8131 "comment" : {
8132 "type" : "string"
8133 },
8134 "domain" : {
8135 "type" : "string"
8136 }
8137 },
8138 "type" : "object"
8139 },
8140 "links" : [
8141 {
8142 "href" : "{domain}",
8143 "rel" : "child"
8144 }
8145 ],
8146 "type" : "array"
8147 }
8148 },
8149 "POST" : {
6bd70b95 8150 "allowtoken" : 1,
d210277a
TL
8151 "description" : "Add DKIM-sign domain.",
8152 "method" : "POST",
8153 "name" : "create",
8154 "parameters" : {
8155 "additionalProperties" : 0,
8156 "properties" : {
8157 "comment" : {
8158 "description" : "Comment.",
8159 "optional" : 1,
8160 "type" : "string",
8161 "typetext" : "<string>"
8162 },
8163 "domain" : {
8164 "description" : "Domain name.",
8165 "format" : "transport-domain",
8166 "type" : "string",
8167 "typetext" : "<string>"
8168 }
8169 }
8170 },
8171 "permissions" : {
8172 "check" : [
8173 "admin"
8174 ]
8175 },
8176 "protected" : 1,
8177 "proxyto" : "master",
8178 "returns" : {
8179 "type" : "null"
8180 }
8181 }
8182 },
8183 "leaf" : 0,
8184 "path" : "/config/dkim/domains",
8185 "text" : "domains"
8186 },
8187 {
8188 "info" : {
8189 "GET" : {
6bd70b95 8190 "allowtoken" : 1,
d210277a
TL
8191 "description" : "Get the public key for the configured selector, prepared as DKIM TXT record",
8192 "method" : "GET",
8193 "name" : "get_selector_info",
8194 "parameters" : {
8195 "additionalProperties" : 0
8196 },
8197 "permissions" : {
8198 "check" : [
8199 "admin"
8200 ]
8201 },
8202 "protected" : 1,
8203 "proxyto" : "master",
8204 "returns" : {
8205 "properties" : {
8206 "keysize" : {
8207 "minimum" : 1024,
8208 "optional" : 1,
8209 "type" : "integer"
8210 },
8211 "record" : {
8212 "format" : "pmg-dkim-record",
8213 "optional" : 1,
8214 "type" : "string"
8215 },
8216 "selector" : {
8217 "format" : "dns-name",
8218 "optional" : 1,
8219 "type" : "string"
8220 }
8221 },
8222 "type" : "object"
8223 }
8224 },
8225 "POST" : {
6bd70b95 8226 "allowtoken" : 1,
d210277a
TL
8227 "description" : "Generate a new private key for selector. All future mail will be signed with the new key!",
8228 "method" : "POST",
8229 "name" : "set_selector",
8230 "parameters" : {
8231 "additionalProperties" : 0,
8232 "properties" : {
6bd70b95
TL
8233 "force" : {
8234 "description" : "Overwrite existing key",
8235 "optional" : 1,
8236 "type" : "boolean",
8237 "typetext" : "<boolean>"
8238 },
d210277a
TL
8239 "keysize" : {
8240 "description" : "Number of bits for the RSA-Key",
8241 "minimum" : 1024,
8242 "type" : "integer",
8243 "typetext" : "<integer> (1024 - N)"
8244 },
8245 "selector" : {
8246 "description" : "DKIM Selector",
8247 "format" : "dns-name",
8248 "type" : "string",
8249 "typetext" : "<string>"
8250 }
8251 }
8252 },
8253 "permissions" : {
8254 "check" : [
8255 "admin"
8256 ]
8257 },
8258 "protected" : 1,
8259 "proxyto" : "master",
8260 "returns" : {
8261 "type" : "null"
8262 }
8263 }
8264 },
8265 "leaf" : 1,
8266 "path" : "/config/dkim/selector",
8267 "text" : "selector"
6bd70b95
TL
8268 },
8269 {
8270 "info" : {
8271 "GET" : {
8272 "allowtoken" : 1,
8273 "description" : "Get a list of all existing selectors",
8274 "method" : "GET",
8275 "name" : "get_selector_list",
8276 "parameters" : {
8277 "additionalProperties" : 0
8278 },
8279 "permissions" : {
8280 "check" : [
8281 "admin"
8282 ]
8283 },
8284 "protected" : 1,
8285 "proxyto" : "master",
8286 "returns" : {
8287 "items" : {
8288 "properties" : {
8289 "selector" : {
8290 "format" : "dns-name",
8291 "type" : "string"
8292 }
8293 },
8294 "type" : "object"
8295 },
8296 "links" : [
8297 {
8298 "href" : "{selector}",
8299 "rel" : "child"
8300 }
8301 ],
8302 "type" : "array"
8303 }
8304 }
8305 },
8306 "leaf" : 1,
8307 "path" : "/config/dkim/selectors",
8308 "text" : "selectors"
d210277a
TL
8309 }
8310 ],
410dc2c9
DM
8311 "info" : {
8312 "GET" : {
6bd70b95 8313 "allowtoken" : 1,
d210277a 8314 "description" : "Directory index.",
410dc2c9 8315 "method" : "GET",
d210277a 8316 "name" : "index",
410dc2c9
DM
8317 "parameters" : {
8318 "additionalProperties" : 0
8319 },
410dc2c9 8320 "returns" : {
d210277a
TL
8321 "items" : {
8322 "properties" : {
8323 "section" : {
8324 "type" : "string"
8325 }
9fda36b0 8326 },
d210277a
TL
8327 "type" : "object"
8328 },
8329 "links" : [
8330 {
8331 "href" : "{section}",
8332 "rel" : "child"
8333 }
8334 ],
8335 "type" : "array"
8336 }
8337 }
8338 },
8339 "leaf" : 0,
8340 "path" : "/config/dkim",
8341 "text" : "dkim"
8342 },
8343 {
8344 "children" : [
8345 {
8346 "info" : {
8347 "DELETE" : {
6bd70b95 8348 "allowtoken" : 1,
d210277a
TL
8349 "description" : "Edit custom SpamAssassin score",
8350 "method" : "DELETE",
8351 "name" : "delete_score",
8352 "parameters" : {
8353 "additionalProperties" : 0,
8354 "properties" : {
8355 "digest" : {
8356 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8357 "maxLength" : 40,
8358 "optional" : 1,
8359 "type" : "string",
8360 "typetext" : "<string>"
8361 },
8362 "name" : {
8363 "description" : "The name of the rule.",
8364 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8365 "type" : "string"
8366 }
8367 }
8368 },
8369 "protected" : 1,
8370 "proxyto" : "master",
8371 "returns" : {
8372 "type" : "null"
8373 }
8374 },
8375 "GET" : {
6bd70b95 8376 "allowtoken" : 1,
d210277a
TL
8377 "description" : "Get custom SpamAssassin score",
8378 "method" : "GET",
8379 "name" : "get_score",
8380 "parameters" : {
8381 "additionalProperties" : 0,
8382 "properties" : {
8383 "name" : {
8384 "description" : "The name of the rule.",
8385 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8386 "type" : "string"
8387 }
8388 }
8389 },
8390 "protected" : 1,
8391 "proxyto" : "master",
8392 "returns" : {
8393 "properties" : {
8394 "comment" : {
8395 "description" : "The Comment.",
8396 "optional" : 1,
8397 "type" : "string"
8398 },
8399 "name" : {
8400 "description" : "The name of the rule.",
8401 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8402 "type" : "string"
8403 },
8404 "score" : {
8405 "description" : "The score the rule should be valued at.",
8406 "type" : "number"
8407 }
8408 },
8409 "type" : "object"
8410 }
8411 },
8412 "PUT" : {
6bd70b95 8413 "allowtoken" : 1,
d210277a
TL
8414 "description" : "Edit custom SpamAssassin score",
8415 "method" : "PUT",
8416 "name" : "edit_score",
8417 "parameters" : {
8418 "additionalProperties" : 0,
8419 "properties" : {
8420 "comment" : {
8421 "description" : "The Comment.",
8422 "optional" : 1,
8423 "type" : "string",
8424 "typetext" : "<string>"
8425 },
8426 "digest" : {
8427 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8428 "maxLength" : 40,
8429 "optional" : 1,
8430 "type" : "string",
8431 "typetext" : "<string>"
8432 },
8433 "name" : {
8434 "description" : "The name of the rule.",
8435 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8436 "type" : "string"
8437 },
8438 "score" : {
8439 "description" : "The score the rule should be valued at.",
8440 "type" : "number",
8441 "typetext" : "<number>"
8442 }
8443 }
8444 },
8445 "protected" : 1,
8446 "proxyto" : "master",
8447 "returns" : {
8448 "type" : "null"
8449 }
8450 }
8451 },
8452 "leaf" : 1,
8453 "path" : "/config/customscores/{name}",
8454 "text" : "{name}"
8455 }
8456 ],
8457 "info" : {
8458 "DELETE" : {
6bd70b95 8459 "allowtoken" : 1,
d210277a
TL
8460 "description" : "Revert custom score changes.",
8461 "method" : "DELETE",
8462 "name" : "revert_score_changes",
8463 "parameters" : {
8464 "additionalProperties" : 0
8465 },
8466 "permissions" : {
8467 "check" : [
8468 "admin"
8469 ]
8470 },
8471 "protected" : 1,
8472 "proxyto" : "master",
8473 "returns" : {
8474 "type" : "null"
8475 }
8476 },
8477 "GET" : {
6bd70b95 8478 "allowtoken" : 1,
d210277a
TL
8479 "description" : "List custom scores.",
8480 "method" : "GET",
8481 "name" : "list_scores",
8482 "parameters" : {
8483 "additionalProperties" : 0
8484 },
8485 "permissions" : {
8486 "check" : [
8487 "admin",
8488 "audit"
8489 ]
8490 },
8491 "proxyto" : "master",
8492 "returns" : {
8493 "items" : {
8494 "properties" : {
8495 "comment" : {
8496 "description" : "The Comment.",
8497 "optional" : 1,
8498 "type" : "string"
8499 },
8500 "digest" : {
8501 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8502 "maxLength" : 40,
8503 "optional" : 1,
8504 "type" : "string"
8505 },
8506 "name" : {
8507 "description" : "The name of the rule.",
8508 "optional" : 1,
8509 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8510 "type" : "string"
8511 },
8512 "score" : {
8513 "description" : "The score the rule should be valued at.",
8514 "optional" : 1,
8515 "type" : "number"
8516 }
8517 },
8518 "type" : "object"
8519 },
8520 "links" : [
8521 {
8522 "href" : "{name}",
8523 "rel" : "child"
8524 }
8525 ],
8526 "type" : "array"
8527 }
8528 },
8529 "POST" : {
6bd70b95 8530 "allowtoken" : 1,
d210277a
TL
8531 "description" : "Create custom SpamAssassin score",
8532 "method" : "POST",
8533 "name" : "create_score",
8534 "parameters" : {
8535 "additionalProperties" : 0,
8536 "properties" : {
8537 "comment" : {
8538 "description" : "The Comment.",
8539 "optional" : 1,
8540 "type" : "string",
8541 "typetext" : "<string>"
8542 },
8543 "digest" : {
8544 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8545 "maxLength" : 40,
8546 "optional" : 1,
8547 "type" : "string",
8548 "typetext" : "<string>"
8549 },
8550 "name" : {
8551 "description" : "The name of the rule.",
8552 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8553 "type" : "string"
8554 },
8555 "score" : {
8556 "description" : "The score the rule should be valued at.",
8557 "type" : "number",
8558 "typetext" : "<number>"
8559 }
8560 }
8561 },
8562 "protected" : 1,
8563 "proxyto" : "master",
8564 "returns" : {
8565 "type" : "null"
8566 }
8567 },
8568 "PUT" : {
6bd70b95 8569 "allowtoken" : 1,
d210277a
TL
8570 "description" : "Apply custom score changes.",
8571 "method" : "PUT",
8572 "name" : "apply_score_changes",
8573 "parameters" : {
8574 "additionalProperties" : 0,
8575 "properties" : {
8576 "digest" : {
8577 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8578 "maxLength" : 40,
8579 "optional" : 1,
8580 "type" : "string",
8581 "typetext" : "<string>"
8582 },
8583 "restart-daemon" : {
8584 "default" : 0,
8585 "description" : "If set, also restarts pmg-smtp-filter. This is necessary for the changes to work.",
8586 "optional" : 1,
8587 "type" : "boolean",
8588 "typetext" : "<boolean>"
8589 }
8590 }
8591 },
8592 "permissions" : {
8593 "check" : [
8594 "admin"
8595 ]
8596 },
8597 "protected" : 1,
8598 "proxyto" : "master",
8599 "returns" : {
8600 "type" : "string"
8601 }
8602 }
8603 },
8604 "leaf" : 0,
8605 "path" : "/config/customscores",
8606 "text" : "customscores"
8607 },
8608 {
ab2b846b
TL
8609 "children" : [
8610 {
8611 "info" : {
8612 "DELETE" : {
8613 "allowtoken" : 1,
8614 "description" : "Delete an PBS remote",
8615 "method" : "DELETE",
8616 "name" : "delete",
8617 "parameters" : {
8618 "additionalProperties" : 0,
8619 "properties" : {
8620 "remote" : {
8621 "description" : "Profile ID.",
8622 "format" : "pve-configid",
8623 "type" : "string",
8624 "typetext" : "<string>"
8625 }
8626 }
8627 },
8628 "permissions" : {
8629 "check" : [
8630 "admin"
8631 ]
8632 },
8633 "protected" : 1,
8634 "proxyto" : "master",
8635 "returns" : {
8636 "type" : "null"
8637 }
8638 },
8639 "GET" : {
8640 "allowtoken" : 1,
8641 "description" : "Get Proxmox Backup Server remote configuration.",
8642 "method" : "GET",
8643 "name" : "read_config",
8644 "parameters" : {
8645 "additionalProperties" : 1,
8646 "properties" : {
8647 "remote" : {
8648 "description" : "Proxmox Backup Server ID.",
8649 "format" : "pve-configid",
8650 "type" : "string",
8651 "typetext" : "<string>"
8652 }
8653 }
8654 },
8655 "permissions" : {
8656 "check" : [
8657 "admin",
8658 "audit"
8659 ]
8660 },
8661 "proxyto" : "master",
8662 "returns" : {}
8663 },
8664 "PUT" : {
8665 "allowtoken" : 1,
8666 "description" : "Update PBS remote settings.",
8667 "method" : "PUT",
8668 "name" : "update_config",
8669 "parameters" : {
8670 "additionalProperties" : 0,
8671 "properties" : {
8672 "datastore" : {
8673 "description" : "Proxmox Backup Server datastore name.",
8674 "optional" : 1,
0b9926d3
TL
8675 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8676 "type" : "string"
ab2b846b
TL
8677 },
8678 "delete" : {
8679 "description" : "A list of settings you want to delete.",
8680 "format" : "pve-configid-list",
8681 "maxLength" : 4096,
8682 "optional" : 1,
8683 "type" : "string",
8684 "typetext" : "<string>"
8685 },
8686 "digest" : {
8687 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8688 "maxLength" : 40,
8689 "optional" : 1,
8690 "type" : "string",
8691 "typetext" : "<string>"
8692 },
8693 "disable" : {
8694 "description" : "Flag to disable (deactivate) the entry.",
8695 "optional" : 1,
8696 "type" : "boolean",
8697 "typetext" : "<boolean>"
8698 },
8699 "fingerprint" : {
8700 "description" : "Certificate SHA 256 fingerprint.",
8701 "optional" : 1,
8702 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8703 "type" : "string"
8704 },
c5ccf1ab
TL
8705 "include-statistics" : {
8706 "description" : "Include statistics in scheduled backups",
8707 "optional" : 1,
8708 "type" : "boolean",
8709 "typetext" : "<boolean>"
8710 },
ab2b846b
TL
8711 "keep-daily" : {
8712 "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.",
8713 "format_description" : "N",
8714 "minimum" : "0",
8715 "optional" : 1,
8716 "type" : "integer",
8717 "typetext" : "<N>"
8718 },
8719 "keep-hourly" : {
8720 "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.",
8721 "format_description" : "N",
8722 "minimum" : "0",
8723 "optional" : 1,
8724 "type" : "integer",
8725 "typetext" : "<N>"
8726 },
8727 "keep-last" : {
8728 "description" : "Keep the last <N> backups.",
8729 "format_description" : "N",
8730 "minimum" : "0",
8731 "optional" : 1,
8732 "type" : "integer",
8733 "typetext" : "<N>"
8734 },
8735 "keep-monthly" : {
8736 "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.",
8737 "format_description" : "N",
8738 "minimum" : "0",
8739 "optional" : 1,
8740 "type" : "integer",
8741 "typetext" : "<N>"
8742 },
8743 "keep-weekly" : {
8744 "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.",
8745 "format_description" : "N",
8746 "minimum" : "0",
8747 "optional" : 1,
8748 "type" : "integer",
8749 "typetext" : "<N>"
8750 },
8751 "keep-yearly" : {
8752 "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.",
8753 "format_description" : "N",
8754 "minimum" : "0",
8755 "optional" : 1,
8756 "type" : "integer",
8757 "typetext" : "<N>"
8758 },
0b9926d3
TL
8759 "namespace" : {
8760 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8761 "maxLength" : 256,
8762 "optional" : 1,
8763 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8764 "type" : "string"
8765 },
c5ccf1ab
TL
8766 "notify" : {
8767 "description" : "Specify when to notify via e-mail",
8768 "enum" : [
8769 "always",
8770 "error",
8771 "never"
8772 ],
8773 "optional" : 1,
8774 "type" : "string"
8775 },
ab2b846b
TL
8776 "password" : {
8777 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8778 "optional" : 1,
8779 "type" : "string",
8780 "typetext" : "<string>"
8781 },
8782 "remote" : {
8783 "description" : "Proxmox Backup Server ID.",
8784 "format" : "pve-configid",
8785 "type" : "string",
8786 "typetext" : "<string>"
8787 },
8788 "server" : {
8789 "description" : "Proxmox Backup Server address.",
8790 "format" : "address",
8791 "maxLength" : 256,
8792 "optional" : 1,
8793 "type" : "string",
8794 "typetext" : "<string>"
8795 },
8796 "username" : {
8797 "description" : "Username or API token ID on the Proxmox Backup Server",
8798 "maxLength" : 512,
8799 "minLength" : 3,
8800 "optional" : 1,
c5ccf1ab 8801 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8802 "type" : "string"
8803 }
8804 },
8805 "type" : "object"
8806 },
8807 "permissions" : {
8808 "check" : [
8809 "admin"
8810 ]
8811 },
8812 "protected" : 1,
8813 "proxyto" : "master",
8814 "returns" : {
8815 "type" : "null"
8816 }
8817 }
8818 },
8819 "leaf" : 1,
8820 "path" : "/config/pbs/{remote}",
8821 "text" : "{remote}"
8822 }
8823 ],
d210277a
TL
8824 "info" : {
8825 "GET" : {
6bd70b95 8826 "allowtoken" : 1,
ab2b846b 8827 "description" : "List all configured Proxmox Backup Server instances.",
d210277a 8828 "method" : "GET",
ab2b846b 8829 "name" : "list",
d210277a
TL
8830 "parameters" : {
8831 "additionalProperties" : 0
8832 },
8833 "permissions" : {
8834 "check" : [
8835 "admin",
8836 "audit"
8837 ]
8838 },
ab2b846b 8839 "protected" : 1,
d210277a
TL
8840 "proxyto" : "master",
8841 "returns" : {
ab2b846b
TL
8842 "items" : {
8843 "additionalProperties" : 0,
8844 "properties" : {
8845 "datastore" : {
8846 "description" : "Proxmox Backup Server datastore name.",
8847 "optional" : 0,
0b9926d3 8848 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
ab2b846b
TL
8849 "type" : "string"
8850 },
8851 "disable" : {
8852 "description" : "Flag to disable (deactivate) the entry.",
8853 "optional" : 1,
8854 "type" : "boolean"
8855 },
8856 "fingerprint" : {
8857 "description" : "Certificate SHA 256 fingerprint.",
8858 "optional" : 1,
8859 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8860 "type" : "string"
8861 },
c5ccf1ab
TL
8862 "include-statistics" : {
8863 "description" : "Include statistics in scheduled backups",
8864 "optional" : 1,
8865 "type" : "boolean"
8866 },
ab2b846b
TL
8867 "keep-daily" : {
8868 "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.",
8869 "format_description" : "N",
8870 "minimum" : "0",
8871 "optional" : 1,
8872 "type" : "integer"
8873 },
8874 "keep-hourly" : {
8875 "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.",
8876 "format_description" : "N",
8877 "minimum" : "0",
8878 "optional" : 1,
8879 "type" : "integer"
8880 },
8881 "keep-last" : {
8882 "description" : "Keep the last <N> backups.",
8883 "format_description" : "N",
8884 "minimum" : "0",
8885 "optional" : 1,
8886 "type" : "integer"
8887 },
8888 "keep-monthly" : {
8889 "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.",
8890 "format_description" : "N",
8891 "minimum" : "0",
8892 "optional" : 1,
8893 "type" : "integer"
8894 },
8895 "keep-weekly" : {
8896 "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.",
8897 "format_description" : "N",
8898 "minimum" : "0",
8899 "optional" : 1,
8900 "type" : "integer"
8901 },
8902 "keep-yearly" : {
8903 "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.",
8904 "format_description" : "N",
8905 "minimum" : "0",
8906 "optional" : 1,
8907 "type" : "integer"
8908 },
0b9926d3
TL
8909 "namespace" : {
8910 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8911 "maxLength" : 256,
8912 "optional" : 1,
8913 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8914 "type" : "string"
8915 },
c5ccf1ab
TL
8916 "notify" : {
8917 "description" : "Specify when to notify via e-mail",
8918 "enum" : [
8919 "always",
8920 "error",
8921 "never"
8922 ],
8923 "optional" : 1,
8924 "type" : "string"
8925 },
ab2b846b
TL
8926 "password" : {
8927 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8928 "optional" : 1,
8929 "type" : "string"
8930 },
8931 "remote" : {
8932 "description" : "Proxmox Backup Server ID.",
8933 "format" : "pve-configid",
8934 "type" : "string"
8935 },
8936 "server" : {
8937 "description" : "Proxmox Backup Server address.",
8938 "format" : "address",
8939 "maxLength" : 256,
8940 "optional" : 0,
8941 "type" : "string"
8942 },
8943 "username" : {
8944 "description" : "Username or API token ID on the Proxmox Backup Server",
8945 "maxLength" : 512,
8946 "minLength" : 3,
8947 "optional" : 1,
c5ccf1ab 8948 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8949 "type" : "string"
8950 }
8951 },
8952 "type" : "object"
8953 },
8954 "links" : [
8955 {
8956 "href" : "{remote}",
8957 "rel" : "child"
8958 }
8959 ],
8960 "type" : "array"
d210277a
TL
8961 }
8962 },
ab2b846b 8963 "POST" : {
6bd70b95 8964 "allowtoken" : 1,
ab2b846b
TL
8965 "description" : "Add Proxmox Backup Server remote instance.",
8966 "method" : "POST",
8967 "name" : "create",
d210277a
TL
8968 "parameters" : {
8969 "additionalProperties" : 0,
8970 "properties" : {
ab2b846b
TL
8971 "datastore" : {
8972 "description" : "Proxmox Backup Server datastore name.",
8973 "optional" : 0,
0b9926d3
TL
8974 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8975 "type" : "string"
d210277a 8976 },
ab2b846b
TL
8977 "disable" : {
8978 "description" : "Flag to disable (deactivate) the entry.",
f225b3b4
DM
8979 "optional" : 1,
8980 "type" : "boolean",
8981 "typetext" : "<boolean>"
8982 },
ab2b846b
TL
8983 "fingerprint" : {
8984 "description" : "Certificate SHA 256 fingerprint.",
f225b3b4 8985 "optional" : 1,
ab2b846b
TL
8986 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8987 "type" : "string"
f225b3b4 8988 },
c5ccf1ab
TL
8989 "include-statistics" : {
8990 "description" : "Include statistics in scheduled backups",
8991 "optional" : 1,
8992 "type" : "boolean",
8993 "typetext" : "<boolean>"
8994 },
ab2b846b
TL
8995 "keep-daily" : {
8996 "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.",
8997 "format_description" : "N",
8998 "minimum" : "0",
241ac83c 8999 "optional" : 1,
ab2b846b
TL
9000 "type" : "integer",
9001 "typetext" : "<N>"
241ac83c 9002 },
ab2b846b
TL
9003 "keep-hourly" : {
9004 "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.",
9005 "format_description" : "N",
9006 "minimum" : "0",
241ac83c 9007 "optional" : 1,
ab2b846b
TL
9008 "type" : "integer",
9009 "typetext" : "<N>"
241ac83c 9010 },
ab2b846b
TL
9011 "keep-last" : {
9012 "description" : "Keep the last <N> backups.",
9013 "format_description" : "N",
9014 "minimum" : "0",
410dc2c9 9015 "optional" : 1,
ab2b846b
TL
9016 "type" : "integer",
9017 "typetext" : "<N>"
410dc2c9 9018 },
ab2b846b
TL
9019 "keep-monthly" : {
9020 "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.",
9021 "format_description" : "N",
9022 "minimum" : "0",
410dc2c9 9023 "optional" : 1,
ab2b846b
TL
9024 "type" : "integer",
9025 "typetext" : "<N>"
410dc2c9 9026 },
ab2b846b
TL
9027 "keep-weekly" : {
9028 "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.",
9029 "format_description" : "N",
9030 "minimum" : "0",
410dc2c9 9031 "optional" : 1,
ab2b846b
TL
9032 "type" : "integer",
9033 "typetext" : "<N>"
410dc2c9 9034 },
ab2b846b
TL
9035 "keep-yearly" : {
9036 "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.",
9037 "format_description" : "N",
9038 "minimum" : "0",
9039 "optional" : 1,
9040 "type" : "integer",
9041 "typetext" : "<N>"
9042 },
0b9926d3
TL
9043 "namespace" : {
9044 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
9045 "maxLength" : 256,
9046 "optional" : 1,
9047 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
9048 "type" : "string"
9049 },
c5ccf1ab
TL
9050 "notify" : {
9051 "description" : "Specify when to notify via e-mail",
9052 "enum" : [
9053 "always",
9054 "error",
9055 "never"
9056 ],
9057 "optional" : 1,
9058 "type" : "string"
9059 },
ab2b846b
TL
9060 "password" : {
9061 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
9062 "optional" : 1,
9063 "type" : "string",
9064 "typetext" : "<string>"
9065 },
9066 "remote" : {
9067 "description" : "Proxmox Backup Server ID.",
9068 "format" : "pve-configid",
9069 "type" : "string",
9070 "typetext" : "<string>"
9071 },
9072 "server" : {
9073 "description" : "Proxmox Backup Server address.",
9074 "format" : "address",
9075 "maxLength" : 256,
9076 "optional" : 0,
9077 "type" : "string",
9078 "typetext" : "<string>"
9079 },
9080 "username" : {
9081 "description" : "Username or API token ID on the Proxmox Backup Server",
9082 "maxLength" : 512,
9083 "minLength" : 3,
9084 "optional" : 1,
c5ccf1ab 9085 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
9086 "type" : "string"
9087 }
9088 },
9089 "type" : "object"
9090 },
9091 "permissions" : {
9092 "check" : [
9093 "admin"
9094 ]
9095 },
9096 "protected" : 1,
9097 "proxyto" : "master",
9098 "returns" : {
9099 "type" : "null"
9100 }
9101 }
9102 },
9103 "leaf" : 0,
9104 "path" : "/config/pbs",
9105 "text" : "pbs"
9106 },
9107 {
c5ccf1ab
TL
9108 "children" : [
9109 {
9110 "children" : [
9111 {
9112 "info" : {
9113 "DELETE" : {
9114 "allowtoken" : 1,
9115 "description" : "Delete ACME plugin configuration.",
9116 "method" : "DELETE",
9117 "name" : "delete_plugin",
9118 "parameters" : {
9119 "additionalProperties" : 0,
9120 "properties" : {
9121 "id" : {
9122 "description" : "Unique identifier for ACME plugin instance.",
9123 "format" : "pve-configid",
9124 "type" : "string",
9125 "typetext" : "<string>"
9126 }
9127 }
9128 },
9129 "permissions" : {
9130 "check" : [
9131 "admin"
9132 ]
9133 },
9134 "protected" : 1,
9135 "returns" : {
9136 "type" : "null"
9137 }
9138 },
9139 "GET" : {
9140 "allowtoken" : 1,
9141 "description" : "Get ACME plugin configuration.",
9142 "method" : "GET",
9143 "name" : "get_plugin_config",
9144 "parameters" : {
9145 "additionalProperties" : 0,
9146 "properties" : {
9147 "id" : {
9148 "description" : "Unique identifier for ACME plugin instance.",
9149 "format" : "pve-configid",
9150 "type" : "string",
9151 "typetext" : "<string>"
9152 }
9153 }
9154 },
9155 "permissions" : {
9156 "check" : [
9157 "admin"
9158 ]
9159 },
9160 "protected" : 1,
9161 "returns" : {
9162 "type" : "object"
9163 }
9164 },
9165 "PUT" : {
9166 "allowtoken" : 1,
9167 "description" : "Update ACME plugin configuration.",
9168 "method" : "PUT",
9169 "name" : "update_plugin",
9170 "parameters" : {
9171 "additionalProperties" : 0,
9172 "properties" : {
9173 "api" : {
9174 "description" : "API plugin name",
9175 "enum" : [
9176 "1984hosting",
9177 "acmedns",
9178 "acmeproxy",
9179 "active24",
9180 "ad",
9181 "ali",
9182 "anx",
9183 "arvan",
0362f73f 9184 "aurora",
c5ccf1ab
TL
9185 "autodns",
9186 "aws",
e0e71e6a 9187 "azion",
c5ccf1ab 9188 "azure",
8c308065 9189 "bunny",
c5ccf1ab
TL
9190 "cf",
9191 "clouddns",
9192 "cloudns",
9193 "cn",
9194 "conoha",
9195 "constellix",
8c308065
TL
9196 "cpanel",
9197 "curanet",
c5ccf1ab
TL
9198 "cyon",
9199 "da",
9200 "ddnss",
9201 "desec",
9202 "df",
9203 "dgon",
8c308065 9204 "dnshome",
c5ccf1ab 9205 "dnsimple",
8c308065 9206 "dnsservices",
c5ccf1ab
TL
9207 "do",
9208 "doapi",
9209 "domeneshop",
9210 "dp",
9211 "dpi",
9212 "dreamhost",
9213 "duckdns",
9214 "durabledns",
9215 "dyn",
9216 "dynu",
9217 "dynv6",
9218 "easydns",
9219 "edgedns",
9220 "euserv",
9221 "exoscale",
8c308065 9222 "fornex",
c5ccf1ab
TL
9223 "freedns",
9224 "gandi_livedns",
9225 "gcloud",
9226 "gd",
8c308065 9227 "geoscaling",
c5ccf1ab
TL
9228 "he",
9229 "hetzner",
9230 "hexonet",
9231 "hostingde",
9232 "huaweicloud",
9233 "infoblox",
9234 "infomaniak",
9235 "internetbs",
9236 "inwx",
9237 "ionos",
9238 "ispconfig",
9239 "jd",
9240 "joker",
9241 "kappernet",
9242 "kas",
9243 "kinghost",
9244 "knot",
8c308065 9245 "la",
c5ccf1ab
TL
9246 "leaseweb",
9247 "lexicon",
9248 "linode",
9249 "linode_v4",
9250 "loopia",
9251 "lua",
9252 "maradns",
9253 "me",
9254 "miab",
9255 "misaka",
9256 "myapi",
9257 "mydevil",
9258 "mydnsjp",
8c308065 9259 "mythic_beasts",
c5ccf1ab
TL
9260 "namecheap",
9261 "namecom",
9262 "namesilo",
9263 "nederhost",
9264 "neodigit",
9265 "netcup",
9266 "netlify",
9267 "nic",
9268 "njalla",
9269 "nm",
9270 "nsd",
9271 "nsone",
9272 "nsupdate",
9273 "nw",
e0e71e6a 9274 "oci",
c5ccf1ab
TL
9275 "one",
9276 "online",
9277 "openprovider",
9278 "openstack",
9279 "opnsense",
9280 "ovh",
9281 "pdns",
9282 "pleskxml",
9283 "pointhq",
0362f73f 9284 "porkbun",
c5ccf1ab
TL
9285 "rackcorp",
9286 "rackspace",
8c308065 9287 "rage4",
c5ccf1ab
TL
9288 "rcode0",
9289 "regru",
9290 "scaleway",
9291 "schlundtech",
9292 "selectel",
8c308065 9293 "selfhost",
c5ccf1ab
TL
9294 "servercow",
9295 "simply",
9296 "tele3",
9297 "transip",
8c308065 9298 "udr",
c5ccf1ab
TL
9299 "ultra",
9300 "unoeuro",
9301 "variomedia",
e0e71e6a 9302 "veesp",
8c308065 9303 "vercel",
c5ccf1ab
TL
9304 "vscale",
9305 "vultr",
0362f73f 9306 "websupport",
c5ccf1ab
TL
9307 "world4you",
9308 "yandex",
8c308065 9309 "yc",
c5ccf1ab
TL
9310 "zilore",
9311 "zone",
9312 "zonomi"
9313 ],
9314 "optional" : 1,
9315 "type" : "string"
9316 },
9317 "data" : {
9318 "description" : "DNS plugin data. (base64 encoded)",
9319 "optional" : 1,
9320 "type" : "string",
9321 "typetext" : "<string>"
9322 },
9323 "delete" : {
9324 "description" : "A list of settings you want to delete.",
9325 "format" : "pve-configid-list",
9326 "maxLength" : 4096,
9327 "optional" : 1,
9328 "type" : "string",
9329 "typetext" : "<string>"
9330 },
9331 "digest" : {
9332 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9333 "maxLength" : 40,
9334 "optional" : 1,
9335 "type" : "string",
9336 "typetext" : "<string>"
9337 },
9338 "disable" : {
9339 "description" : "Flag to disable the config.",
9340 "optional" : 1,
9341 "type" : "boolean",
9342 "typetext" : "<boolean>"
9343 },
9344 "id" : {
9345 "description" : "ACME Plugin ID name",
9346 "format" : "pve-configid",
9347 "type" : "string",
9348 "typetext" : "<string>"
9349 },
9350 "nodes" : {
9351 "description" : "List of cluster node names.",
9352 "format" : "pve-node-list",
9353 "optional" : 1,
9354 "type" : "string",
9355 "typetext" : "<string>"
9356 },
9357 "validation-delay" : {
9358 "default" : 30,
9359 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9360 "maximum" : 172800,
9361 "minimum" : 0,
9362 "optional" : 1,
9363 "type" : "integer",
9364 "typetext" : "<integer> (0 - 172800)"
9365 }
9366 },
9367 "type" : "object"
9368 },
9369 "permissions" : {
9370 "check" : [
9371 "admin"
9372 ]
9373 },
9374 "protected" : 1,
9375 "returns" : {
9376 "type" : "null"
9377 }
9378 }
ab2b846b 9379 },
c5ccf1ab
TL
9380 "leaf" : 1,
9381 "path" : "/config/acme/plugins/{id}",
9382 "text" : "{id}"
9383 }
9384 ],
9385 "info" : {
9386 "GET" : {
9387 "allowtoken" : 1,
9388 "description" : "ACME plugin index.",
9389 "method" : "GET",
9390 "name" : "index",
9391 "parameters" : {
9392 "additionalProperties" : 0,
9393 "properties" : {
9394 "type" : {
9395 "description" : "Only list ACME plugins of a specific type",
9396 "enum" : [
9397 "dns",
9398 "standalone"
9399 ],
9400 "optional" : 1,
9401 "type" : "string"
9402 }
9403 }
ab2b846b 9404 },
c5ccf1ab
TL
9405 "permissions" : {
9406 "check" : [
9407 "admin"
9408 ]
ab2b846b 9409 },
c5ccf1ab
TL
9410 "protected" : 1,
9411 "returns" : {
9412 "items" : {
9413 "properties" : {
9414 "plugin" : {
9415 "description" : "Unique identifier for ACME plugin instance.",
9416 "format" : "pve-configid",
9417 "type" : "string"
9418 }
9419 },
9420 "type" : "object"
9421 },
9422 "links" : [
9423 {
9424 "href" : "{plugin}",
9425 "rel" : "child"
9426 }
9427 ],
9428 "type" : "array"
9429 }
9430 },
9431 "POST" : {
9432 "allowtoken" : 1,
9433 "description" : "Add ACME plugin configuration.",
9434 "method" : "POST",
9435 "name" : "add_plugin",
9436 "parameters" : {
9437 "additionalProperties" : 0,
9438 "properties" : {
9439 "api" : {
9440 "description" : "API plugin name",
9441 "enum" : [
9442 "1984hosting",
9443 "acmedns",
9444 "acmeproxy",
9445 "active24",
9446 "ad",
9447 "ali",
9448 "anx",
9449 "arvan",
0362f73f 9450 "aurora",
c5ccf1ab
TL
9451 "autodns",
9452 "aws",
e0e71e6a 9453 "azion",
c5ccf1ab 9454 "azure",
8c308065 9455 "bunny",
c5ccf1ab
TL
9456 "cf",
9457 "clouddns",
9458 "cloudns",
9459 "cn",
9460 "conoha",
9461 "constellix",
8c308065
TL
9462 "cpanel",
9463 "curanet",
c5ccf1ab
TL
9464 "cyon",
9465 "da",
9466 "ddnss",
9467 "desec",
9468 "df",
9469 "dgon",
8c308065 9470 "dnshome",
c5ccf1ab 9471 "dnsimple",
8c308065 9472 "dnsservices",
c5ccf1ab
TL
9473 "do",
9474 "doapi",
9475 "domeneshop",
9476 "dp",
9477 "dpi",
9478 "dreamhost",
9479 "duckdns",
9480 "durabledns",
9481 "dyn",
9482 "dynu",
9483 "dynv6",
9484 "easydns",
9485 "edgedns",
9486 "euserv",
9487 "exoscale",
8c308065 9488 "fornex",
c5ccf1ab
TL
9489 "freedns",
9490 "gandi_livedns",
9491 "gcloud",
9492 "gd",
8c308065 9493 "geoscaling",
c5ccf1ab
TL
9494 "he",
9495 "hetzner",
9496 "hexonet",
9497 "hostingde",
9498 "huaweicloud",
9499 "infoblox",
9500 "infomaniak",
9501 "internetbs",
9502 "inwx",
9503 "ionos",
9504 "ispconfig",
9505 "jd",
9506 "joker",
9507 "kappernet",
9508 "kas",
9509 "kinghost",
9510 "knot",
8c308065 9511 "la",
c5ccf1ab
TL
9512 "leaseweb",
9513 "lexicon",
9514 "linode",
9515 "linode_v4",
9516 "loopia",
9517 "lua",
9518 "maradns",
9519 "me",
9520 "miab",
9521 "misaka",
9522 "myapi",
9523 "mydevil",
9524 "mydnsjp",
8c308065 9525 "mythic_beasts",
c5ccf1ab
TL
9526 "namecheap",
9527 "namecom",
9528 "namesilo",
9529 "nederhost",
9530 "neodigit",
9531 "netcup",
9532 "netlify",
9533 "nic",
9534 "njalla",
9535 "nm",
9536 "nsd",
9537 "nsone",
9538 "nsupdate",
9539 "nw",
e0e71e6a 9540 "oci",
c5ccf1ab
TL
9541 "one",
9542 "online",
9543 "openprovider",
9544 "openstack",
9545 "opnsense",
9546 "ovh",
9547 "pdns",
9548 "pleskxml",
9549 "pointhq",
0362f73f 9550 "porkbun",
c5ccf1ab
TL
9551 "rackcorp",
9552 "rackspace",
8c308065 9553 "rage4",
c5ccf1ab
TL
9554 "rcode0",
9555 "regru",
9556 "scaleway",
9557 "schlundtech",
9558 "selectel",
8c308065 9559 "selfhost",
c5ccf1ab
TL
9560 "servercow",
9561 "simply",
9562 "tele3",
9563 "transip",
8c308065 9564 "udr",
c5ccf1ab
TL
9565 "ultra",
9566 "unoeuro",
9567 "variomedia",
e0e71e6a 9568 "veesp",
8c308065 9569 "vercel",
c5ccf1ab
TL
9570 "vscale",
9571 "vultr",
0362f73f 9572 "websupport",
c5ccf1ab
TL
9573 "world4you",
9574 "yandex",
8c308065 9575 "yc",
c5ccf1ab
TL
9576 "zilore",
9577 "zone",
9578 "zonomi"
9579 ],
9580 "optional" : 1,
9581 "type" : "string"
9582 },
9583 "data" : {
9584 "description" : "DNS plugin data. (base64 encoded)",
9585 "optional" : 1,
9586 "type" : "string",
9587 "typetext" : "<string>"
9588 },
9589 "disable" : {
9590 "description" : "Flag to disable the config.",
9591 "optional" : 1,
9592 "type" : "boolean",
9593 "typetext" : "<boolean>"
9594 },
9595 "id" : {
9596 "description" : "ACME Plugin ID name",
9597 "format" : "pve-configid",
9598 "type" : "string",
9599 "typetext" : "<string>"
9600 },
9601 "nodes" : {
9602 "description" : "List of cluster node names.",
9603 "format" : "pve-node-list",
9604 "optional" : 1,
9605 "type" : "string",
9606 "typetext" : "<string>"
9607 },
9608 "type" : {
9609 "description" : "ACME challenge type.",
9610 "enum" : [
9611 "dns",
9612 "standalone"
9613 ],
9614 "type" : "string"
9615 },
9616 "validation-delay" : {
9617 "default" : 30,
9618 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9619 "maximum" : 172800,
9620 "minimum" : 0,
9621 "optional" : 1,
9622 "type" : "integer",
9623 "typetext" : "<integer> (0 - 172800)"
9624 }
9625 },
9626 "type" : "object"
d210277a 9627 },
c5ccf1ab
TL
9628 "permissions" : {
9629 "check" : [
9630 "admin"
9631 ]
d210277a 9632 },
c5ccf1ab
TL
9633 "protected" : 1,
9634 "returns" : {
9635 "type" : "null"
9636 }
9637 }
9638 },
9639 "leaf" : 0,
9640 "path" : "/config/acme/plugins",
9641 "text" : "plugins"
9642 },
9643 {
9644 "children" : [
9645 {
9646 "info" : {
9647 "DELETE" : {
9648 "allowtoken" : 1,
9649 "description" : "Deactivate existing ACME account at CA.",
9650 "method" : "DELETE",
9651 "name" : "deactivate_account",
9652 "parameters" : {
9653 "additionalProperties" : 0,
9654 "properties" : {
9655 "force" : {
9656 "default" : 0,
9657 "description" : "Delete account data even if the server refuses to deactivate the account.",
9658 "optional" : 1,
9659 "type" : "boolean",
9660 "typetext" : "<boolean>"
9661 },
9662 "name" : {
9663 "default" : "default",
9664 "description" : "ACME account config file name.",
9665 "format" : "pve-configid",
9666 "format_description" : "name",
9667 "optional" : 1,
9668 "type" : "string",
9669 "typetext" : "<name>"
9670 }
9671 }
9672 },
9673 "permissions" : {
9674 "check" : [
9675 "admin"
9676 ]
9677 },
9678 "protected" : 1,
9679 "proxyto" : "master",
9680 "returns" : {
9681 "type" : "string"
9682 }
9683 },
9684 "GET" : {
9685 "allowtoken" : 1,
9686 "description" : "Return existing ACME account information.",
9687 "method" : "GET",
9688 "name" : "get_account",
9689 "parameters" : {
9690 "additionalProperties" : 0,
9691 "properties" : {
9692 "name" : {
9693 "default" : "default",
9694 "description" : "ACME account config file name.",
9695 "format" : "pve-configid",
9696 "format_description" : "name",
9697 "optional" : 1,
9698 "type" : "string",
9699 "typetext" : "<name>"
9700 }
9701 }
9702 },
9703 "protected" : 1,
9704 "proxyto" : "master",
9705 "returns" : {
9706 "additionalProperties" : 0,
9707 "properties" : {
9708 "account" : {
9709 "optional" : 1,
9710 "renderer" : "yaml",
9711 "type" : "object"
9712 },
9713 "directory" : {
9714 "description" : "URL of ACME CA directory endpoint.",
9715 "optional" : 1,
9716 "pattern" : "^https?://.*",
9717 "type" : "string"
9718 },
9719 "location" : {
9720 "optional" : 1,
9721 "type" : "string"
9722 },
9723 "tos" : {
9724 "optional" : 1,
9725 "type" : "string"
9726 }
9727 },
9728 "type" : "object"
9729 }
9730 },
9731 "PUT" : {
9732 "allowtoken" : 1,
9733 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
9734 "method" : "PUT",
9735 "name" : "update_account",
9736 "parameters" : {
9737 "additionalProperties" : 0,
9738 "properties" : {
9739 "contact" : {
9740 "description" : "Contact email addresses.",
9741 "format" : "email-list",
9742 "optional" : 1,
9743 "type" : "string",
9744 "typetext" : "<string>"
9745 },
9746 "name" : {
9747 "default" : "default",
9748 "description" : "ACME account config file name.",
9749 "format" : "pve-configid",
9750 "format_description" : "name",
9751 "optional" : 1,
9752 "type" : "string",
9753 "typetext" : "<name>"
9754 }
9755 }
9756 },
9757 "permissions" : {
9758 "check" : [
9759 "admin"
9760 ]
9761 },
9762 "protected" : 1,
9763 "proxyto" : "master",
9764 "returns" : {
9765 "type" : "string"
9766 }
9767 }
d210277a 9768 },
c5ccf1ab
TL
9769 "leaf" : 1,
9770 "path" : "/config/acme/account/{name}",
9771 "text" : "{name}"
9772 }
9773 ],
9774 "info" : {
9775 "GET" : {
9776 "allowtoken" : 1,
9777 "description" : "ACME account index.",
9778 "method" : "GET",
9779 "name" : "account_index",
9780 "parameters" : {
9781 "additionalProperties" : 0
eff914dc 9782 },
c5ccf1ab
TL
9783 "permissions" : {
9784 "check" : [
9785 "admin",
9786 "audit"
9787 ]
a55e94a6 9788 },
c5ccf1ab
TL
9789 "protected" : 1,
9790 "returns" : {
9791 "items" : {
9792 "properties" : {},
9793 "type" : "object"
9794 },
9795 "links" : [
9796 {
9797 "href" : "{name}",
9798 "rel" : "child"
9799 }
9800 ],
9801 "type" : "array"
410dc2c9
DM
9802 }
9803 },
c5ccf1ab
TL
9804 "POST" : {
9805 "allowtoken" : 1,
9806 "description" : "Register a new ACME account with CA.",
9807 "method" : "POST",
9808 "name" : "register_account",
9809 "parameters" : {
9810 "additionalProperties" : 0,
9811 "properties" : {
9812 "contact" : {
9813 "description" : "Contact email addresses.",
9814 "format" : "email-list",
9815 "type" : "string",
9816 "typetext" : "<string>"
9817 },
9818 "directory" : {
9819 "default" : "https://acme-v02.api.letsencrypt.org/directory",
9820 "description" : "URL of ACME CA directory endpoint.",
9821 "optional" : 1,
9822 "pattern" : "^https?://.*",
9823 "type" : "string"
9824 },
9825 "name" : {
9826 "default" : "default",
9827 "description" : "ACME account config file name.",
9828 "format" : "pve-configid",
9829 "format_description" : "name",
9830 "optional" : 1,
9831 "type" : "string",
9832 "typetext" : "<name>"
9833 },
9834 "tos_url" : {
9835 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
9836 "optional" : 1,
9837 "type" : "string",
9838 "typetext" : "<string>"
9839 }
9840 }
9841 },
9842 "permissions" : {
9843 "check" : [
9844 "admin"
9845 ]
9846 },
9847 "protected" : 1,
9848 "proxyto" : "master",
9849 "returns" : {
9850 "type" : "string"
9851 }
9852 }
9853 },
9854 "leaf" : 0,
9855 "path" : "/config/acme/account",
9856 "text" : "account"
9857 },
9858 {
9859 "info" : {
9860 "GET" : {
9861 "allowtoken" : 1,
9862 "description" : "Retrieve ACME TermsOfService URL from CA.",
9863 "method" : "GET",
9864 "name" : "get_tos",
9865 "parameters" : {
9866 "additionalProperties" : 0,
9867 "properties" : {
9868 "directory" : {
9869 "default" : "https://acme-v02.api.letsencrypt.org/directory",
9870 "description" : "URL of ACME CA directory endpoint.",
9871 "optional" : 1,
9872 "pattern" : "^https?://.*",
9873 "type" : "string"
9874 }
9875 }
9876 },
9877 "permissions" : {
9878 "user" : "all"
9879 },
9880 "returns" : {
9881 "description" : "ACME TermsOfService URL.",
9882 "optional" : 1,
9883 "type" : "string"
9884 }
9885 }
9886 },
9887 "leaf" : 1,
9888 "path" : "/config/acme/tos",
9889 "text" : "tos"
9890 },
9891 {
9892 "info" : {
9893 "GET" : {
9894 "allowtoken" : 1,
9895 "description" : "Get named known ACME directory endpoints.",
9896 "method" : "GET",
9897 "name" : "get_directories",
9898 "parameters" : {
9899 "additionalProperties" : 0
9900 },
9901 "permissions" : {
9902 "user" : "all"
9903 },
9904 "returns" : {
9905 "items" : {
9906 "additionalProperties" : 0,
9907 "properties" : {
9908 "name" : {
9909 "type" : "string"
9910 },
9911 "url" : {
9912 "description" : "URL of ACME CA directory endpoint.",
9913 "pattern" : "^https?://.*",
9914 "type" : "string"
9915 }
9916 },
9917 "type" : "object"
9918 },
9919 "type" : "array"
9920 }
9921 }
9922 },
9923 "leaf" : 1,
9924 "path" : "/config/acme/directories",
9925 "text" : "directories"
9926 },
9927 {
9928 "info" : {
9929 "GET" : {
9930 "allowtoken" : 1,
9931 "description" : "Get schema of ACME challenge types.",
9932 "method" : "GET",
9933 "name" : "challenge-schema",
9934 "parameters" : {
9935 "additionalProperties" : 0
9936 },
9937 "permissions" : {
9938 "user" : "all"
9939 },
9940 "returns" : {
9941 "items" : {
9942 "additionalProperties" : 0,
9943 "properties" : {
9944 "id" : {
9945 "type" : "string"
9946 },
9947 "name" : {
9948 "description" : "Human readable name, falls back to id",
9949 "type" : "string"
9950 },
9951 "schema" : {
9952 "type" : "object"
9953 },
9954 "type" : {
9955 "type" : "string"
9956 }
9957 },
9958 "type" : "object"
9959 },
9960 "type" : "array"
9961 }
9962 }
9963 },
9964 "leaf" : 1,
9965 "path" : "/config/acme/challenge-schema",
9966 "text" : "challenge-schema"
9967 }
9968 ],
9969 "info" : {
9970 "GET" : {
9971 "allowtoken" : 1,
9972 "description" : "ACME index.",
9973 "method" : "GET",
9974 "name" : "index",
9975 "parameters" : {
9976 "additionalProperties" : 0
9977 },
9978 "permissions" : {
9979 "user" : "all"
9980 },
9981 "returns" : {
9982 "items" : {
9983 "properties" : {},
9984 "type" : "object"
9985 },
9986 "links" : [
9987 {
9988 "href" : "{name}",
9989 "rel" : "child"
9990 }
9991 ],
9992 "type" : "array"
9993 }
9994 }
9995 },
9996 "leaf" : 0,
9997 "path" : "/config/acme",
9998 "text" : "acme"
410dc2c9 9999 },
e0e71e6a
TL
10000 {
10001 "children" : [
10002 {
10003 "info" : {
10004 "GET" : {
10005 "allowtoken" : 1,
10006 "description" : "Read the webauthn configuration.",
10007 "method" : "GET",
10008 "name" : "get_webauthn_config",
10009 "parameters" : {
10010 "additionalProperties" : 0
10011 },
10012 "permissions" : {
10013 "user" : "all"
10014 },
10015 "protected" : 1,
10016 "returns" : {
10017 "optional" : 1,
10018 "properties" : {
0b9926d3
TL
10019 "allow-subdomains" : {
10020 "default" : 1,
10021 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
10022 "optional" : 1,
10023 "type" : "boolean"
10024 },
e0e71e6a
TL
10025 "id" : {
10026 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
10027 "optional" : 1,
10028 "type" : "string"
10029 },
10030 "origin" : {
10031 "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.",
10032 "optional" : 1,
10033 "type" : "string"
10034 },
10035 "rp" : {
10036 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
10037 "optional" : 1,
10038 "type" : "string"
10039 }
10040 },
10041 "type" : "object"
10042 }
10043 },
10044 "PUT" : {
10045 "allowtoken" : 1,
10046 "description" : "Read the webauthn configuration.",
10047 "method" : "PUT",
10048 "name" : "update_webauthn_config",
10049 "parameters" : {
10050 "additionalProperties" : 0,
10051 "properties" : {
0b9926d3
TL
10052 "allow-subdomains" : {
10053 "default" : 1,
10054 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
10055 "optional" : 1,
10056 "type" : "boolean",
10057 "typetext" : "<boolean>"
10058 },
e0e71e6a
TL
10059 "delete" : {
10060 "description" : "A list of settings you want to delete.",
10061 "enum" : [
8c308065 10062 "rp",
e0e71e6a 10063 "id",
0b9926d3 10064 "origin",
8c308065 10065 "allow-subdomains"
e0e71e6a
TL
10066 ],
10067 "optional" : 1,
10068 "type" : "string"
10069 },
10070 "digest" : {
10071 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10072 "maxLength" : 40,
10073 "optional" : 1,
10074 "type" : "string",
10075 "typetext" : "<string>"
10076 },
10077 "id" : {
10078 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
10079 "optional" : 1,
10080 "type" : "string",
10081 "typetext" : "<string>"
10082 },
10083 "origin" : {
10084 "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.",
10085 "optional" : 1,
10086 "type" : "string",
10087 "typetext" : "<string>"
10088 },
10089 "rp" : {
10090 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
10091 "optional" : 1,
10092 "type" : "string",
10093 "typetext" : "<string>"
10094 }
10095 }
10096 },
10097 "permissions" : {
10098 "check" : [
10099 "admin"
10100 ]
10101 },
10102 "protected" : 1,
10103 "proxyto" : "master",
10104 "returns" : {
10105 "type" : "null"
10106 }
10107 }
10108 },
10109 "leaf" : 1,
10110 "path" : "/config/tfa/webauthn",
10111 "text" : "webauthn"
10112 }
10113 ],
10114 "info" : {
10115 "GET" : {
10116 "allowtoken" : 1,
10117 "description" : "Directory index.",
10118 "method" : "GET",
10119 "name" : "index",
10120 "parameters" : {
10121 "additionalProperties" : 0
10122 },
10123 "returns" : {
10124 "items" : {
10125 "properties" : {
10126 "section" : {
10127 "type" : "string"
10128 }
10129 },
10130 "type" : "object"
10131 },
10132 "links" : [
10133 {
10134 "href" : "{section}",
10135 "rel" : "child"
10136 }
10137 ],
10138 "type" : "array"
10139 }
10140 }
10141 },
10142 "leaf" : 0,
10143 "path" : "/config/tfa",
10144 "text" : "tfa"
10145 },
410dc2c9
DM
10146 {
10147 "info" : {
10148 "GET" : {
6bd70b95 10149 "allowtoken" : 1,
c5ccf1ab 10150 "description" : "Read admin configuration properties.",
410dc2c9 10151 "method" : "GET",
c5ccf1ab 10152 "name" : "read_admin_section",
410dc2c9
DM
10153 "parameters" : {
10154 "additionalProperties" : 0
10155 },
732d76e1
DM
10156 "permissions" : {
10157 "check" : [
10158 "admin",
10159 "audit"
10160 ]
10161 },
410dc2c9
DM
10162 "proxyto" : "master",
10163 "returns" : {
10164 "type" : "object"
10165 }
10166 },
10167 "PUT" : {
6bd70b95 10168 "allowtoken" : 1,
c5ccf1ab 10169 "description" : "Update admin configuration properties.",
410dc2c9 10170 "method" : "PUT",
c5ccf1ab 10171 "name" : "update_admin_section",
410dc2c9
DM
10172 "parameters" : {
10173 "additionalProperties" : 0,
10174 "properties" : {
c5ccf1ab
TL
10175 "advfilter" : {
10176 "default" : 1,
10177 "description" : "Use advanced filters for statistic.",
10178 "optional" : 1,
10179 "type" : "boolean",
10180 "typetext" : "<boolean>"
10181 },
10182 "avast" : {
410dc2c9 10183 "default" : 0,
c5ccf1ab 10184 "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
10185 "optional" : 1,
10186 "type" : "boolean",
10187 "typetext" : "<boolean>"
10188 },
c5ccf1ab
TL
10189 "clamav" : {
10190 "default" : 1,
10191 "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
410dc2c9 10192 "optional" : 1,
c5ccf1ab
TL
10193 "type" : "boolean",
10194 "typetext" : "<boolean>"
410dc2c9 10195 },
c5ccf1ab
TL
10196 "custom_check" : {
10197 "default" : 0,
10198 "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
410dc2c9 10199 "optional" : 1,
c5ccf1ab
TL
10200 "type" : "boolean",
10201 "typetext" : "<boolean>"
410dc2c9 10202 },
c5ccf1ab
TL
10203 "custom_check_path" : {
10204 "default" : "/usr/local/bin/pmg-custom-check",
10205 "description" : "Absolute Path to the Custom Check Script",
410dc2c9 10206 "optional" : 1,
c5ccf1ab
TL
10207 "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
10208 "type" : "string"
410dc2c9 10209 },
c5ccf1ab
TL
10210 "dailyreport" : {
10211 "default" : 1,
10212 "description" : "Send daily reports.",
410dc2c9 10213 "optional" : 1,
c5ccf1ab
TL
10214 "type" : "boolean",
10215 "typetext" : "<boolean>"
410dc2c9
DM
10216 },
10217 "delete" : {
10218 "description" : "A list of settings you want to delete.",
10219 "format" : "pve-configid-list",
10220 "maxLength" : 4096,
10221 "optional" : 1,
10222 "type" : "string",
10223 "typetext" : "<string>"
10224 },
c5ccf1ab
TL
10225 "demo" : {
10226 "default" : 0,
10227 "description" : "Demo mode - do not start SMTP filter.",
10228 "optional" : 1,
10229 "type" : "boolean",
10230 "typetext" : "<boolean>"
10231 },
410dc2c9
DM
10232 "digest" : {
10233 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10234 "maxLength" : 40,
10235 "optional" : 1,
10236 "type" : "string",
10237 "typetext" : "<string>"
10238 },
c5ccf1ab
TL
10239 "dkim_selector" : {
10240 "description" : "Default DKIM selector",
10241 "format" : "dns-name",
410dc2c9 10242 "optional" : 1,
c5ccf1ab
TL
10243 "type" : "string",
10244 "typetext" : "<string>"
f245a28c 10245 },
c5ccf1ab
TL
10246 "dkim_sign" : {
10247 "default" : 0,
10248 "description" : "DKIM sign outbound mails with the configured Selector.",
f245a28c
DM
10249 "optional" : 1,
10250 "type" : "boolean",
10251 "typetext" : "<boolean>"
549cfb68 10252 },
c5ccf1ab 10253 "dkim_sign_all_mail" : {
549cfb68 10254 "default" : 0,
c5ccf1ab 10255 "description" : "DKIM sign all outgoing mails irrespective of the Envelope From domain.",
549cfb68
TL
10256 "optional" : 1,
10257 "type" : "boolean",
10258 "typetext" : "<boolean>"
c5ccf1ab
TL
10259 },
10260 "email" : {
10261 "default" : "admin@domain.tld",
10262 "description" : "Administrator E-Mail address.",
10263 "format" : "email",
10264 "optional" : 1,
10265 "type" : "string",
10266 "typetext" : "<string>"
10267 },
10268 "http_proxy" : {
10269 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
10270 "optional" : 1,
10271 "pattern" : "http://.*",
10272 "type" : "string"
10273 },
10274 "statlifetime" : {
10275 "default" : 7,
10276 "description" : "User Statistics Lifetime (days)",
10277 "minimum" : 1,
10278 "optional" : 1,
10279 "type" : "integer",
10280 "typetext" : "<integer> (1 - N)"
10281 }
10282 },
10283 "type" : "object"
10284 },
10285 "permissions" : {
10286 "check" : [
10287 "admin"
10288 ]
10289 },
10290 "protected" : 1,
10291 "proxyto" : "master",
10292 "returns" : {
10293 "type" : "null"
10294 }
10295 }
10296 },
10297 "leaf" : 1,
10298 "path" : "/config/admin",
10299 "text" : "admin"
10300 },
10301 {
10302 "info" : {
10303 "GET" : {
10304 "allowtoken" : 1,
10305 "description" : "Read clamav configuration properties.",
10306 "method" : "GET",
10307 "name" : "read_clamav_section",
10308 "parameters" : {
10309 "additionalProperties" : 0
10310 },
10311 "permissions" : {
10312 "check" : [
10313 "admin",
10314 "audit"
10315 ]
10316 },
10317 "proxyto" : "master",
10318 "returns" : {
10319 "type" : "object"
10320 }
10321 },
10322 "PUT" : {
10323 "allowtoken" : 1,
10324 "description" : "Update clamav configuration properties.",
10325 "method" : "PUT",
10326 "name" : "update_clamav_section",
10327 "parameters" : {
10328 "additionalProperties" : 0,
10329 "properties" : {
10330 "archiveblockencrypted" : {
10331 "default" : 0,
10332 "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'.",
10333 "optional" : 1,
10334 "type" : "boolean",
10335 "typetext" : "<boolean>"
10336 },
10337 "archivemaxfiles" : {
10338 "default" : 1000,
10339 "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.",
10340 "minimum" : 0,
10341 "optional" : 1,
10342 "type" : "integer",
10343 "typetext" : "<integer> (0 - N)"
10344 },
10345 "archivemaxrec" : {
10346 "default" : 5,
10347 "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.",
10348 "minimum" : 1,
10349 "optional" : 1,
10350 "type" : "integer",
10351 "typetext" : "<integer> (1 - N)"
10352 },
10353 "archivemaxsize" : {
10354 "default" : 25000000,
10355 "description" : "Files larger than this limit (in bytes) won't be scanned.",
10356 "minimum" : 1000000,
10357 "optional" : 1,
10358 "type" : "integer",
10359 "typetext" : "<integer> (1000000 - N)"
10360 },
10361 "dbmirror" : {
10362 "default" : "database.clamav.net",
10363 "description" : "ClamAV database mirror server.",
10364 "optional" : 1,
10365 "type" : "string",
10366 "typetext" : "<string>"
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 "maxcccount" : {
10384 "default" : 0,
10385 "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
10386 "minimum" : 0,
10387 "optional" : 1,
10388 "type" : "integer",
10389 "typetext" : "<integer> (0 - N)"
10390 },
10391 "maxscansize" : {
10392 "default" : 100000000,
10393 "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.",
10394 "minimum" : 1000000,
10395 "optional" : 1,
10396 "type" : "integer",
10397 "typetext" : "<integer> (1000000 - N)"
10398 },
10399 "safebrowsing" : {
0362f73f
SI
10400 "default" : 0,
10401 "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)",
c5ccf1ab
TL
10402 "optional" : 1,
10403 "type" : "boolean",
10404 "typetext" : "<boolean>"
10405 },
10406 "scriptedupdates" : {
b4ec4bc2 10407 "default" : 1,
c5ccf1ab
TL
10408 "description" : "Enables ScriptedUpdates (incremental download of signatures)",
10409 "optional" : 1,
10410 "type" : "boolean",
10411 "typetext" : "<boolean>"
10412 }
10413 },
10414 "type" : "object"
410dc2c9 10415 },
732d76e1
DM
10416 "permissions" : {
10417 "check" : [
10418 "admin"
10419 ]
10420 },
410dc2c9
DM
10421 "protected" : 1,
10422 "proxyto" : "master",
10423 "returns" : {
10424 "type" : "null"
10425 }
10426 }
10427 },
10428 "leaf" : 1,
10429 "path" : "/config/clamav",
10430 "text" : "clamav"
10431 },
10432 {
10433 "info" : {
10434 "GET" : {
6bd70b95 10435 "allowtoken" : 1,
410dc2c9
DM
10436 "description" : "Read mail configuration properties.",
10437 "method" : "GET",
10438 "name" : "read_mail_section",
10439 "parameters" : {
10440 "additionalProperties" : 0
10441 },
732d76e1
DM
10442 "permissions" : {
10443 "check" : [
10444 "admin",
10445 "audit"
10446 ]
10447 },
410dc2c9
DM
10448 "proxyto" : "master",
10449 "returns" : {
10450 "type" : "object"
10451 }
10452 },
10453 "PUT" : {
6bd70b95 10454 "allowtoken" : 1,
410dc2c9
DM
10455 "description" : "Update mail configuration properties.",
10456 "method" : "PUT",
10457 "name" : "update_mail_section",
10458 "parameters" : {
10459 "additionalProperties" : 0,
10460 "properties" : {
10461 "banner" : {
10462 "default" : "ESMTP Proxmox",
10463 "description" : "ESMTP banner.",
10464 "maxLength" : 1024,
10465 "optional" : 1,
10466 "type" : "string",
10467 "typetext" : "<string>"
10468 },
d210277a
TL
10469 "before_queue_filtering" : {
10470 "default" : 0,
10471 "description" : "Enable before queue filtering by pmg-smtp-filter",
10472 "optional" : 1,
10473 "type" : "boolean",
10474 "typetext" : "<boolean>"
10475 },
410dc2c9
DM
10476 "conn_count_limit" : {
10477 "default" : 50,
10478 "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
10479 "minimum" : 0,
10480 "optional" : 1,
10481 "type" : "integer",
10482 "typetext" : "<integer> (0 - N)"
10483 },
10484 "conn_rate_limit" : {
10485 "default" : 0,
10486 "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.",
10487 "minimum" : 0,
10488 "optional" : 1,
10489 "type" : "integer",
10490 "typetext" : "<integer> (0 - N)"
10491 },
10492 "delete" : {
10493 "description" : "A list of settings you want to delete.",
10494 "format" : "pve-configid-list",
10495 "maxLength" : 4096,
10496 "optional" : 1,
10497 "type" : "string",
10498 "typetext" : "<string>"
10499 },
10500 "digest" : {
10501 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10502 "maxLength" : 40,
10503 "optional" : 1,
10504 "type" : "string",
10505 "typetext" : "<string>"
10506 },
10507 "dnsbl_sites" : {
10508 "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
274b47fc 10509 "format" : "dnsbl-entry-list",
410dc2c9
DM
10510 "optional" : 1,
10511 "type" : "string",
10512 "typetext" : "<string>"
10513 },
445686c9
DM
10514 "dnsbl_threshold" : {
10515 "default" : 1,
10516 "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (see postscreen_dnsbl_threshold parameter).",
10517 "minimum" : 0,
10518 "optional" : 1,
10519 "type" : "integer",
10520 "typetext" : "<integer> (0 - N)"
10521 },
410dc2c9
DM
10522 "dwarning" : {
10523 "default" : 4,
10524 "description" : "SMTP delay warning time (in hours).",
10525 "minimum" : 0,
10526 "optional" : 1,
10527 "type" : "integer",
10528 "typetext" : "<integer> (0 - N)"
10529 },
eff914dc 10530 "ext_port" : {
4a46ced6 10531 "default" : 25,
eff914dc
DM
10532 "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
10533 "maximum" : 65535,
10534 "minimum" : 1,
10535 "optional" : 1,
10536 "type" : "integer",
10537 "typetext" : "<integer> (1 - 65535)"
10538 },
410dc2c9
DM
10539 "greylist" : {
10540 "default" : 1,
549cfb68
TL
10541 "description" : "Use Greylisting for IPv4.",
10542 "optional" : 1,
10543 "type" : "boolean",
10544 "typetext" : "<boolean>"
10545 },
10546 "greylist6" : {
10547 "default" : 0,
10548 "description" : "Use Greylisting for IPv6.",
410dc2c9
DM
10549 "optional" : 1,
10550 "type" : "boolean",
10551 "typetext" : "<boolean>"
10552 },
549cfb68
TL
10553 "greylistmask4" : {
10554 "default" : 24,
10555 "description" : "Netmask to apply for greylisting IPv4 hosts",
10556 "maximum" : 32,
10557 "minimum" : 0,
10558 "optional" : 1,
10559 "type" : "integer",
10560 "typetext" : "<integer> (0 - 32)"
10561 },
10562 "greylistmask6" : {
10563 "default" : 64,
10564 "description" : "Netmask to apply for greylisting IPv6 hosts",
10565 "maximum" : 128,
10566 "minimum" : 0,
10567 "optional" : 1,
10568 "type" : "integer",
10569 "typetext" : "<integer> (0 - 128)"
10570 },
410dc2c9
DM
10571 "helotests" : {
10572 "default" : 0,
10573 "description" : "Use SMTP HELO tests.",
10574 "optional" : 1,
10575 "type" : "boolean",
10576 "typetext" : "<boolean>"
10577 },
10578 "hide_received" : {
10579 "default" : 0,
10580 "description" : "Hide received header in outgoing mails.",
10581 "optional" : 1,
10582 "type" : "boolean",
10583 "typetext" : "<boolean>"
10584 },
eff914dc 10585 "int_port" : {
4a46ced6 10586 "default" : 26,
eff914dc
DM
10587 "description" : "SMTP port number for outgoing mail (trusted).",
10588 "maximum" : 65535,
10589 "minimum" : 1,
10590 "optional" : 1,
10591 "type" : "integer",
10592 "typetext" : "<integer> (1 - 65535)"
10593 },
410dc2c9 10594 "max_filters" : {
0362f73f 10595 "default" : 38,
410dc2c9
DM
10596 "description" : "Maximum number of pmg-smtp-filter processes.",
10597 "maximum" : 40,
10598 "minimum" : 3,
10599 "optional" : 1,
10600 "type" : "integer",
10601 "typetext" : "<integer> (3 - 40)"
10602 },
10603 "max_policy" : {
10604 "default" : 5,
10605 "description" : "Maximum number of pmgpolicy processes.",
10606 "maximum" : 10,
10607 "minimum" : 2,
10608 "optional" : 1,
10609 "type" : "integer",
10610 "typetext" : "<integer> (2 - 10)"
10611 },
10612 "max_smtpd_in" : {
241ac83c 10613 "default" : 100,
410dc2c9
DM
10614 "description" : "Maximum number of SMTP daemon processes (in).",
10615 "maximum" : 100,
10616 "minimum" : 3,
10617 "optional" : 1,
10618 "type" : "integer",
10619 "typetext" : "<integer> (3 - 100)"
10620 },
10621 "max_smtpd_out" : {
241ac83c 10622 "default" : 100,
410dc2c9
DM
10623 "description" : "Maximum number of SMTP daemon processes (out).",
10624 "maximum" : 100,
10625 "minimum" : 3,
10626 "optional" : 1,
10627 "type" : "integer",
10628 "typetext" : "<integer> (3 - 100)"
10629 },
10630 "maxsize" : {
10631 "default" : 10485760,
10632 "description" : "Maximum email size. Larger mails are rejected.",
10633 "minimum" : 1024,
10634 "optional" : 1,
10635 "type" : "integer",
10636 "typetext" : "<integer> (1024 - N)"
10637 },
10638 "message_rate_limit" : {
10639 "default" : 0,
10640 "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.",
10641 "minimum" : 0,
10642 "optional" : 1,
10643 "type" : "integer",
10644 "typetext" : "<integer> (0 - N)"
10645 },
d210277a
TL
10646 "ndr_on_block" : {
10647 "default" : 0,
10648 "description" : "Send out NDR when mail gets blocked",
10649 "optional" : 1,
10650 "type" : "boolean",
10651 "typetext" : "<boolean>"
10652 },
410dc2c9
DM
10653 "rejectunknown" : {
10654 "default" : 0,
10655 "description" : "Reject unknown clients.",
10656 "optional" : 1,
10657 "type" : "boolean",
10658 "typetext" : "<boolean>"
10659 },
10660 "rejectunknownsender" : {
10661 "default" : 0,
10662 "description" : "Reject unknown senders.",
10663 "optional" : 1,
10664 "type" : "boolean",
10665 "typetext" : "<boolean>"
10666 },
10667 "relay" : {
10668 "description" : "The default mail delivery transport (incoming mails).",
eff914dc 10669 "format" : "address",
410dc2c9
DM
10670 "optional" : 1,
10671 "type" : "string",
10672 "typetext" : "<string>"
10673 },
10674 "relaynomx" : {
10675 "default" : 0,
6bd70b95 10676 "description" : "Disable MX lookups for default relay (SMTP only, ignored for LMTP).",
410dc2c9
DM
10677 "optional" : 1,
10678 "type" : "boolean",
10679 "typetext" : "<boolean>"
10680 },
10681 "relayport" : {
10682 "default" : 25,
6bd70b95 10683 "description" : "SMTP/LMTP port number for relay host.",
410dc2c9
DM
10684 "maximum" : 65535,
10685 "minimum" : 1,
10686 "optional" : 1,
10687 "type" : "integer",
10688 "typetext" : "<integer> (1 - 65535)"
10689 },
6bd70b95
TL
10690 "relayprotocol" : {
10691 "default" : "smtp",
10692 "description" : "Transport protocol for relay host.",
10693 "enum" : [
10694 "smtp",
10695 "lmtp"
10696 ],
10697 "optional" : 1,
10698 "type" : "string"
10699 },
eff914dc
DM
10700 "smarthost" : {
10701 "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
10702 "format" : "address",
10703 "optional" : 1,
10704 "type" : "string",
10705 "typetext" : "<string>"
10706 },
445686c9
DM
10707 "smarthostport" : {
10708 "default" : 25,
10709 "description" : "SMTP port number for smarthost.",
10710 "maximum" : 65535,
10711 "minimum" : 1,
10712 "optional" : 1,
10713 "type" : "integer",
10714 "typetext" : "<integer> (1 - 65535)"
10715 },
8c308065
TL
10716 "smtputf8" : {
10717 "default" : 1,
10718 "description" : "Enable SMTPUTF8 support in Postfix and detection for locally generated mail",
10719 "optional" : 1,
10720 "type" : "boolean",
10721 "typetext" : "<boolean>"
10722 },
410dc2c9
DM
10723 "spf" : {
10724 "default" : 1,
10725 "description" : "Use Sender Policy Framework.",
10726 "optional" : 1,
10727 "type" : "boolean",
10728 "typetext" : "<boolean>"
10729 },
10730 "tls" : {
10731 "default" : 0,
eff914dc
DM
10732 "description" : "Enable TLS.",
10733 "optional" : 1,
10734 "type" : "boolean",
10735 "typetext" : "<boolean>"
10736 },
10737 "tlsheader" : {
10738 "default" : 0,
10739 "description" : "Add TLS received header.",
10740 "optional" : 1,
10741 "type" : "boolean",
10742 "typetext" : "<boolean>"
10743 },
10744 "tlslog" : {
10745 "default" : 0,
10746 "description" : "Enable TLS Logging.",
410dc2c9
DM
10747 "optional" : 1,
10748 "type" : "boolean",
10749 "typetext" : "<boolean>"
10750 },
410dc2c9 10751 "verifyreceivers" : {
eff914dc
DM
10752 "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
10753 "enum" : [
10754 "450",
10755 "550"
10756 ],
410dc2c9 10757 "optional" : 1,
eff914dc 10758 "type" : "string"
410dc2c9
DM
10759 }
10760 },
10761 "type" : "object"
10762 },
732d76e1
DM
10763 "permissions" : {
10764 "check" : [
10765 "admin"
10766 ]
10767 },
410dc2c9
DM
10768 "protected" : 1,
10769 "proxyto" : "master",
10770 "returns" : {
10771 "type" : "null"
10772 }
10773 }
10774 },
10775 "leaf" : 1,
10776 "path" : "/config/mail",
10777 "text" : "mail"
10778 },
10779 {
10780 "info" : {
10781 "GET" : {
6bd70b95 10782 "allowtoken" : 1,
410dc2c9
DM
10783 "description" : "Read spam configuration properties.",
10784 "method" : "GET",
10785 "name" : "read_spam_section",
10786 "parameters" : {
10787 "additionalProperties" : 0
10788 },
732d76e1
DM
10789 "permissions" : {
10790 "check" : [
10791 "admin",
10792 "audit"
10793 ]
10794 },
410dc2c9
DM
10795 "proxyto" : "master",
10796 "returns" : {
10797 "type" : "object"
10798 }
10799 },
10800 "PUT" : {
6bd70b95 10801 "allowtoken" : 1,
410dc2c9
DM
10802 "description" : "Update spam configuration properties.",
10803 "method" : "PUT",
10804 "name" : "update_spam_section",
10805 "parameters" : {
10806 "additionalProperties" : 0,
10807 "properties" : {
10808 "bounce_score" : {
10809 "default" : 0,
10810 "description" : "Additional score for bounce mails.",
10811 "maximum" : 1000,
10812 "minimum" : 0,
10813 "optional" : 1,
10814 "type" : "integer",
10815 "typetext" : "<integer> (0 - 1000)"
10816 },
274b47fc
DM
10817 "clamav_heuristic_score" : {
10818 "default" : 3,
0362f73f 10819 "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).",
274b47fc
DM
10820 "maximum" : 1000,
10821 "minimum" : 0,
10822 "optional" : 1,
10823 "type" : "integer",
10824 "typetext" : "<integer> (0 - 1000)"
10825 },
410dc2c9
DM
10826 "delete" : {
10827 "description" : "A list of settings you want to delete.",
10828 "format" : "pve-configid-list",
10829 "maxLength" : 4096,
10830 "optional" : 1,
10831 "type" : "string",
10832 "typetext" : "<string>"
10833 },
10834 "digest" : {
10835 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10836 "maxLength" : 40,
10837 "optional" : 1,
10838 "type" : "string",
10839 "typetext" : "<string>"
10840 },
8c308065
TL
10841 "extract_text" : {
10842 "default" : 0,
10843 "description" : "Extract text from attachments (doc, pdf, rtf, images) and scan for spam.",
10844 "optional" : 1,
10845 "type" : "boolean",
10846 "typetext" : "<boolean>"
10847 },
410dc2c9
DM
10848 "languages" : {
10849 "default" : "all",
10850 "description" : "This option is used to specify which languages are considered OK for incoming mail.",
10851 "optional" : 1,
10852 "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
10853 "type" : "string"
10854 },
10855 "maxspamsize" : {
274b47fc 10856 "default" : 262144,
410dc2c9
DM
10857 "description" : "Maximum size of spam messages in bytes.",
10858 "minimum" : 64,
10859 "optional" : 1,
10860 "type" : "integer",
10861 "typetext" : "<integer> (64 - N)"
10862 },
10863 "rbl_checks" : {
10864 "default" : 1,
10865 "description" : "Enable real time blacklists (RBL) checks.",
10866 "optional" : 1,
10867 "type" : "boolean",
10868 "typetext" : "<boolean>"
10869 },
10870 "use_awl" : {
10871 "default" : 1,
10872 "description" : "Use the Auto-Whitelist plugin.",
10873 "optional" : 1,
10874 "type" : "boolean",
10875 "typetext" : "<boolean>"
10876 },
10877 "use_bayes" : {
10878 "default" : 1,
10879 "description" : "Whether to use the naive-Bayesian-style classifier.",
10880 "optional" : 1,
10881 "type" : "boolean",
10882 "typetext" : "<boolean>"
10883 },
410dc2c9
DM
10884 "use_razor" : {
10885 "default" : 1,
10886 "description" : "Whether to use Razor2, if it is available.",
10887 "optional" : 1,
10888 "type" : "boolean",
10889 "typetext" : "<boolean>"
10890 },
10891 "wl_bounce_relays" : {
10892 "description" : "Whitelist legitimate bounce relays.",
10893 "optional" : 1,
10894 "type" : "string",
10895 "typetext" : "<string>"
10896 }
10897 },
10898 "type" : "object"
10899 },
732d76e1
DM
10900 "permissions" : {
10901 "check" : [
10902 "admin"
10903 ]
10904 },
410dc2c9
DM
10905 "protected" : 1,
10906 "proxyto" : "master",
10907 "returns" : {
10908 "type" : "null"
10909 }
10910 }
10911 },
10912 "leaf" : 1,
10913 "path" : "/config/spam",
10914 "text" : "spam"
f245a28c
DM
10915 },
10916 {
10917 "info" : {
10918 "GET" : {
6bd70b95 10919 "allowtoken" : 1,
f245a28c
DM
10920 "description" : "Read spamquar configuration properties.",
10921 "method" : "GET",
10922 "name" : "read_spamquar_section",
10923 "parameters" : {
10924 "additionalProperties" : 0
10925 },
732d76e1
DM
10926 "permissions" : {
10927 "check" : [
10928 "admin",
10929 "audit"
10930 ]
10931 },
f245a28c
DM
10932 "proxyto" : "master",
10933 "returns" : {
10934 "type" : "object"
10935 }
10936 },
10937 "PUT" : {
6bd70b95 10938 "allowtoken" : 1,
f245a28c
DM
10939 "description" : "Update spamquar configuration properties.",
10940 "method" : "PUT",
10941 "name" : "update_spamquar_section",
10942 "parameters" : {
10943 "additionalProperties" : 0,
10944 "properties" : {
10945 "allowhrefs" : {
10946 "default" : 1,
10947 "description" : "Allow to view hyperlinks.",
10948 "optional" : 1,
10949 "type" : "boolean",
10950 "typetext" : "<boolean>"
10951 },
10952 "authmode" : {
10953 "default" : "ticket",
10954 "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.",
10955 "enum" : [
10956 "ticket",
10957 "ldap",
10958 "ldapticket"
10959 ],
10960 "optional" : 1,
10961 "type" : "string"
10962 },
10963 "delete" : {
10964 "description" : "A list of settings you want to delete.",
10965 "format" : "pve-configid-list",
10966 "maxLength" : 4096,
10967 "optional" : 1,
10968 "type" : "string",
10969 "typetext" : "<string>"
10970 },
10971 "digest" : {
10972 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10973 "maxLength" : 40,
10974 "optional" : 1,
10975 "type" : "string",
10976 "typetext" : "<string>"
10977 },
10978 "hostname" : {
b81b1f95 10979 "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
f245a28c
DM
10980 "format" : "address",
10981 "optional" : 1,
10982 "type" : "string",
10983 "typetext" : "<string>"
10984 },
10985 "lifetime" : {
10986 "default" : 7,
10987 "description" : "Quarantine life time (days)",
10988 "minimum" : 1,
10989 "optional" : 1,
10990 "type" : "integer",
10991 "typetext" : "<integer> (1 - N)"
10992 },
10993 "mailfrom" : {
10994 "description" : "Text for 'From' header in daily spam report mails.",
10995 "optional" : 1,
10996 "type" : "string",
10997 "typetext" : "<string>"
10998 },
b81b1f95
DM
10999 "port" : {
11000 "default" : 8006,
11001 "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
11002 "maximum" : 65535,
11003 "minimum" : 1,
11004 "optional" : 1,
11005 "type" : "integer",
11006 "typetext" : "<integer> (1 - 65535)"
11007 },
11008 "protocol" : {
11009 "default" : "https",
11010 "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
11011 "enum" : [
11012 "http",
11013 "https"
11014 ],
11015 "optional" : 1,
11016 "type" : "string"
11017 },
ab2b846b
TL
11018 "quarantinelink" : {
11019 "default" : 0,
11020 "description" : "Enables user self-service for Quarantine Links. Caution: this is accessible without authentication",
11021 "optional" : 1,
11022 "type" : "boolean",
11023 "typetext" : "<boolean>"
11024 },
f245a28c
DM
11025 "reportstyle" : {
11026 "default" : "verbose",
11027 "description" : "Spam report style.",
11028 "enum" : [
11029 "none",
11030 "short",
11031 "verbose",
f245a28c
DM
11032 "custom"
11033 ],
11034 "optional" : 1,
11035 "type" : "string"
11036 },
a55e94a6
DM
11037 "viewimages" : {
11038 "default" : 1,
11039 "description" : "Allow to view images.",
11040 "optional" : 1,
11041 "type" : "boolean",
11042 "typetext" : "<boolean>"
11043 }
11044 },
11045 "type" : "object"
11046 },
732d76e1
DM
11047 "permissions" : {
11048 "check" : [
11049 "admin"
11050 ]
11051 },
a55e94a6
DM
11052 "protected" : 1,
11053 "proxyto" : "master",
11054 "returns" : {
11055 "type" : "null"
11056 }
11057 }
11058 },
11059 "leaf" : 1,
11060 "path" : "/config/spamquar",
11061 "text" : "spamquar"
11062 },
11063 {
11064 "info" : {
11065 "GET" : {
6bd70b95 11066 "allowtoken" : 1,
a55e94a6
DM
11067 "description" : "Read virusquar configuration properties.",
11068 "method" : "GET",
11069 "name" : "read_virusquar_section",
11070 "parameters" : {
11071 "additionalProperties" : 0
11072 },
732d76e1
DM
11073 "permissions" : {
11074 "check" : [
11075 "admin",
11076 "audit"
11077 ]
11078 },
a55e94a6
DM
11079 "proxyto" : "master",
11080 "returns" : {
11081 "type" : "object"
11082 }
11083 },
11084 "PUT" : {
6bd70b95 11085 "allowtoken" : 1,
a55e94a6
DM
11086 "description" : "Update virusquar configuration properties.",
11087 "method" : "PUT",
11088 "name" : "update_virusquar_section",
11089 "parameters" : {
11090 "additionalProperties" : 0,
11091 "properties" : {
11092 "allowhrefs" : {
11093 "default" : 1,
11094 "description" : "Allow to view hyperlinks.",
11095 "optional" : 1,
11096 "type" : "boolean",
11097 "typetext" : "<boolean>"
11098 },
11099 "delete" : {
11100 "description" : "A list of settings you want to delete.",
11101 "format" : "pve-configid-list",
11102 "maxLength" : 4096,
11103 "optional" : 1,
11104 "type" : "string",
11105 "typetext" : "<string>"
11106 },
11107 "digest" : {
11108 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
11109 "maxLength" : 40,
11110 "optional" : 1,
11111 "type" : "string",
11112 "typetext" : "<string>"
11113 },
11114 "lifetime" : {
11115 "default" : 7,
11116 "description" : "Quarantine life time (days)",
11117 "minimum" : 1,
11118 "optional" : 1,
11119 "type" : "integer",
11120 "typetext" : "<integer> (1 - N)"
11121 },
11122 "viewimages" : {
11123 "default" : 1,
11124 "description" : "Allow to view images.",
11125 "optional" : 1,
11126 "type" : "boolean",
11127 "typetext" : "<boolean>"
11128 }
11129 },
11130 "type" : "object"
11131 },
732d76e1
DM
11132 "permissions" : {
11133 "check" : [
11134 "admin"
11135 ]
11136 },
a55e94a6
DM
11137 "protected" : 1,
11138 "proxyto" : "master",
11139 "returns" : {
11140 "type" : "null"
11141 }
11142 }
11143 },
11144 "leaf" : 1,
11145 "path" : "/config/virusquar",
11146 "text" : "virusquar"
9fda36b0
DM
11147 },
11148 {
11149 "info" : {
11150 "POST" : {
6bd70b95 11151 "allowtoken" : 1,
ab2b846b 11152 "description" : "Test Regex ignoring case",
9fda36b0
DM
11153 "method" : "POST",
11154 "name" : "regextest",
11155 "parameters" : {
11156 "additionalProperties" : 0,
11157 "properties" : {
11158 "regex" : {
11159 "description" : "The Regex to test",
11160 "maxLength" : 1024,
11161 "type" : "string",
11162 "typetext" : "<string>"
11163 },
11164 "text" : {
11165 "description" : "The String to test",
11166 "maxLength" : 1024,
11167 "type" : "string",
11168 "typetext" : "<string>"
11169 }
11170 }
11171 },
11172 "permissions" : {
11173 "check" : [
11174 "admin",
11175 "qmanager",
11176 "audit"
11177 ]
11178 },
11179 "protected" : 0,
11180 "returns" : {
11181 "type" : "number"
11182 }
11183 }
11184 },
11185 "leaf" : 1,
11186 "path" : "/config/regextest",
11187 "text" : "regextest"
a55e94a6
DM
11188 }
11189 ],
11190 "info" : {
11191 "GET" : {
6bd70b95 11192 "allowtoken" : 1,
a55e94a6
DM
11193 "description" : "Directory index.",
11194 "method" : "GET",
11195 "name" : "index",
11196 "parameters" : {
11197 "additionalProperties" : 0
11198 },
11199 "returns" : {
11200 "items" : {
11201 "properties" : {
11202 "section" : {
11203 "type" : "string"
11204 }
11205 },
11206 "type" : "object"
11207 },
11208 "links" : [
11209 {
11210 "href" : "{section}",
11211 "rel" : "child"
11212 }
11213 ],
11214 "type" : "array"
11215 }
11216 }
11217 },
11218 "leaf" : 0,
11219 "path" : "/config",
11220 "text" : "config"
11221 },
11222 {
11223 "children" : [
11224 {
11225 "children" : [
11226 {
11227 "children" : [
11228 {
11229 "info" : {
11230 "GET" : {
6bd70b95 11231 "allowtoken" : 1,
a55e94a6
DM
11232 "description" : "Print Postfix queue domain and age distribution.",
11233 "method" : "GET",
11234 "name" : "qshape",
11235 "parameters" : {
11236 "additionalProperties" : 0,
11237 "properties" : {
11238 "node" : {
11239 "description" : "The cluster node name.",
11240 "format" : "pve-node",
11241 "type" : "string",
11242 "typetext" : "<string>"
11243 },
11244 "queue" : {
11245 "default" : "deferred",
11246 "description" : "Postfix queue name.",
11247 "enum" : [
11248 "deferred",
11249 "active",
11250 "incoming",
11251 "hold"
11252 ],
11253 "optional" : 1,
11254 "type" : "string"
11255 }
11256 }
11257 },
11258 "permissions" : {
11259 "check" : [
732d76e1
DM
11260 "admin",
11261 "audit"
a55e94a6
DM
11262 ]
11263 },
11264 "protected" : 1,
11265 "proxyto" : "node",
11266 "returns" : {
11267 "items" : {
11268 "properties" : {},
11269 "type" : "object"
11270 },
11271 "type" : "array"
11272 }
11273 }
11274 },
11275 "leaf" : 1,
11276 "path" : "/nodes/{node}/postfix/qshape",
11277 "text" : "qshape"
11278 },
11279 {
11280 "children" : [
11281 {
11282 "children" : [
11283 {
11284 "info" : {
11285 "DELETE" : {
6bd70b95 11286 "allowtoken" : 1,
a55e94a6
DM
11287 "description" : "Delete one message with the named queue ID.",
11288 "method" : "DELETE",
11289 "name" : "delete_queued_mail",
11290 "parameters" : {
11291 "additionalProperties" : 0,
11292 "properties" : {
11293 "node" : {
11294 "description" : "The cluster node name.",
11295 "format" : "pve-node",
11296 "type" : "string",
11297 "typetext" : "<string>"
11298 },
11299 "queue" : {
11300 "description" : "Postfix queue name.",
11301 "enum" : [
11302 "deferred",
11303 "active",
11304 "incoming",
11305 "hold"
11306 ],
11307 "type" : "string"
11308 },
11309 "queue_id" : {
11310 "description" : "The Message queue ID.",
11311 "maxLength" : 20,
11312 "minLength" : 8,
11313 "pattern" : "[a-zA-Z0-9]+",
11314 "type" : "string"
11315 }
11316 }
11317 },
11318 "permissions" : {
11319 "check" : [
11320 "admin"
11321 ]
11322 },
11323 "protected" : 1,
11324 "proxyto" : "node",
11325 "returns" : {
11326 "type" : "null"
11327 }
11328 },
11329 "GET" : {
6bd70b95 11330 "allowtoken" : 1,
a55e94a6
DM
11331 "description" : "Get the contents of a queued mail.",
11332 "method" : "GET",
11333 "name" : "read_queued_mail",
11334 "parameters" : {
11335 "additionalProperties" : 0,
11336 "properties" : {
11337 "body" : {
11338 "default" : 0,
11339 "description" : "Include body content.",
11340 "optional" : 1,
11341 "type" : "boolean",
11342 "typetext" : "<boolean>"
11343 },
db80f170
TL
11344 "decode-header" : {
11345 "default" : 0,
11346 "description" : "Decodes the header fields.",
11347 "optional" : 1,
11348 "type" : "boolean",
11349 "typetext" : "<boolean>"
11350 },
a55e94a6
DM
11351 "header" : {
11352 "default" : 1,
11353 "description" : "Show message header content.",
11354 "optional" : 1,
11355 "type" : "boolean",
11356 "typetext" : "<boolean>"
11357 },
11358 "node" : {
11359 "description" : "The cluster node name.",
11360 "format" : "pve-node",
11361 "type" : "string",
11362 "typetext" : "<string>"
11363 },
11364 "queue" : {
11365 "description" : "Postfix queue name.",
11366 "enum" : [
11367 "deferred",
11368 "active",
11369 "incoming",
11370 "hold"
11371 ],
11372 "type" : "string"
11373 },
11374 "queue_id" : {
11375 "description" : "The Message queue ID.",
11376 "maxLength" : 20,
11377 "minLength" : 8,
11378 "pattern" : "[a-zA-Z0-9]+",
11379 "type" : "string"
11380 }
11381 }
11382 },
11383 "permissions" : {
11384 "check" : [
11385 "admin"
11386 ]
11387 },
11388 "protected" : 1,
11389 "proxyto" : "node",
11390 "returns" : {
11391 "type" : "string"
11392 }
11393 },
11394 "POST" : {
6bd70b95 11395 "allowtoken" : 1,
a55e94a6
DM
11396 "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
11397 "method" : "POST",
11398 "name" : "flush_queued_mail",
11399 "parameters" : {
11400 "additionalProperties" : 0,
11401 "properties" : {
11402 "node" : {
11403 "description" : "The cluster node name.",
11404 "format" : "pve-node",
11405 "type" : "string",
11406 "typetext" : "<string>"
11407 },
11408 "queue" : {
11409 "description" : "Postfix queue name.",
11410 "enum" : [
11411 "deferred",
11412 "active",
11413 "incoming",
11414 "hold"
11415 ],
11416 "type" : "string"
11417 },
11418 "queue_id" : {
11419 "description" : "The Message queue ID.",
11420 "maxLength" : 20,
11421 "minLength" : 8,
11422 "pattern" : "[a-zA-Z0-9]+",
11423 "type" : "string"
11424 }
11425 }
11426 },
11427 "permissions" : {
11428 "check" : [
11429 "admin"
11430 ]
11431 },
11432 "protected" : 1,
11433 "proxyto" : "node",
11434 "returns" : {
11435 "type" : "null"
11436 }
11437 }
11438 },
11439 "leaf" : 1,
11440 "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
11441 "text" : "{queue_id}"
11442 }
11443 ],
11444 "info" : {
11445 "DELETE" : {
6bd70b95 11446 "allowtoken" : 1,
a55e94a6
DM
11447 "description" : "Delete all mails in the queue.",
11448 "method" : "DELETE",
11449 "name" : "delete_queue",
11450 "parameters" : {
11451 "additionalProperties" : 0,
11452 "properties" : {
11453 "node" : {
11454 "description" : "The cluster node name.",
11455 "format" : "pve-node",
11456 "type" : "string",
11457 "typetext" : "<string>"
11458 },
11459 "queue" : {
11460 "description" : "Postfix queue name.",
11461 "enum" : [
11462 "deferred",
11463 "active",
11464 "incoming",
11465 "hold"
11466 ],
11467 "type" : "string"
11468 }
11469 }
11470 },
11471 "permissions" : {
11472 "check" : [
11473 "admin"
11474 ]
11475 },
11476 "protected" : 1,
11477 "proxyto" : "node",
11478 "returns" : {
11479 "type" : "null"
11480 }
11481 },
11482 "GET" : {
6bd70b95 11483 "allowtoken" : 1,
a55e94a6
DM
11484 "description" : "List the mail queue for a specific domain.",
11485 "method" : "GET",
11486 "name" : "mailq",
11487 "parameters" : {
11488 "additionalProperties" : 0,
11489 "properties" : {
11490 "filter" : {
11491 "description" : "Filter string.",
11492 "maxLength" : 64,
11493 "optional" : 1,
11494 "type" : "string",
11495 "typetext" : "<string>"
11496 },
11497 "limit" : {
11498 "minimum" : 0,
11499 "optional" : 1,
11500 "type" : "integer",
11501 "typetext" : "<integer> (0 - N)"
11502 },
11503 "node" : {
11504 "description" : "The cluster node name.",
11505 "format" : "pve-node",
11506 "type" : "string",
11507 "typetext" : "<string>"
11508 },
11509 "queue" : {
11510 "description" : "Postfix queue name.",
11511 "enum" : [
11512 "deferred",
11513 "active",
11514 "incoming",
11515 "hold"
11516 ],
11517 "type" : "string"
11518 },
ab2b846b
TL
11519 "sortdir" : {
11520 "description" : "Sort direction.",
11521 "enum" : [
11522 "ASC",
11523 "DESC"
11524 ],
11525 "optional" : 1,
11526 "requires" : "sortfield",
11527 "type" : "string"
11528 },
11529 "sortfield" : {
11530 "description" : "Sort field.",
11531 "enum" : [
11532 "arrival_time",
11533 "message_size",
11534 "sender",
11535 "receiver",
11536 "reason"
11537 ],
11538 "optional" : 1,
11539 "type" : "string"
11540 },
a55e94a6
DM
11541 "start" : {
11542 "minimum" : 0,
11543 "optional" : 1,
11544 "type" : "integer",
11545 "typetext" : "<integer> (0 - N)"
11546 }
11547 }
11548 },
11549 "permissions" : {
11550 "check" : [
732d76e1
DM
11551 "admin",
11552 "audit"
a55e94a6
DM
11553 ]
11554 },
11555 "protected" : 1,
11556 "proxyto" : "node",
11557 "returns" : {
11558 "items" : {
11559 "properties" : {},
11560 "type" : "object"
11561 },
11562 "links" : [
11563 {
11564 "href" : "{queue_id}",
11565 "rel" : "child"
11566 }
11567 ],
11568 "type" : "array"
11569 }
11570 }
11571 },
11572 "leaf" : 0,
11573 "path" : "/nodes/{node}/postfix/queue/{queue}",
11574 "text" : "{queue}"
11575 }
11576 ],
11577 "info" : {
9fda36b0 11578 "DELETE" : {
6bd70b95 11579 "allowtoken" : 1,
9fda36b0
DM
11580 "description" : "Delete all mails in all posfix queues.",
11581 "method" : "DELETE",
11582 "name" : "delete_all_queues",
11583 "parameters" : {
11584 "additionalProperties" : 0,
11585 "properties" : {
11586 "node" : {
11587 "description" : "The cluster node name.",
11588 "format" : "pve-node",
11589 "type" : "string",
11590 "typetext" : "<string>"
11591 }
11592 }
11593 },
11594 "permissions" : {
11595 "check" : [
11596 "admin"
11597 ]
11598 },
11599 "protected" : 1,
11600 "proxyto" : "node",
11601 "returns" : {
11602 "type" : "null"
11603 }
11604 },
a55e94a6 11605 "GET" : {
6bd70b95 11606 "allowtoken" : 1,
a55e94a6
DM
11607 "description" : "Directory index.",
11608 "method" : "GET",
11609 "name" : "queue_index",
11610 "parameters" : {
11611 "additionalProperties" : 0,
11612 "properties" : {
11613 "node" : {
11614 "description" : "The cluster node name.",
11615 "format" : "pve-node",
11616 "type" : "string",
11617 "typetext" : "<string>"
11618 }
11619 }
11620 },
11621 "permissions" : {
11622 "user" : "all"
11623 },
11624 "returns" : {
11625 "items" : {
11626 "properties" : {},
11627 "type" : "object"
11628 },
11629 "links" : [
11630 {
11631 "href" : "{name}",
11632 "rel" : "child"
11633 }
11634 ],
11635 "type" : "array"
11636 }
11637 }
11638 },
11639 "leaf" : 0,
11640 "path" : "/nodes/{node}/postfix/queue",
11641 "text" : "queue"
f245a28c 11642 },
a55e94a6
DM
11643 {
11644 "info" : {
11645 "POST" : {
6bd70b95 11646 "allowtoken" : 1,
a55e94a6
DM
11647 "description" : "Flush the queue: attempt to deliver all queued mail.",
11648 "method" : "POST",
11649 "name" : "flush_queues",
11650 "parameters" : {
11651 "additionalProperties" : 0,
11652 "properties" : {
11653 "node" : {
11654 "description" : "The cluster node name.",
11655 "format" : "pve-node",
11656 "type" : "string",
11657 "typetext" : "<string>"
11658 }
11659 }
11660 },
11661 "permissions" : {
11662 "check" : [
11663 "admin"
11664 ]
11665 },
11666 "protected" : 1,
11667 "proxyto" : "node",
11668 "returns" : {
11669 "type" : "null"
11670 }
11671 }
f245a28c 11672 },
a55e94a6
DM
11673 "leaf" : 1,
11674 "path" : "/nodes/{node}/postfix/flush_queues",
11675 "text" : "flush_queues"
11676 },
11677 {
11678 "info" : {
11679 "POST" : {
6bd70b95 11680 "allowtoken" : 1,
a55e94a6
DM
11681 "description" : "Discards the address verification cache.",
11682 "method" : "POST",
11683 "name" : "discard_verify_cache",
11684 "parameters" : {
11685 "additionalProperties" : 0,
11686 "properties" : {
11687 "node" : {
11688 "description" : "The cluster node name.",
11689 "format" : "pve-node",
11690 "type" : "string",
11691 "typetext" : "<string>"
11692 }
11693 }
11694 },
11695 "permissions" : {
11696 "check" : [
11697 "admin"
11698 ]
11699 },
11700 "protected" : 1,
11701 "proxyto" : "node",
11702 "returns" : {
11703 "type" : "null"
11704 }
11705 }
f245a28c 11706 },
a55e94a6
DM
11707 "leaf" : 1,
11708 "path" : "/nodes/{node}/postfix/discard_verify_cache",
11709 "text" : "discard_verify_cache"
11710 }
11711 ],
11712 "info" : {
11713 "GET" : {
6bd70b95 11714 "allowtoken" : 1,
a55e94a6
DM
11715 "description" : "Directory index.",
11716 "method" : "GET",
11717 "name" : "index",
11718 "parameters" : {
11719 "additionalProperties" : 0,
11720 "properties" : {
11721 "node" : {
11722 "description" : "The cluster node name.",
11723 "format" : "pve-node",
11724 "type" : "string",
11725 "typetext" : "<string>"
11726 }
11727 }
f245a28c 11728 },
a55e94a6
DM
11729 "permissions" : {
11730 "user" : "all"
f245a28c 11731 },
a55e94a6
DM
11732 "returns" : {
11733 "items" : {
11734 "properties" : {},
11735 "type" : "object"
11736 },
11737 "links" : [
11738 {
11739 "href" : "{name}",
11740 "rel" : "child"
11741 }
11742 ],
11743 "type" : "array"
f245a28c 11744 }
410dc2c9
DM
11745 }
11746 },
a55e94a6
DM
11747 "leaf" : 0,
11748 "path" : "/nodes/{node}/postfix",
11749 "text" : "postfix"
410dc2c9 11750 },
f245a28c
DM
11751 {
11752 "children" : [
11753 {
11754 "info" : {
11755 "GET" : {
6bd70b95 11756 "allowtoken" : 1,
f245a28c
DM
11757 "description" : "ClamAV virus database status.",
11758 "method" : "GET",
11759 "name" : "database_status",
11760 "parameters" : {
11761 "additionalProperties" : 0,
11762 "properties" : {
11763 "node" : {
11764 "description" : "The cluster node name.",
11765 "format" : "pve-node",
11766 "type" : "string",
11767 "typetext" : "<string>"
11768 }
11769 }
11770 },
bb6e6e0d
DM
11771 "permissions" : {
11772 "check" : [
11773 "admin",
11774 "audit"
11775 ]
11776 },
11777 "proxyto" : "node",
f245a28c
DM
11778 "returns" : {
11779 "items" : {
11780 "properties" : {
11781 "build_time" : {
11782 "type" : "string"
11783 },
11784 "nsigs" : {
11785 "type" : "integer"
11786 },
11787 "type" : {
11788 "type" : "string"
11789 },
11790 "version" : {
11791 "optional" : 1,
11792 "type" : "string"
11793 }
11794 },
11795 "type" : "object"
11796 },
11797 "type" : "array"
11798 }
11799 },
11800 "POST" : {
6bd70b95 11801 "allowtoken" : 1,
f245a28c
DM
11802 "description" : "Update ClamAV virus databases.",
11803 "method" : "POST",
11804 "name" : "update_database",
11805 "parameters" : {
11806 "additionalProperties" : 0,
11807 "properties" : {
11808 "node" : {
11809 "description" : "The cluster node name.",
11810 "format" : "pve-node",
11811 "type" : "string",
11812 "typetext" : "<string>"
11813 }
11814 }
11815 },
bb6e6e0d
DM
11816 "permissions" : {
11817 "check" : [
11818 "admin"
11819 ]
11820 },
f245a28c 11821 "protected" : 1,
bb6e6e0d 11822 "proxyto" : "node",
f245a28c
DM
11823 "returns" : {
11824 "type" : "string"
11825 }
11826 }
11827 },
11828 "leaf" : 1,
11829 "path" : "/nodes/{node}/clamav/database",
11830 "text" : "database"
11831 }
11832 ],
11833 "info" : {
11834 "GET" : {
6bd70b95 11835 "allowtoken" : 1,
f245a28c
DM
11836 "description" : "Directory index.",
11837 "method" : "GET",
11838 "name" : "index",
11839 "parameters" : {
11840 "additionalProperties" : 0,
11841 "properties" : {
11842 "node" : {
11843 "description" : "The cluster node name.",
11844 "format" : "pve-node",
11845 "type" : "string",
11846 "typetext" : "<string>"
11847 }
11848 }
11849 },
bb6e6e0d
DM
11850 "permissions" : {
11851 "check" : [
11852 "admin",
11853 "audit"
11854 ]
11855 },
f245a28c
DM
11856 "returns" : {
11857 "items" : {
11858 "properties" : {},
11859 "type" : "object"
11860 },
11861 "links" : [
11862 {
11863 "href" : "{subdir}",
11864 "rel" : "child"
11865 }
11866 ],
11867 "type" : "array"
11868 }
11869 }
11870 },
11871 "leaf" : 0,
11872 "path" : "/nodes/{node}/clamav",
11873 "text" : "clamav"
11874 },
bb6e6e0d
DM
11875 {
11876 "children" : [
11877 {
11878 "info" : {
11879 "GET" : {
6bd70b95 11880 "allowtoken" : 1,
bb6e6e0d
DM
11881 "description" : "SpamAssassin rules status.",
11882 "method" : "GET",
11883 "name" : "rules_status",
11884 "parameters" : {
11885 "additionalProperties" : 0,
11886 "properties" : {
11887 "node" : {
11888 "description" : "The cluster node name.",
11889 "format" : "pve-node",
11890 "type" : "string",
11891 "typetext" : "<string>"
11892 }
11893 }
11894 },
11895 "permissions" : {
11896 "check" : [
11897 "admin",
11898 "audit"
11899 ]
11900 },
11901 "proxyto" : "node",
11902 "returns" : {
11903 "items" : {
11904 "properties" : {
11905 "channel" : {
11906 "type" : "string"
11907 },
11908 "last_updated" : {
11909 "optional" : 1,
11910 "type" : "integer"
11911 },
11912 "update_avail" : {
11913 "type" : "boolean"
11914 },
11915 "update_version" : {
11916 "optional" : 1,
11917 "type" : "string"
11918 },
11919 "version" : {
11920 "optional" : 1,
11921 "type" : "string"
11922 }
11923 },
11924 "type" : "object"
11925 },
11926 "type" : "array"
11927 }
11928 },
11929 "POST" : {
6bd70b95 11930 "allowtoken" : 1,
bb6e6e0d
DM
11931 "description" : "Update SpamAssassin rules.",
11932 "method" : "POST",
11933 "name" : "update_rules",
11934 "parameters" : {
11935 "additionalProperties" : 0,
11936 "properties" : {
11937 "node" : {
11938 "description" : "The cluster node name.",
11939 "format" : "pve-node",
11940 "type" : "string",
11941 "typetext" : "<string>"
11942 }
11943 }
11944 },
11945 "permissions" : {
11946 "check" : [
11947 "admin"
11948 ]
11949 },
11950 "protected" : 1,
11951 "proxyto" : "node",
11952 "returns" : {
11953 "type" : "string"
11954 }
11955 }
11956 },
11957 "leaf" : 1,
11958 "path" : "/nodes/{node}/spamassassin/rules",
11959 "text" : "rules"
11960 }
11961 ],
11962 "info" : {
11963 "GET" : {
6bd70b95 11964 "allowtoken" : 1,
bb6e6e0d
DM
11965 "description" : "Directory index.",
11966 "method" : "GET",
11967 "name" : "index",
11968 "parameters" : {
11969 "additionalProperties" : 0,
11970 "properties" : {
11971 "node" : {
11972 "description" : "The cluster node name.",
11973 "format" : "pve-node",
11974 "type" : "string",
11975 "typetext" : "<string>"
11976 }
11977 }
11978 },
11979 "permissions" : {
11980 "check" : [
11981 "admin",
11982 "audit"
11983 ]
11984 },
11985 "returns" : {
11986 "items" : {
11987 "properties" : {},
11988 "type" : "object"
11989 },
11990 "links" : [
11991 {
11992 "href" : "{subdir}",
11993 "rel" : "child"
11994 }
11995 ],
11996 "type" : "array"
11997 }
11998 }
11999 },
12000 "leaf" : 0,
12001 "path" : "/nodes/{node}/spamassassin",
12002 "text" : "spamassassin"
12003 },
410dc2c9
DM
12004 {
12005 "children" : [
12006 {
12007 "info" : {
12008 "DELETE" : {
6bd70b95 12009 "allowtoken" : 1,
410dc2c9
DM
12010 "description" : "Delete network device configuration",
12011 "method" : "DELETE",
12012 "name" : "delete_network",
12013 "parameters" : {
12014 "additionalProperties" : 0,
12015 "properties" : {
12016 "iface" : {
12017 "description" : "Network interface name.",
12018 "format" : "pve-iface",
12019 "maxLength" : 20,
12020 "minLength" : 2,
12021 "type" : "string",
12022 "typetext" : "<string>"
12023 },
12024 "node" : {
12025 "description" : "The cluster node name.",
12026 "format" : "pve-node",
12027 "type" : "string",
12028 "typetext" : "<string>"
12029 }
12030 }
12031 },
12032 "protected" : 1,
12033 "proxyto" : "node",
12034 "returns" : {
12035 "type" : "null"
12036 }
12037 },
12038 "GET" : {
6bd70b95 12039 "allowtoken" : 1,
410dc2c9
DM
12040 "description" : "Read network device configuration",
12041 "method" : "GET",
12042 "name" : "network_config",
12043 "parameters" : {
12044 "additionalProperties" : 0,
12045 "properties" : {
12046 "iface" : {
12047 "description" : "Network interface name.",
12048 "format" : "pve-iface",
12049 "maxLength" : 20,
12050 "minLength" : 2,
12051 "type" : "string",
12052 "typetext" : "<string>"
12053 },
12054 "node" : {
12055 "description" : "The cluster node name.",
12056 "format" : "pve-node",
12057 "type" : "string",
12058 "typetext" : "<string>"
12059 }
12060 }
12061 },
732d76e1
DM
12062 "permissions" : {
12063 "check" : [
12064 "admin",
12065 "audit"
12066 ]
12067 },
410dc2c9
DM
12068 "proxyto" : "node",
12069 "returns" : {
12070 "properties" : {
12071 "method" : {
12072 "type" : "string"
12073 },
12074 "type" : {
12075 "type" : "string"
12076 }
12077 },
12078 "type" : "object"
12079 }
12080 },
12081 "PUT" : {
6bd70b95 12082 "allowtoken" : 1,
410dc2c9
DM
12083 "description" : "Update network device configuration",
12084 "method" : "PUT",
12085 "name" : "update_network",
12086 "parameters" : {
12087 "additionalProperties" : 0,
12088 "properties" : {
12089 "address" : {
12090 "description" : "IP address.",
12091 "format" : "ipv4",
12092 "optional" : 1,
12093 "requires" : "netmask",
12094 "type" : "string",
12095 "typetext" : "<string>"
12096 },
12097 "address6" : {
12098 "description" : "IP address.",
12099 "format" : "ipv6",
12100 "optional" : 1,
12101 "requires" : "netmask6",
12102 "type" : "string",
12103 "typetext" : "<string>"
12104 },
12105 "autostart" : {
12106 "description" : "Automatically start interface on boot.",
12107 "optional" : 1,
12108 "type" : "boolean",
12109 "typetext" : "<boolean>"
12110 },
6bd70b95
TL
12111 "bond-primary" : {
12112 "description" : "Specify the primary interface for active-backup bond.",
12113 "format" : "pve-iface",
12114 "optional" : 1,
12115 "type" : "string",
12116 "typetext" : "<string>"
12117 },
410dc2c9
DM
12118 "bond_mode" : {
12119 "description" : "Bonding mode.",
12120 "enum" : [
12121 "balance-rr",
12122 "active-backup",
12123 "balance-xor",
12124 "broadcast",
12125 "802.3ad",
12126 "balance-tlb",
12127 "balance-alb",
12128 "balance-slb",
12129 "lacp-balance-slb",
12130 "lacp-balance-tcp"
12131 ],
12132 "optional" : 1,
12133 "type" : "string"
12134 },
12135 "bond_xmit_hash_policy" : {
12136 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
12137 "enum" : [
12138 "layer2",
12139 "layer2+3",
12140 "layer3+4"
12141 ],
12142 "optional" : 1,
12143 "type" : "string"
12144 },
12145 "bridge_ports" : {
d8212759 12146 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12147 "format" : "pve-iface-list",
12148 "optional" : 1,
12149 "type" : "string",
12150 "typetext" : "<string>"
12151 },
12152 "bridge_vlan_aware" : {
12153 "description" : "Enable bridge vlan support.",
12154 "optional" : 1,
12155 "type" : "boolean",
12156 "typetext" : "<boolean>"
12157 },
241ac83c
TL
12158 "cidr" : {
12159 "description" : "IPv4 CIDR.",
12160 "format" : "CIDRv4",
12161 "optional" : 1,
12162 "type" : "string",
12163 "typetext" : "<string>"
12164 },
12165 "cidr6" : {
12166 "description" : "IPv6 CIDR.",
12167 "format" : "CIDRv6",
12168 "optional" : 1,
12169 "type" : "string",
12170 "typetext" : "<string>"
12171 },
410dc2c9
DM
12172 "comments" : {
12173 "description" : "Comments",
12174 "optional" : 1,
12175 "type" : "string",
12176 "typetext" : "<string>"
12177 },
12178 "comments6" : {
12179 "description" : "Comments",
12180 "optional" : 1,
12181 "type" : "string",
12182 "typetext" : "<string>"
12183 },
12184 "delete" : {
12185 "description" : "A list of settings you want to delete.",
12186 "format" : "pve-configid-list",
12187 "optional" : 1,
12188 "type" : "string",
12189 "typetext" : "<string>"
12190 },
12191 "gateway" : {
12192 "description" : "Default gateway address.",
12193 "format" : "ipv4",
12194 "optional" : 1,
12195 "type" : "string",
12196 "typetext" : "<string>"
12197 },
12198 "gateway6" : {
12199 "description" : "Default ipv6 gateway address.",
12200 "format" : "ipv6",
12201 "optional" : 1,
12202 "type" : "string",
12203 "typetext" : "<string>"
12204 },
12205 "iface" : {
12206 "description" : "Network interface name.",
12207 "format" : "pve-iface",
12208 "maxLength" : 20,
12209 "minLength" : 2,
12210 "type" : "string",
12211 "typetext" : "<string>"
12212 },
6bd70b95
TL
12213 "mtu" : {
12214 "description" : "MTU.",
12215 "maximum" : 65520,
12216 "minimum" : 1280,
12217 "optional" : 1,
12218 "type" : "integer",
12219 "typetext" : "<integer> (1280 - 65520)"
12220 },
410dc2c9
DM
12221 "netmask" : {
12222 "description" : "Network mask.",
12223 "format" : "ipv4mask",
12224 "optional" : 1,
12225 "requires" : "address",
12226 "type" : "string",
12227 "typetext" : "<string>"
12228 },
12229 "netmask6" : {
12230 "description" : "Network mask.",
12231 "maximum" : 128,
12232 "minimum" : 0,
12233 "optional" : 1,
12234 "requires" : "address6",
12235 "type" : "integer",
12236 "typetext" : "<integer> (0 - 128)"
12237 },
12238 "node" : {
12239 "description" : "The cluster node name.",
12240 "format" : "pve-node",
12241 "type" : "string",
12242 "typetext" : "<string>"
12243 },
12244 "ovs_bonds" : {
12245 "description" : "Specify the interfaces used by the bonding device.",
12246 "format" : "pve-iface-list",
12247 "optional" : 1,
12248 "type" : "string",
12249 "typetext" : "<string>"
12250 },
12251 "ovs_bridge" : {
12252 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12253 "format" : "pve-iface",
12254 "optional" : 1,
12255 "type" : "string",
12256 "typetext" : "<string>"
12257 },
12258 "ovs_options" : {
12259 "description" : "OVS interface options.",
12260 "maxLength" : 1024,
12261 "optional" : 1,
12262 "type" : "string",
12263 "typetext" : "<string>"
12264 },
12265 "ovs_ports" : {
d8212759 12266 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12267 "format" : "pve-iface-list",
12268 "optional" : 1,
12269 "type" : "string",
12270 "typetext" : "<string>"
12271 },
12272 "ovs_tag" : {
12273 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12274 "maximum" : 4094,
12275 "minimum" : 1,
12276 "optional" : 1,
12277 "type" : "integer",
12278 "typetext" : "<integer> (1 - 4094)"
12279 },
12280 "slaves" : {
12281 "description" : "Specify the interfaces used by the bonding device.",
12282 "format" : "pve-iface-list",
12283 "optional" : 1,
12284 "type" : "string",
12285 "typetext" : "<string>"
12286 },
12287 "type" : {
12288 "description" : "Network interface type",
12289 "enum" : [
12290 "bridge",
12291 "bond",
12292 "eth",
12293 "alias",
12294 "vlan",
12295 "OVSBridge",
12296 "OVSBond",
12297 "OVSPort",
12298 "OVSIntPort",
12299 "unknown"
12300 ],
12301 "type" : "string"
6bd70b95
TL
12302 },
12303 "vlan-id" : {
12304 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12305 "maximum" : 4094,
12306 "minimum" : 1,
12307 "optional" : 1,
12308 "type" : "integer",
12309 "typetext" : "<integer> (1 - 4094)"
12310 },
12311 "vlan-raw-device" : {
12312 "description" : "Specify the raw interface for the vlan interface.",
12313 "format" : "pve-iface",
12314 "optional" : 1,
12315 "type" : "string",
12316 "typetext" : "<string>"
410dc2c9
DM
12317 }
12318 }
12319 },
12320 "protected" : 1,
12321 "proxyto" : "node",
12322 "returns" : {
12323 "type" : "null"
12324 }
12325 }
12326 },
12327 "leaf" : 1,
12328 "path" : "/nodes/{node}/network/{iface}",
12329 "text" : "{iface}"
12330 }
12331 ],
12332 "info" : {
12333 "DELETE" : {
6bd70b95 12334 "allowtoken" : 1,
410dc2c9
DM
12335 "description" : "Revert network configuration changes.",
12336 "method" : "DELETE",
12337 "name" : "revert_network_changes",
12338 "parameters" : {
12339 "additionalProperties" : 0,
12340 "properties" : {
12341 "node" : {
12342 "description" : "The cluster node name.",
12343 "format" : "pve-node",
12344 "type" : "string",
12345 "typetext" : "<string>"
12346 }
12347 }
12348 },
12349 "protected" : 1,
12350 "proxyto" : "node",
12351 "returns" : {
12352 "type" : "null"
12353 }
12354 },
12355 "GET" : {
6bd70b95 12356 "allowtoken" : 1,
410dc2c9
DM
12357 "description" : "List available networks",
12358 "method" : "GET",
12359 "name" : "index",
12360 "parameters" : {
12361 "additionalProperties" : 0,
12362 "properties" : {
12363 "node" : {
12364 "description" : "The cluster node name.",
12365 "format" : "pve-node",
12366 "type" : "string",
12367 "typetext" : "<string>"
12368 },
12369 "type" : {
12370 "description" : "Only list specific interface types.",
12371 "enum" : [
12372 "bridge",
12373 "bond",
12374 "eth",
12375 "alias",
12376 "vlan",
12377 "OVSBridge",
12378 "OVSBond",
12379 "OVSPort",
12380 "OVSIntPort",
12381 "any_bridge"
12382 ],
12383 "optional" : 1,
12384 "type" : "string"
12385 }
12386 }
12387 },
732d76e1
DM
12388 "permissions" : {
12389 "check" : [
12390 "admin",
12391 "audit"
12392 ]
12393 },
410dc2c9
DM
12394 "proxyto" : "node",
12395 "returns" : {
12396 "items" : {
12397 "properties" : {},
12398 "type" : "object"
12399 },
12400 "links" : [
12401 {
12402 "href" : "{iface}",
12403 "rel" : "child"
12404 }
12405 ],
12406 "type" : "array"
12407 }
12408 },
12409 "POST" : {
6bd70b95 12410 "allowtoken" : 1,
410dc2c9
DM
12411 "description" : "Create network device configuration",
12412 "method" : "POST",
12413 "name" : "create_network",
12414 "parameters" : {
12415 "additionalProperties" : 0,
12416 "properties" : {
12417 "address" : {
12418 "description" : "IP address.",
12419 "format" : "ipv4",
12420 "optional" : 1,
12421 "requires" : "netmask",
12422 "type" : "string",
12423 "typetext" : "<string>"
12424 },
12425 "address6" : {
12426 "description" : "IP address.",
12427 "format" : "ipv6",
12428 "optional" : 1,
12429 "requires" : "netmask6",
12430 "type" : "string",
12431 "typetext" : "<string>"
12432 },
12433 "autostart" : {
12434 "description" : "Automatically start interface on boot.",
12435 "optional" : 1,
12436 "type" : "boolean",
12437 "typetext" : "<boolean>"
12438 },
6bd70b95
TL
12439 "bond-primary" : {
12440 "description" : "Specify the primary interface for active-backup bond.",
12441 "format" : "pve-iface",
12442 "optional" : 1,
12443 "type" : "string",
12444 "typetext" : "<string>"
12445 },
410dc2c9
DM
12446 "bond_mode" : {
12447 "description" : "Bonding mode.",
12448 "enum" : [
12449 "balance-rr",
12450 "active-backup",
12451 "balance-xor",
12452 "broadcast",
12453 "802.3ad",
12454 "balance-tlb",
12455 "balance-alb",
12456 "balance-slb",
12457 "lacp-balance-slb",
12458 "lacp-balance-tcp"
12459 ],
12460 "optional" : 1,
12461 "type" : "string"
12462 },
12463 "bond_xmit_hash_policy" : {
12464 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
12465 "enum" : [
12466 "layer2",
12467 "layer2+3",
12468 "layer3+4"
12469 ],
12470 "optional" : 1,
12471 "type" : "string"
12472 },
12473 "bridge_ports" : {
d8212759 12474 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12475 "format" : "pve-iface-list",
12476 "optional" : 1,
12477 "type" : "string",
12478 "typetext" : "<string>"
12479 },
12480 "bridge_vlan_aware" : {
12481 "description" : "Enable bridge vlan support.",
12482 "optional" : 1,
12483 "type" : "boolean",
12484 "typetext" : "<boolean>"
12485 },
241ac83c
TL
12486 "cidr" : {
12487 "description" : "IPv4 CIDR.",
12488 "format" : "CIDRv4",
12489 "optional" : 1,
12490 "type" : "string",
12491 "typetext" : "<string>"
12492 },
12493 "cidr6" : {
12494 "description" : "IPv6 CIDR.",
12495 "format" : "CIDRv6",
12496 "optional" : 1,
12497 "type" : "string",
12498 "typetext" : "<string>"
12499 },
410dc2c9
DM
12500 "comments" : {
12501 "description" : "Comments",
12502 "optional" : 1,
12503 "type" : "string",
12504 "typetext" : "<string>"
12505 },
12506 "comments6" : {
12507 "description" : "Comments",
12508 "optional" : 1,
12509 "type" : "string",
12510 "typetext" : "<string>"
12511 },
12512 "gateway" : {
12513 "description" : "Default gateway address.",
12514 "format" : "ipv4",
12515 "optional" : 1,
12516 "type" : "string",
12517 "typetext" : "<string>"
12518 },
12519 "gateway6" : {
12520 "description" : "Default ipv6 gateway address.",
12521 "format" : "ipv6",
12522 "optional" : 1,
12523 "type" : "string",
12524 "typetext" : "<string>"
12525 },
12526 "iface" : {
12527 "description" : "Network interface name.",
12528 "format" : "pve-iface",
12529 "maxLength" : 20,
12530 "minLength" : 2,
12531 "type" : "string",
12532 "typetext" : "<string>"
12533 },
6bd70b95
TL
12534 "mtu" : {
12535 "description" : "MTU.",
12536 "maximum" : 65520,
12537 "minimum" : 1280,
12538 "optional" : 1,
12539 "type" : "integer",
12540 "typetext" : "<integer> (1280 - 65520)"
12541 },
410dc2c9
DM
12542 "netmask" : {
12543 "description" : "Network mask.",
12544 "format" : "ipv4mask",
12545 "optional" : 1,
12546 "requires" : "address",
12547 "type" : "string",
12548 "typetext" : "<string>"
12549 },
12550 "netmask6" : {
12551 "description" : "Network mask.",
12552 "maximum" : 128,
12553 "minimum" : 0,
12554 "optional" : 1,
12555 "requires" : "address6",
12556 "type" : "integer",
12557 "typetext" : "<integer> (0 - 128)"
12558 },
12559 "node" : {
12560 "description" : "The cluster node name.",
12561 "format" : "pve-node",
12562 "type" : "string",
12563 "typetext" : "<string>"
12564 },
12565 "ovs_bonds" : {
12566 "description" : "Specify the interfaces used by the bonding device.",
12567 "format" : "pve-iface-list",
12568 "optional" : 1,
12569 "type" : "string",
12570 "typetext" : "<string>"
12571 },
12572 "ovs_bridge" : {
12573 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12574 "format" : "pve-iface",
12575 "optional" : 1,
12576 "type" : "string",
12577 "typetext" : "<string>"
12578 },
12579 "ovs_options" : {
12580 "description" : "OVS interface options.",
12581 "maxLength" : 1024,
12582 "optional" : 1,
12583 "type" : "string",
12584 "typetext" : "<string>"
12585 },
12586 "ovs_ports" : {
d8212759 12587 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12588 "format" : "pve-iface-list",
12589 "optional" : 1,
12590 "type" : "string",
12591 "typetext" : "<string>"
12592 },
12593 "ovs_tag" : {
12594 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12595 "maximum" : 4094,
12596 "minimum" : 1,
12597 "optional" : 1,
12598 "type" : "integer",
12599 "typetext" : "<integer> (1 - 4094)"
12600 },
12601 "slaves" : {
12602 "description" : "Specify the interfaces used by the bonding device.",
12603 "format" : "pve-iface-list",
12604 "optional" : 1,
12605 "type" : "string",
12606 "typetext" : "<string>"
12607 },
12608 "type" : {
12609 "description" : "Network interface type",
12610 "enum" : [
12611 "bridge",
12612 "bond",
12613 "eth",
12614 "alias",
12615 "vlan",
12616 "OVSBridge",
12617 "OVSBond",
12618 "OVSPort",
12619 "OVSIntPort",
12620 "unknown"
12621 ],
12622 "type" : "string"
6bd70b95
TL
12623 },
12624 "vlan-id" : {
12625 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12626 "maximum" : 4094,
12627 "minimum" : 1,
12628 "optional" : 1,
12629 "type" : "integer",
12630 "typetext" : "<integer> (1 - 4094)"
12631 },
12632 "vlan-raw-device" : {
12633 "description" : "Specify the raw interface for the vlan interface.",
12634 "format" : "pve-iface",
12635 "optional" : 1,
12636 "type" : "string",
12637 "typetext" : "<string>"
410dc2c9
DM
12638 }
12639 }
12640 },
12641 "protected" : 1,
12642 "proxyto" : "node",
12643 "returns" : {
12644 "type" : "null"
12645 }
e0e71e6a
TL
12646 },
12647 "PUT" : {
12648 "allowtoken" : 1,
12649 "description" : "Reload network configuration",
12650 "method" : "PUT",
12651 "name" : "reload_network_config",
12652 "parameters" : {
12653 "additionalProperties" : 0,
12654 "properties" : {
12655 "node" : {
12656 "description" : "The cluster node name.",
12657 "format" : "pve-node",
12658 "type" : "string",
12659 "typetext" : "<string>"
12660 }
12661 }
12662 },
12663 "protected" : 1,
12664 "proxyto" : "node",
12665 "returns" : {
12666 "type" : "string"
12667 }
410dc2c9
DM
12668 }
12669 },
12670 "leaf" : 0,
12671 "path" : "/nodes/{node}/network",
12672 "text" : "network"
12673 },
12674 {
12675 "children" : [
12676 {
12677 "children" : [
12678 {
12679 "info" : {
12680 "GET" : {
6bd70b95 12681 "allowtoken" : 1,
410dc2c9
DM
12682 "description" : "Read task log.",
12683 "method" : "GET",
12684 "name" : "read_task_log",
12685 "parameters" : {
12686 "additionalProperties" : 0,
12687 "properties" : {
f4831d94
TL
12688 "download" : {
12689 "description" : "Whether the tasklog file should be downloaded. This parameter can't be used in conjunction with other parameters",
12690 "optional" : 1,
12691 "type" : "boolean",
12692 "typetext" : "<boolean>"
12693 },
410dc2c9 12694 "limit" : {
f4831d94 12695 "description" : "The amount of lines to read from the tasklog.",
410dc2c9
DM
12696 "minimum" : 0,
12697 "optional" : 1,
12698 "type" : "integer",
12699 "typetext" : "<integer> (0 - N)"
12700 },
12701 "node" : {
12702 "description" : "The cluster node name.",
12703 "format" : "pve-node",
12704 "type" : "string",
12705 "typetext" : "<string>"
12706 },
12707 "start" : {
f4831d94 12708 "description" : "Start at this line when reading the tasklog",
410dc2c9
DM
12709 "minimum" : 0,
12710 "optional" : 1,
12711 "type" : "integer",
12712 "typetext" : "<integer> (0 - N)"
12713 },
12714 "upid" : {
12715 "type" : "string",
12716 "typetext" : "<string>"
12717 }
12718 }
12719 },
732d76e1
DM
12720 "permissions" : {
12721 "check" : [
12722 "admin",
12723 "audit"
12724 ]
12725 },
410dc2c9
DM
12726 "protected" : 1,
12727 "proxyto" : "node",
12728 "returns" : {
12729 "items" : {
12730 "properties" : {
12731 "n" : {
12732 "description" : "Line number",
12733 "type" : "integer"
12734 },
12735 "t" : {
12736 "description" : "Line text",
12737 "type" : "string"
12738 }
12739 },
12740 "type" : "object"
12741 },
12742 "type" : "array"
12743 }
12744 }
12745 },
12746 "leaf" : 1,
12747 "path" : "/nodes/{node}/tasks/{upid}/log",
12748 "text" : "log"
12749 },
12750 {
12751 "info" : {
12752 "GET" : {
6bd70b95 12753 "allowtoken" : 1,
410dc2c9
DM
12754 "description" : "Read task status.",
12755 "method" : "GET",
12756 "name" : "read_task_status",
12757 "parameters" : {
12758 "additionalProperties" : 0,
12759 "properties" : {
12760 "node" : {
12761 "description" : "The cluster node name.",
12762 "format" : "pve-node",
12763 "type" : "string",
12764 "typetext" : "<string>"
12765 },
12766 "upid" : {
12767 "type" : "string",
12768 "typetext" : "<string>"
12769 }
12770 }
12771 },
732d76e1
DM
12772 "permissions" : {
12773 "check" : [
12774 "admin",
12775 "audit"
12776 ]
12777 },
410dc2c9
DM
12778 "protected" : 1,
12779 "proxyto" : "node",
12780 "returns" : {
12781 "properties" : {
12782 "pid" : {
12783 "type" : "integer"
12784 },
12785 "status" : {
12786 "enum" : [
12787 "running",
12788 "stopped"
12789 ],
12790 "type" : "string"
12791 }
12792 },
12793 "type" : "object"
12794 }
12795 }
12796 },
12797 "leaf" : 1,
12798 "path" : "/nodes/{node}/tasks/{upid}/status",
12799 "text" : "status"
12800 }
12801 ],
12802 "info" : {
12803 "DELETE" : {
6bd70b95 12804 "allowtoken" : 1,
410dc2c9
DM
12805 "description" : "Stop a task.",
12806 "method" : "DELETE",
12807 "name" : "stop_task",
12808 "parameters" : {
12809 "additionalProperties" : 0,
12810 "properties" : {
12811 "node" : {
12812 "description" : "The cluster node name.",
12813 "format" : "pve-node",
12814 "type" : "string",
12815 "typetext" : "<string>"
12816 },
12817 "upid" : {
12818 "type" : "string",
12819 "typetext" : "<string>"
12820 }
12821 }
12822 },
732d76e1
DM
12823 "permissions" : {
12824 "check" : [
12825 "admin"
12826 ]
12827 },
410dc2c9
DM
12828 "protected" : 1,
12829 "proxyto" : "node",
12830 "returns" : {
12831 "type" : "null"
12832 }
12833 },
12834 "GET" : {
6bd70b95 12835 "allowtoken" : 1,
410dc2c9
DM
12836 "description" : "",
12837 "method" : "GET",
12838 "name" : "upid_index",
12839 "parameters" : {
12840 "additionalProperties" : 0,
12841 "properties" : {
12842 "node" : {
12843 "description" : "The cluster node name.",
12844 "format" : "pve-node",
12845 "type" : "string",
12846 "typetext" : "<string>"
12847 },
12848 "upid" : {
12849 "type" : "string",
12850 "typetext" : "<string>"
12851 }
12852 }
12853 },
732d76e1
DM
12854 "permissions" : {
12855 "check" : [
12856 "admin",
12857 "audit"
12858 ]
12859 },
410dc2c9
DM
12860 "returns" : {
12861 "items" : {
12862 "properties" : {},
12863 "type" : "object"
12864 },
12865 "links" : [
12866 {
12867 "href" : "{name}",
12868 "rel" : "child"
12869 }
12870 ],
12871 "type" : "array"
12872 }
12873 }
12874 },
12875 "leaf" : 0,
12876 "path" : "/nodes/{node}/tasks/{upid}",
12877 "text" : "{upid}"
12878 }
12879 ],
12880 "info" : {
12881 "GET" : {
6bd70b95 12882 "allowtoken" : 1,
410dc2c9
DM
12883 "description" : "Read task list for one node (finished tasks).",
12884 "method" : "GET",
12885 "name" : "node_tasks",
12886 "parameters" : {
12887 "additionalProperties" : 0,
12888 "properties" : {
12889 "errors" : {
12890 "optional" : 1,
12891 "type" : "boolean",
12892 "typetext" : "<boolean>"
12893 },
12894 "limit" : {
12895 "minimum" : 0,
12896 "optional" : 1,
12897 "type" : "integer",
12898 "typetext" : "<integer> (0 - N)"
12899 },
12900 "node" : {
12901 "description" : "The cluster node name.",
12902 "format" : "pve-node",
12903 "type" : "string",
12904 "typetext" : "<string>"
12905 },
14ffe66b
TL
12906 "since" : {
12907 "description" : "Only list tasks since this UNIX epoch.",
12908 "optional" : 1,
12909 "type" : "integer",
12910 "typetext" : "<integer>"
12911 },
410dc2c9
DM
12912 "start" : {
12913 "minimum" : 0,
12914 "optional" : 1,
12915 "type" : "integer",
12916 "typetext" : "<integer> (0 - N)"
12917 },
14ffe66b
TL
12918 "statusfilter" : {
12919 "description" : "List of Task States that should be returned.",
12920 "format" : "pve-task-status-type-list",
12921 "optional" : 1,
12922 "type" : "string",
12923 "typetext" : "<string>"
12924 },
12925 "typefilter" : {
12926 "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).",
12927 "optional" : 1,
12928 "type" : "string",
12929 "typetext" : "<string>"
12930 },
12931 "until" : {
12932 "description" : "Only list tasks until this UNIX epoch.",
12933 "optional" : 1,
12934 "type" : "integer",
12935 "typetext" : "<integer>"
12936 },
410dc2c9
DM
12937 "userfilter" : {
12938 "optional" : 1,
12939 "type" : "string",
12940 "typetext" : "<string>"
12941 }
12942 }
12943 },
732d76e1
DM
12944 "permissions" : {
12945 "check" : [
12946 "admin",
12947 "audit"
12948 ]
12949 },
410dc2c9
DM
12950 "proxyto" : "node",
12951 "returns" : {
12952 "items" : {
12953 "properties" : {
12954 "upid" : {
12955 "type" : "string"
12956 }
12957 },
12958 "type" : "object"
12959 },
12960 "links" : [
12961 {
12962 "href" : "{upid}",
12963 "rel" : "child"
12964 }
12965 ],
12966 "type" : "array"
12967 }
12968 }
12969 },
12970 "leaf" : 0,
12971 "path" : "/nodes/{node}/tasks",
12972 "text" : "tasks"
12973 },
12974 {
12975 "children" : [
12976 {
12977 "children" : [
12978 {
12979 "info" : {
12980 "GET" : {
6bd70b95 12981 "allowtoken" : 1,
410dc2c9
DM
12982 "description" : "Read service properties",
12983 "method" : "GET",
12984 "name" : "service_state",
12985 "parameters" : {
12986 "additionalProperties" : 0,
12987 "properties" : {
12988 "node" : {
12989 "description" : "The cluster node name.",
12990 "format" : "pve-node",
12991 "type" : "string",
12992 "typetext" : "<string>"
12993 },
12994 "service" : {
12995 "description" : "Service ID",
12996 "enum" : [
a55e94a6
DM
12997 "clamav-daemon",
12998 "clamav-freshclam",
732d76e1 12999 "fetchmail",
410dc2c9
DM
13000 "pmgproxy",
13001 "pmgdaemon",
a55e94a6 13002 "pmgpolicy",
410dc2c9 13003 "pmg-smtp-filter",
d7cd791b
DM
13004 "pmgtunnel",
13005 "pmgmirror",
13006 "ssh",
13007 "rsyslog",
410dc2c9 13008 "postfix",
d7cd791b 13009 "postgres",
a55e94a6
DM
13010 "systemd-timesyncd",
13011 "pmg-hourly",
d7cd791b 13012 "pmg-daily",
9fda36b0 13013 "pmgreport",
e0e71e6a
TL
13014 "pmgspamreport",
13015 "chrony"
410dc2c9
DM
13016 ],
13017 "type" : "string"
13018 }
13019 }
13020 },
732d76e1
DM
13021 "permissions" : {
13022 "check" : [
13023 "admin",
13024 "audit"
13025 ]
13026 },
410dc2c9
DM
13027 "protected" : 1,
13028 "proxyto" : "node",
13029 "returns" : {
410dc2c9
DM
13030 "type" : "object"
13031 }
13032 }
13033 },
13034 "leaf" : 1,
13035 "path" : "/nodes/{node}/services/{service}/state",
13036 "text" : "state"
13037 },
13038 {
13039 "info" : {
13040 "POST" : {
6bd70b95 13041 "allowtoken" : 1,
410dc2c9
DM
13042 "description" : "Start service.",
13043 "method" : "POST",
13044 "name" : "service_start",
13045 "parameters" : {
13046 "additionalProperties" : 0,
13047 "properties" : {
13048 "node" : {
13049 "description" : "The cluster node name.",
13050 "format" : "pve-node",
13051 "type" : "string",
13052 "typetext" : "<string>"
13053 },
13054 "service" : {
13055 "description" : "Service ID",
13056 "enum" : [
a55e94a6
DM
13057 "clamav-daemon",
13058 "clamav-freshclam",
732d76e1 13059 "fetchmail",
410dc2c9
DM
13060 "pmgproxy",
13061 "pmgdaemon",
a55e94a6 13062 "pmgpolicy",
410dc2c9 13063 "pmg-smtp-filter",
d7cd791b
DM
13064 "pmgtunnel",
13065 "pmgmirror",
13066 "ssh",
13067 "rsyslog",
410dc2c9 13068 "postfix",
d7cd791b 13069 "postgres",
a55e94a6
DM
13070 "systemd-timesyncd",
13071 "pmg-hourly",
d7cd791b 13072 "pmg-daily",
9fda36b0 13073 "pmgreport",
e0e71e6a
TL
13074 "pmgspamreport",
13075 "chrony"
410dc2c9
DM
13076 ],
13077 "type" : "string"
13078 }
13079 }
13080 },
732d76e1
DM
13081 "permissions" : {
13082 "check" : [
13083 "admin"
13084 ]
13085 },
410dc2c9
DM
13086 "protected" : 1,
13087 "proxyto" : "node",
13088 "returns" : {
13089 "type" : "string"
13090 }
13091 }
13092 },
13093 "leaf" : 1,
13094 "path" : "/nodes/{node}/services/{service}/start",
13095 "text" : "start"
13096 },
13097 {
13098 "info" : {
13099 "POST" : {
6bd70b95 13100 "allowtoken" : 1,
410dc2c9
DM
13101 "description" : "Stop service.",
13102 "method" : "POST",
13103 "name" : "service_stop",
13104 "parameters" : {
13105 "additionalProperties" : 0,
13106 "properties" : {
13107 "node" : {
13108 "description" : "The cluster node name.",
13109 "format" : "pve-node",
13110 "type" : "string",
13111 "typetext" : "<string>"
13112 },
13113 "service" : {
13114 "description" : "Service ID",
13115 "enum" : [
a55e94a6
DM
13116 "clamav-daemon",
13117 "clamav-freshclam",
732d76e1 13118 "fetchmail",
410dc2c9
DM
13119 "pmgproxy",
13120 "pmgdaemon",
a55e94a6 13121 "pmgpolicy",
410dc2c9 13122 "pmg-smtp-filter",
d7cd791b
DM
13123 "pmgtunnel",
13124 "pmgmirror",
13125 "ssh",
13126 "rsyslog",
410dc2c9 13127 "postfix",
d7cd791b 13128 "postgres",
a55e94a6
DM
13129 "systemd-timesyncd",
13130 "pmg-hourly",
d7cd791b 13131 "pmg-daily",
9fda36b0 13132 "pmgreport",
e0e71e6a
TL
13133 "pmgspamreport",
13134 "chrony"
410dc2c9
DM
13135 ],
13136 "type" : "string"
13137 }
13138 }
13139 },
732d76e1
DM
13140 "permissions" : {
13141 "check" : [
13142 "admin"
13143 ]
13144 },
410dc2c9
DM
13145 "protected" : 1,
13146 "proxyto" : "node",
13147 "returns" : {
13148 "type" : "string"
13149 }
13150 }
13151 },
13152 "leaf" : 1,
13153 "path" : "/nodes/{node}/services/{service}/stop",
13154 "text" : "stop"
13155 },
13156 {
13157 "info" : {
13158 "POST" : {
6bd70b95 13159 "allowtoken" : 1,
410dc2c9
DM
13160 "description" : "Restart service.",
13161 "method" : "POST",
13162 "name" : "service_restart",
13163 "parameters" : {
13164 "additionalProperties" : 0,
13165 "properties" : {
13166 "node" : {
13167 "description" : "The cluster node name.",
13168 "format" : "pve-node",
13169 "type" : "string",
13170 "typetext" : "<string>"
13171 },
13172 "service" : {
13173 "description" : "Service ID",
13174 "enum" : [
a55e94a6
DM
13175 "clamav-daemon",
13176 "clamav-freshclam",
732d76e1 13177 "fetchmail",
410dc2c9
DM
13178 "pmgproxy",
13179 "pmgdaemon",
a55e94a6 13180 "pmgpolicy",
410dc2c9 13181 "pmg-smtp-filter",
d7cd791b
DM
13182 "pmgtunnel",
13183 "pmgmirror",
13184 "ssh",
13185 "rsyslog",
410dc2c9 13186 "postfix",
d7cd791b 13187 "postgres",
a55e94a6
DM
13188 "systemd-timesyncd",
13189 "pmg-hourly",
d7cd791b 13190 "pmg-daily",
9fda36b0 13191 "pmgreport",
e0e71e6a
TL
13192 "pmgspamreport",
13193 "chrony"
410dc2c9
DM
13194 ],
13195 "type" : "string"
13196 }
13197 }
13198 },
732d76e1
DM
13199 "permissions" : {
13200 "check" : [
13201 "admin"
13202 ]
13203 },
410dc2c9
DM
13204 "protected" : 1,
13205 "proxyto" : "node",
13206 "returns" : {
13207 "type" : "string"
13208 }
13209 }
13210 },
13211 "leaf" : 1,
13212 "path" : "/nodes/{node}/services/{service}/restart",
13213 "text" : "restart"
13214 },
13215 {
13216 "info" : {
13217 "POST" : {
6bd70b95 13218 "allowtoken" : 1,
410dc2c9
DM
13219 "description" : "Reload service.",
13220 "method" : "POST",
13221 "name" : "service_reload",
13222 "parameters" : {
13223 "additionalProperties" : 0,
13224 "properties" : {
13225 "node" : {
13226 "description" : "The cluster node name.",
13227 "format" : "pve-node",
13228 "type" : "string",
13229 "typetext" : "<string>"
13230 },
13231 "service" : {
13232 "description" : "Service ID",
13233 "enum" : [
a55e94a6
DM
13234 "clamav-daemon",
13235 "clamav-freshclam",
732d76e1 13236 "fetchmail",
410dc2c9
DM
13237 "pmgproxy",
13238 "pmgdaemon",
a55e94a6 13239 "pmgpolicy",
410dc2c9 13240 "pmg-smtp-filter",
d7cd791b
DM
13241 "pmgtunnel",
13242 "pmgmirror",
13243 "ssh",
13244 "rsyslog",
410dc2c9 13245 "postfix",
d7cd791b 13246 "postgres",
a55e94a6
DM
13247 "systemd-timesyncd",
13248 "pmg-hourly",
d7cd791b 13249 "pmg-daily",
9fda36b0 13250 "pmgreport",
e0e71e6a
TL
13251 "pmgspamreport",
13252 "chrony"
410dc2c9
DM
13253 ],
13254 "type" : "string"
13255 }
13256 }
13257 },
732d76e1
DM
13258 "permissions" : {
13259 "check" : [
13260 "admin"
13261 ]
13262 },
410dc2c9
DM
13263 "protected" : 1,
13264 "proxyto" : "node",
13265 "returns" : {
13266 "type" : "string"
13267 }
13268 }
13269 },
13270 "leaf" : 1,
13271 "path" : "/nodes/{node}/services/{service}/reload",
13272 "text" : "reload"
13273 }
13274 ],
13275 "info" : {
13276 "GET" : {
6bd70b95 13277 "allowtoken" : 1,
410dc2c9
DM
13278 "description" : "Directory index",
13279 "method" : "GET",
13280 "name" : "srvcmdidx",
13281 "parameters" : {
13282 "additionalProperties" : 0,
13283 "properties" : {
13284 "node" : {
13285 "description" : "The cluster node name.",
13286 "format" : "pve-node",
13287 "type" : "string",
13288 "typetext" : "<string>"
13289 },
13290 "service" : {
13291 "description" : "Service ID",
13292 "enum" : [
a55e94a6
DM
13293 "clamav-daemon",
13294 "clamav-freshclam",
732d76e1 13295 "fetchmail",
410dc2c9
DM
13296 "pmgproxy",
13297 "pmgdaemon",
a55e94a6 13298 "pmgpolicy",
410dc2c9 13299 "pmg-smtp-filter",
d7cd791b
DM
13300 "pmgtunnel",
13301 "pmgmirror",
13302 "ssh",
13303 "rsyslog",
410dc2c9 13304 "postfix",
d7cd791b 13305 "postgres",
a55e94a6
DM
13306 "systemd-timesyncd",
13307 "pmg-hourly",
d7cd791b 13308 "pmg-daily",
9fda36b0 13309 "pmgreport",
e0e71e6a
TL
13310 "pmgspamreport",
13311 "chrony"
410dc2c9
DM
13312 ],
13313 "type" : "string"
13314 }
13315 }
13316 },
732d76e1
DM
13317 "permissions" : {
13318 "check" : [
13319 "admin",
13320 "audit"
13321 ]
13322 },
410dc2c9
DM
13323 "returns" : {
13324 "items" : {
13325 "properties" : {
13326 "subdir" : {
13327 "type" : "string"
13328 }
13329 },
13330 "type" : "object"
13331 },
13332 "links" : [
13333 {
13334 "href" : "{subdir}",
13335 "rel" : "child"
13336 }
13337 ],
13338 "type" : "array"
13339 }
13340 }
13341 },
9fda36b0
DM
13342 "leaf" : 0,
13343 "path" : "/nodes/{node}/services/{service}",
13344 "text" : "{service}"
13345 }
13346 ],
13347 "info" : {
13348 "GET" : {
6bd70b95 13349 "allowtoken" : 1,
9fda36b0
DM
13350 "description" : "Service list.",
13351 "method" : "GET",
13352 "name" : "index",
13353 "parameters" : {
13354 "additionalProperties" : 0,
13355 "properties" : {
13356 "node" : {
13357 "description" : "The cluster node name.",
13358 "format" : "pve-node",
13359 "type" : "string",
13360 "typetext" : "<string>"
13361 }
13362 }
13363 },
732d76e1
DM
13364 "permissions" : {
13365 "check" : [
13366 "admin",
13367 "audit"
13368 ]
13369 },
9fda36b0
DM
13370 "protected" : 1,
13371 "proxyto" : "node",
13372 "returns" : {
13373 "items" : {
13374 "properties" : {},
13375 "type" : "object"
13376 },
13377 "links" : [
13378 {
13379 "href" : "{service}",
13380 "rel" : "child"
13381 }
13382 ],
13383 "type" : "array"
13384 }
13385 }
13386 },
13387 "leaf" : 0,
13388 "path" : "/nodes/{node}/services",
13389 "text" : "services"
13390 },
13391 {
13392 "info" : {
ab2b846b
TL
13393 "DELETE" : {
13394 "allowtoken" : 1,
13395 "description" : "Delete subscription key.",
13396 "method" : "DELETE",
13397 "name" : "delete",
13398 "parameters" : {
13399 "additionalProperties" : 0,
13400 "properties" : {
13401 "node" : {
13402 "description" : "The cluster node name.",
13403 "format" : "pve-node",
13404 "type" : "string",
13405 "typetext" : "<string>"
13406 }
13407 }
13408 },
13409 "protected" : 1,
13410 "proxyto" : "node",
13411 "returns" : {
13412 "type" : "null"
13413 }
13414 },
9fda36b0 13415 "GET" : {
6bd70b95 13416 "allowtoken" : 1,
9fda36b0
DM
13417 "description" : "Read subscription info.",
13418 "method" : "GET",
13419 "name" : "get",
13420 "parameters" : {
13421 "additionalProperties" : 0,
13422 "properties" : {
13423 "node" : {
13424 "description" : "The cluster node name.",
13425 "format" : "pve-node",
13426 "type" : "string",
13427 "typetext" : "<string>"
13428 }
13429 }
13430 },
13431 "permissions" : {
13432 "check" : [
13433 "admin",
13434 "qmanager",
13435 "audit",
13436 "quser"
13437 ]
13438 },
13439 "proxyto" : "node",
13440 "returns" : {
13441 "type" : "object"
13442 }
732d76e1
DM
13443 },
13444 "POST" : {
6bd70b95 13445 "allowtoken" : 1,
732d76e1
DM
13446 "description" : "Update subscription info.",
13447 "method" : "POST",
13448 "name" : "update",
13449 "parameters" : {
13450 "additionalProperties" : 0,
13451 "properties" : {
13452 "force" : {
13453 "default" : 0,
13454 "description" : "Always connect to server, even if we have up to date info inside local cache.",
13455 "optional" : 1,
13456 "type" : "boolean",
13457 "typetext" : "<boolean>"
13458 },
13459 "node" : {
13460 "description" : "The cluster node name.",
13461 "format" : "pve-node",
13462 "type" : "string",
13463 "typetext" : "<string>"
13464 }
13465 }
13466 },
13467 "permissions" : {
13468 "check" : [
13469 "admin"
13470 ]
13471 },
13472 "protected" : 1,
13473 "proxyto" : "node",
13474 "returns" : {
13475 "type" : "null"
13476 }
13477 },
13478 "PUT" : {
6bd70b95 13479 "allowtoken" : 1,
732d76e1
DM
13480 "description" : "Set subscription key.",
13481 "method" : "PUT",
13482 "name" : "set",
13483 "parameters" : {
13484 "additionalProperties" : 0,
13485 "properties" : {
13486 "key" : {
13487 "description" : "Proxmox Mail Gateway subscription key",
13488 "maxLength" : 32,
13489 "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
13490 "type" : "string"
13491 },
13492 "node" : {
13493 "description" : "The cluster node name.",
13494 "format" : "pve-node",
13495 "type" : "string",
13496 "typetext" : "<string>"
13497 }
13498 }
13499 },
13500 "protected" : 1,
13501 "proxyto" : "node",
13502 "returns" : {
13503 "type" : "null"
13504 }
9fda36b0
DM
13505 }
13506 },
13507 "leaf" : 1,
13508 "path" : "/nodes/{node}/subscription",
13509 "text" : "subscription"
13510 },
13511 {
13512 "children" : [
13513 {
13514 "info" : {
13515 "GET" : {
6bd70b95 13516 "allowtoken" : 1,
9fda36b0
DM
13517 "description" : "List available updates.",
13518 "method" : "GET",
13519 "name" : "list_updates",
13520 "parameters" : {
13521 "additionalProperties" : 0,
13522 "properties" : {
13523 "node" : {
13524 "description" : "The cluster node name.",
13525 "format" : "pve-node",
13526 "type" : "string",
13527 "typetext" : "<string>"
13528 }
13529 }
13530 },
732d76e1
DM
13531 "permissions" : {
13532 "check" : [
13533 "admin",
13534 "audit"
13535 ]
13536 },
9fda36b0
DM
13537 "protected" : 1,
13538 "proxyto" : "node",
13539 "returns" : {
13540 "items" : {
13541 "properties" : {},
13542 "type" : "object"
13543 },
13544 "type" : "array"
13545 }
13546 },
13547 "POST" : {
6bd70b95 13548 "allowtoken" : 1,
9fda36b0
DM
13549 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
13550 "method" : "POST",
13551 "name" : "update_database",
13552 "parameters" : {
13553 "additionalProperties" : 0,
13554 "properties" : {
13555 "node" : {
13556 "description" : "The cluster node name.",
13557 "format" : "pve-node",
13558 "type" : "string",
13559 "typetext" : "<string>"
13560 },
13561 "notify" : {
13562 "default" : 0,
13563 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
13564 "optional" : 1,
13565 "type" : "boolean",
13566 "typetext" : "<boolean>"
13567 },
13568 "quiet" : {
13569 "default" : 0,
13570 "description" : "Only produces output suitable for logging, omitting progress indicators.",
13571 "optional" : 1,
13572 "type" : "boolean",
13573 "typetext" : "<boolean>"
13574 }
13575 }
13576 },
732d76e1
DM
13577 "permissions" : {
13578 "check" : [
13579 "admin"
13580 ]
13581 },
9fda36b0
DM
13582 "protected" : 1,
13583 "proxyto" : "node",
13584 "returns" : {
13585 "type" : "string"
13586 }
13587 }
13588 },
13589 "leaf" : 1,
13590 "path" : "/nodes/{node}/apt/update",
13591 "text" : "update"
13592 },
13593 {
13594 "info" : {
13595 "GET" : {
6bd70b95 13596 "allowtoken" : 1,
9fda36b0
DM
13597 "description" : "Get package changelogs.",
13598 "method" : "GET",
13599 "name" : "changelog",
13600 "parameters" : {
13601 "additionalProperties" : 0,
13602 "properties" : {
13603 "name" : {
13604 "description" : "Package name.",
13605 "type" : "string",
13606 "typetext" : "<string>"
13607 },
13608 "node" : {
13609 "description" : "The cluster node name.",
13610 "format" : "pve-node",
13611 "type" : "string",
13612 "typetext" : "<string>"
13613 },
13614 "version" : {
13615 "description" : "Package version.",
13616 "optional" : 1,
13617 "type" : "string",
13618 "typetext" : "<string>"
13619 }
13620 }
13621 },
732d76e1
DM
13622 "permissions" : {
13623 "check" : [
13624 "admin",
13625 "audit"
13626 ]
13627 },
9fda36b0
DM
13628 "proxyto" : "node",
13629 "returns" : {
13630 "type" : "string"
13631 }
13632 }
13633 },
13634 "leaf" : 1,
13635 "path" : "/nodes/{node}/apt/changelog",
13636 "text" : "changelog"
13637 },
13638 {
13639 "info" : {
13640 "GET" : {
6bd70b95 13641 "allowtoken" : 1,
e0e71e6a 13642 "description" : "Get APT repository information.",
9fda36b0 13643 "method" : "GET",
e0e71e6a 13644 "name" : "repositories",
9fda36b0
DM
13645 "parameters" : {
13646 "additionalProperties" : 0,
13647 "properties" : {
9fda36b0
DM
13648 "node" : {
13649 "description" : "The cluster node name.",
13650 "format" : "pve-node",
13651 "type" : "string",
13652 "typetext" : "<string>"
9fda36b0
DM
13653 }
13654 }
13655 },
732d76e1
DM
13656 "permissions" : {
13657 "check" : [
13658 "admin",
13659 "audit"
13660 ]
13661 },
9fda36b0
DM
13662 "proxyto" : "node",
13663 "returns" : {
e0e71e6a 13664 "description" : "Result from parsing the APT repository files in /etc/apt/.",
9fda36b0 13665 "properties" : {
e0e71e6a
TL
13666 "digest" : {
13667 "description" : "Common digest of all files.",
9fda36b0
DM
13668 "type" : "string"
13669 },
e0e71e6a
TL
13670 "errors" : {
13671 "description" : "List of problematic repository files.",
13672 "items" : {
13673 "properties" : {
13674 "error" : {
13675 "description" : "The error message",
13676 "type" : "string"
13677 },
13678 "path" : {
13679 "description" : "Path to the problematic file.",
13680 "type" : "string"
13681 }
13682 },
13683 "type" : "object"
13684 },
13685 "type" : "array"
9fda36b0 13686 },
e0e71e6a
TL
13687 "files" : {
13688 "description" : "List of parsed repository files.",
9fda36b0 13689 "items" : {
e0e71e6a
TL
13690 "properties" : {
13691 "digest" : {
13692 "description" : "Digest of the file as bytes.",
13693 "items" : {
13694 "type" : "integer"
13695 },
13696 "type" : "array"
13697 },
13698 "file-type" : {
13699 "description" : "Format of the file.",
13700 "enum" : [
13701 "list",
13702 "sources"
13703 ],
13704 "type" : "string"
13705 },
13706 "path" : {
13707 "description" : "Path to the problematic file.",
13708 "type" : "string"
13709 },
13710 "repositories" : {
13711 "description" : "The parsed repositories.",
13712 "items" : {
13713 "properties" : {
13714 "Comment" : {
13715 "description" : "Associated comment",
13716 "optional" : 1,
13717 "type" : "string"
13718 },
13719 "Components" : {
13720 "description" : "List of repository components",
13721 "items" : {
13722 "type" : "string"
13723 },
13724 "optional" : 1,
13725 "type" : "array"
13726 },
13727 "Enabled" : {
13728 "description" : "Whether the repository is enabled or not",
13729 "type" : "boolean"
13730 },
13731 "FileType" : {
13732 "description" : "Format of the defining file.",
13733 "enum" : [
13734 "list",
13735 "sources"
13736 ],
13737 "type" : "string"
13738 },
13739 "Options" : {
13740 "description" : "Additional options",
13741 "items" : {
13742 "properties" : {
13743 "Key" : {
13744 "type" : "string"
13745 },
13746 "Values" : {
13747 "items" : {
13748 "type" : "string"
13749 },
13750 "type" : "array"
13751 }
13752 },
13753 "type" : "object"
13754 },
13755 "optional" : 1,
13756 "type" : "array"
13757 },
13758 "Suites" : {
13759 "description" : "List of package distribuitions",
13760 "items" : {
13761 "type" : "string"
13762 },
13763 "type" : "array"
13764 },
13765 "Types" : {
13766 "description" : "List of package types.",
13767 "items" : {
13768 "enum" : [
13769 "deb",
13770 "deb-src"
13771 ],
13772 "type" : "string"
13773 },
13774 "type" : "array"
13775 },
13776 "URIs" : {
13777 "description" : "List of repository URIs.",
13778 "items" : {
13779 "type" : "string"
13780 },
13781 "type" : "array"
13782 }
13783 },
13784 "type" : "object"
13785 },
13786 "type" : "array"
13787 }
13788 },
13789 "type" : "object"
9fda36b0
DM
13790 },
13791 "type" : "array"
13792 },
e0e71e6a
TL
13793 "infos" : {
13794 "description" : "Additional information/warnings for APT repositories.",
13795 "items" : {
13796 "properties" : {
13797 "index" : {
13798 "description" : "Index of the associated repository within the file.",
13799 "type" : "string"
13800 },
13801 "kind" : {
13802 "description" : "Kind of the information (e.g. warning).",
13803 "type" : "string"
13804 },
13805 "message" : {
13806 "description" : "Information message.",
13807 "type" : "string"
13808 },
13809 "path" : {
13810 "description" : "Path to the associated file.",
13811 "type" : "string"
13812 },
13813 "property" : {
13814 "description" : "Property from which the info originates.",
13815 "optional" : 1,
13816 "type" : "string"
13817 }
13818 },
13819 "type" : "object"
13820 },
13821 "type" : "array"
9fda36b0 13822 },
e0e71e6a
TL
13823 "standard-repos" : {
13824 "description" : "List of standard repositories and their configuration status",
13825 "items" : {
13826 "properties" : {
13827 "description" : {
13828 "description" : "Description of the repository.",
13829 "type" : "string"
13830 },
13831 "handle" : {
13832 "description" : "Handle to identify the repository.",
13833 "type" : "string"
13834 },
13835 "name" : {
13836 "description" : "Display name of the repository.",
13837 "type" : "string"
13838 },
13839 "status" : {
13840 "description" : "Indicating enabled/disabled status, if the repository is configured.",
13841 "optional" : 1,
13842 "type" : "boolean"
13843 }
13844 },
13845 "type" : "object"
13846 },
13847 "type" : "array"
13848 }
13849 },
13850 "type" : "object"
13851 }
13852 },
13853 "POST" : {
13854 "allowtoken" : 1,
13855 "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
13856 "method" : "POST",
13857 "name" : "change_repository",
13858 "parameters" : {
13859 "additionalProperties" : 0,
13860 "properties" : {
13861 "digest" : {
13862 "description" : "Digest to detect modifications.",
13863 "maxLength" : 80,
9fda36b0 13864 "optional" : 1,
e0e71e6a
TL
13865 "type" : "string",
13866 "typetext" : "<string>"
9fda36b0 13867 },
e0e71e6a
TL
13868 "enabled" : {
13869 "description" : "Whether the repository should be enabled or not.",
9fda36b0 13870 "optional" : 1,
e0e71e6a
TL
13871 "type" : "boolean",
13872 "typetext" : "<boolean>"
9fda36b0 13873 },
e0e71e6a
TL
13874 "index" : {
13875 "description" : "Index within the file (starting from 0).",
13876 "type" : "integer",
13877 "typetext" : "<integer>"
9fda36b0 13878 },
e0e71e6a
TL
13879 "node" : {
13880 "description" : "The cluster node name.",
13881 "format" : "pve-node",
13882 "type" : "string",
13883 "typetext" : "<string>"
13884 },
13885 "path" : {
13886 "description" : "Path to the containing file.",
13887 "type" : "string",
13888 "typetext" : "<string>"
13889 }
13890 }
13891 },
13892 "permissions" : {
13893 "check" : [
13894 "admin"
13895 ]
13896 },
13897 "protected" : 1,
13898 "proxyto" : "node",
13899 "returns" : {
13900 "type" : "null"
13901 }
13902 },
13903 "PUT" : {
13904 "allowtoken" : 1,
13905 "description" : "Add a standard repository to the configuration",
13906 "method" : "PUT",
13907 "name" : "add_repository",
13908 "parameters" : {
13909 "additionalProperties" : 0,
13910 "properties" : {
13911 "digest" : {
13912 "description" : "Digest to detect modifications.",
13913 "maxLength" : 80,
9fda36b0 13914 "optional" : 1,
e0e71e6a
TL
13915 "type" : "string",
13916 "typetext" : "<string>"
9fda36b0 13917 },
e0e71e6a
TL
13918 "handle" : {
13919 "description" : "Handle that identifies a repository.",
13920 "type" : "string",
13921 "typetext" : "<string>"
9fda36b0 13922 },
e0e71e6a
TL
13923 "node" : {
13924 "description" : "The cluster node name.",
13925 "format" : "pve-node",
13926 "type" : "string",
13927 "typetext" : "<string>"
13928 }
13929 }
13930 },
13931 "permissions" : {
13932 "check" : [
13933 "admin"
13934 ]
13935 },
13936 "protected" : 1,
13937 "proxyto" : "node",
13938 "returns" : {
13939 "type" : "null"
13940 }
13941 }
13942 },
13943 "leaf" : 1,
13944 "path" : "/nodes/{node}/apt/repositories",
13945 "text" : "repositories"
13946 },
13947 {
13948 "info" : {
13949 "GET" : {
13950 "allowtoken" : 1,
13951 "description" : "Get package information for important Proxmox packages.",
13952 "method" : "GET",
13953 "name" : "versions",
13954 "parameters" : {
13955 "additionalProperties" : 0,
13956 "properties" : {
13957 "node" : {
13958 "description" : "The cluster node name.",
13959 "format" : "pve-node",
13960 "type" : "string",
13961 "typetext" : "<string>"
9fda36b0 13962 }
e0e71e6a
TL
13963 }
13964 },
13965 "permissions" : {
13966 "check" : [
13967 "admin",
13968 "audit"
13969 ]
13970 },
13971 "proxyto" : "node",
13972 "returns" : {
13973 "items" : {
13974 "properties" : {},
13975 "type" : "object"
9fda36b0 13976 },
e0e71e6a 13977 "type" : "array"
9fda36b0
DM
13978 }
13979 }
13980 },
13981 "leaf" : 1,
e0e71e6a
TL
13982 "path" : "/nodes/{node}/apt/versions",
13983 "text" : "versions"
9fda36b0
DM
13984 }
13985 ],
13986 "info" : {
13987 "GET" : {
6bd70b95 13988 "allowtoken" : 1,
e0e71e6a 13989 "description" : "Directory index for apt (Advanced Package Tool).",
9fda36b0 13990 "method" : "GET",
e0e71e6a 13991 "name" : "index",
9fda36b0
DM
13992 "parameters" : {
13993 "additionalProperties" : 0,
13994 "properties" : {
9fda36b0
DM
13995 "node" : {
13996 "description" : "The cluster node name.",
13997 "format" : "pve-node",
13998 "type" : "string",
13999 "typetext" : "<string>"
9fda36b0
DM
14000 }
14001 }
14002 },
732d76e1 14003 "permissions" : {
e0e71e6a
TL
14004 "user" : "all"
14005 },
14006 "returns" : {
14007 "items" : {
14008 "properties" : {
14009 "id" : {
14010 "type" : "string"
14011 }
14012 },
14013 "type" : "object"
14014 },
14015 "links" : [
14016 {
14017 "href" : "{id}",
14018 "rel" : "child"
14019 }
14020 ],
14021 "type" : "array"
14022 }
14023 }
14024 },
14025 "leaf" : 0,
14026 "path" : "/nodes/{node}/apt",
14027 "text" : "apt"
14028 },
14029 {
14030 "children" : [
14031 {
14032 "info" : {
14033 "GET" : {
14034 "allowtoken" : 1,
14035 "description" : "Get the detailed syslog entries for a specific mail ID.",
14036 "method" : "GET",
14037 "name" : "maillog",
14038 "parameters" : {
14039 "additionalProperties" : 0,
14040 "properties" : {
14041 "endtime" : {
14042 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14043 "minimum" : 1,
14044 "optional" : 1,
14045 "type" : "integer",
14046 "typetext" : "<integer> (1 - N)"
14047 },
14048 "id" : {
14049 "description" : "Mail ID (as returned by the list API).",
14050 "maxLength" : 64,
14051 "minLength" : 3,
14052 "type" : "string",
14053 "typetext" : "<string>"
14054 },
14055 "node" : {
14056 "description" : "The cluster node name.",
14057 "format" : "pve-node",
14058 "type" : "string",
14059 "typetext" : "<string>"
14060 },
14061 "starttime" : {
14062 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14063 "minimum" : 0,
14064 "optional" : 1,
14065 "type" : "integer",
14066 "typetext" : "<integer> (0 - N)"
14067 }
14068 }
14069 },
14070 "permissions" : {
14071 "check" : [
14072 "admin",
14073 "audit"
14074 ]
14075 },
14076 "protected" : 1,
14077 "proxyto" : "node",
14078 "returns" : {
14079 "properties" : {
14080 "client" : {
14081 "description" : "Client address",
14082 "optional" : 1,
14083 "type" : "string"
14084 },
14085 "dstatus" : {
14086 "description" : "Delivery status.",
14087 "maxLength" : 1,
14088 "minLength" : 1,
14089 "type" : "string"
14090 },
14091 "from" : {
14092 "description" : "Sender email address.",
14093 "type" : "string"
14094 },
14095 "id" : {
14096 "description" : "Unique ID.",
14097 "type" : "string"
14098 },
14099 "logs" : {
14100 "items" : {
14101 "type" : "string"
14102 },
14103 "type" : "array"
14104 },
14105 "msgid" : {
14106 "description" : "SMTP message ID.",
14107 "optional" : 1,
14108 "type" : "string"
14109 },
14110 "qid" : {
14111 "description" : "Postfix qmgr ID.",
14112 "optional" : 1,
14113 "type" : "string"
14114 },
14115 "relay" : {
14116 "description" : "ID of relayed mail.",
14117 "optional" : 1,
14118 "type" : "string"
14119 },
14120 "rstatus" : {
14121 "description" : "Delivery status of relayed mail.",
14122 "maxLength" : 1,
14123 "minLength" : 1,
14124 "optional" : 1,
14125 "type" : "string"
14126 },
14127 "size" : {
14128 "description" : "The size of the raw email.",
14129 "optional" : 1,
14130 "type" : "number"
14131 },
14132 "time" : {
14133 "description" : "Delivery timestamp.",
14134 "type" : "integer"
14135 },
14136 "to" : {
14137 "description" : "Receiver email address.",
14138 "type" : "string"
14139 }
14140 },
14141 "type" : "object"
14142 }
14143 }
14144 },
14145 "leaf" : 1,
14146 "path" : "/nodes/{node}/tracker/{id}",
14147 "text" : "{id}"
14148 }
14149 ],
14150 "info" : {
14151 "GET" : {
14152 "allowtoken" : 1,
14153 "description" : "Read mail list.",
14154 "method" : "GET",
14155 "name" : "list_mails",
14156 "parameters" : {
14157 "additionalProperties" : 0,
14158 "properties" : {
14159 "endtime" : {
14160 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14161 "minimum" : 1,
14162 "optional" : 1,
14163 "type" : "integer",
14164 "typetext" : "<integer> (1 - N)"
14165 },
14166 "from" : {
14167 "description" : "Sender email address filter.",
14168 "maxLength" : 256,
14169 "minLength" : 1,
14170 "optional" : 1,
14171 "type" : "string",
14172 "typetext" : "<string>"
14173 },
14174 "greylist" : {
14175 "default" : 0,
14176 "description" : "Include Greylisted entries.",
14177 "optional" : 1,
14178 "type" : "boolean",
14179 "typetext" : "<boolean>"
14180 },
14181 "ndr" : {
14182 "default" : 0,
14183 "description" : "Include NDRs (non delivery reports).",
14184 "optional" : 1,
14185 "type" : "boolean",
14186 "typetext" : "<boolean>"
14187 },
14188 "node" : {
14189 "description" : "The cluster node name.",
14190 "format" : "pve-node",
14191 "type" : "string",
14192 "typetext" : "<string>"
14193 },
14194 "starttime" : {
14195 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14196 "minimum" : 0,
14197 "optional" : 1,
14198 "type" : "integer",
14199 "typetext" : "<integer> (0 - N)"
14200 },
14201 "target" : {
14202 "description" : "Receiver email address filter.",
14203 "maxLength" : 256,
14204 "minLength" : 1,
14205 "optional" : 1,
14206 "type" : "string",
14207 "typetext" : "<string>"
14208 },
14209 "xfilter" : {
14210 "description" : "Only include mails containing this filter string.",
14211 "maxLength" : 256,
14212 "minLength" : 1,
14213 "optional" : 1,
14214 "type" : "string",
14215 "typetext" : "<string>"
14216 }
14217 }
14218 },
14219 "permissions" : {
14220 "check" : [
732d76e1
DM
14221 "admin",
14222 "audit"
14223 ]
14224 },
9fda36b0
DM
14225 "protected" : 1,
14226 "proxyto" : "node",
14227 "returns" : {
14228 "items" : {
14229 "properties" : {
14230 "client" : {
14231 "description" : "Client address",
14232 "optional" : 1,
14233 "type" : "string"
14234 },
14235 "dstatus" : {
14236 "description" : "Delivery status.",
14237 "maxLength" : 1,
14238 "minLength" : 1,
14239 "type" : "string"
14240 },
14241 "from" : {
14242 "description" : "Sender email address.",
14243 "type" : "string"
14244 },
14245 "id" : {
14246 "description" : "Unique ID.",
14247 "type" : "string"
14248 },
14249 "msgid" : {
14250 "description" : "SMTP message ID.",
14251 "optional" : 1,
14252 "type" : "string"
14253 },
14254 "qid" : {
14255 "description" : "Postfix qmgr ID.",
14256 "optional" : 1,
14257 "type" : "string"
14258 },
14259 "relay" : {
14260 "description" : "ID of relayed mail.",
14261 "optional" : 1,
14262 "type" : "string"
14263 },
14264 "rstatus" : {
14265 "description" : "Delivery status of relayed mail.",
14266 "maxLength" : 1,
14267 "minLength" : 1,
14268 "optional" : 1,
14269 "type" : "string"
14270 },
14271 "size" : {
14272 "description" : "The size of the raw email.",
14273 "optional" : 1,
14274 "type" : "number"
14275 },
14276 "time" : {
14277 "description" : "Delivery timestamp.",
14278 "type" : "integer"
14279 },
14280 "to" : {
14281 "description" : "Receiver email address.",
14282 "type" : "string"
14283 }
14284 },
14285 "type" : "object"
14286 },
14287 "links" : [
14288 {
14289 "href" : "{id}",
14290 "rel" : "child"
14291 }
14292 ],
14293 "type" : "array"
14294 }
14295 }
14296 },
14297 "leaf" : 0,
14298 "path" : "/nodes/{node}/tracker",
14299 "text" : "tracker"
14300 },
bb6e6e0d
DM
14301 {
14302 "children" : [
14303 {
14304 "info" : {
14305 "DELETE" : {
6bd70b95 14306 "allowtoken" : 1,
bb6e6e0d
DM
14307 "description" : "Delete a backup file.",
14308 "method" : "DELETE",
14309 "name" : "delete",
14310 "parameters" : {
14311 "additionalProperties" : 0,
14312 "properties" : {
14313 "filename" : {
14314 "description" : "The backup file name.",
14315 "maxLength" : 256,
14316 "minLength" : 4,
14317 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14318 "type" : "string"
14319 },
c5ccf1ab
TL
14320 "node" : {
14321 "description" : "The cluster node name.",
14322 "format" : "pve-node",
14323 "type" : "string",
14324 "typetext" : "<string>"
14325 }
14326 }
14327 },
14328 "permissions" : {
14329 "check" : [
14330 "admin"
14331 ]
14332 },
14333 "protected" : 1,
14334 "proxyto" : "node",
14335 "returns" : {
14336 "type" : "null"
14337 }
14338 },
14339 "GET" : {
14340 "allowtoken" : 1,
14341 "description" : "Download a backup file.",
14342 "download" : 1,
14343 "method" : "GET",
14344 "name" : "download",
14345 "parameters" : {
14346 "additionalProperties" : 0,
14347 "properties" : {
14348 "filename" : {
14349 "description" : "The backup file name.",
14350 "maxLength" : 256,
14351 "minLength" : 4,
14352 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14353 "type" : "string"
14354 },
14355 "node" : {
14356 "description" : "The cluster node name.",
14357 "format" : "pve-node",
14358 "type" : "string",
14359 "typetext" : "<string>"
14360 }
14361 }
14362 },
14363 "permissions" : {
14364 "check" : [
14365 "admin"
14366 ]
14367 },
14368 "protected" : 1,
14369 "proxyto" : "node",
14370 "returns" : {
14371 "type" : "string"
14372 }
14373 },
14374 "POST" : {
14375 "allowtoken" : 1,
14376 "description" : "Restore the system configuration.",
14377 "method" : "POST",
14378 "name" : "restore",
14379 "parameters" : {
14380 "additionalProperties" : 0,
14381 "properties" : {
14382 "config" : {
14383 "default" : 0,
14384 "description" : "Restore system configuration.",
14385 "optional" : 1,
14386 "type" : "boolean",
14387 "typetext" : "<boolean>"
14388 },
14389 "database" : {
14390 "default" : 1,
14391 "description" : "Restore the rule database. This is the default.",
14392 "optional" : 1,
14393 "type" : "boolean",
14394 "typetext" : "<boolean>"
14395 },
14396 "filename" : {
14397 "description" : "The backup file name.",
14398 "maxLength" : 256,
14399 "minLength" : 4,
14400 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14401 "type" : "string"
14402 },
14403 "node" : {
14404 "description" : "The cluster node name.",
14405 "format" : "pve-node",
14406 "type" : "string",
14407 "typetext" : "<string>"
14408 },
14409 "statistic" : {
14410 "default" : 0,
14411 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14412 "optional" : 1,
14413 "type" : "boolean",
14414 "typetext" : "<boolean>"
14415 }
14416 }
14417 },
14418 "permissions" : {
14419 "check" : [
14420 "admin"
14421 ]
14422 },
14423 "protected" : 1,
14424 "proxyto" : "node",
14425 "returns" : {
14426 "type" : "string"
14427 }
14428 }
14429 },
14430 "leaf" : 1,
14431 "path" : "/nodes/{node}/backup/{filename}",
14432 "text" : "{filename}"
14433 }
14434 ],
14435 "info" : {
14436 "GET" : {
14437 "allowtoken" : 1,
14438 "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
14439 "method" : "GET",
14440 "name" : "list",
14441 "parameters" : {
14442 "additionalProperties" : 0,
14443 "properties" : {
14444 "node" : {
14445 "description" : "The cluster node name.",
14446 "format" : "pve-node",
14447 "type" : "string",
14448 "typetext" : "<string>"
14449 }
14450 }
14451 },
14452 "permissions" : {
14453 "check" : [
14454 "admin",
14455 "audit"
14456 ]
14457 },
14458 "protected" : 1,
14459 "proxyto" : "node",
14460 "returns" : {
14461 "items" : {
14462 "properties" : {
14463 "filename" : {
14464 "description" : "The backup file name.",
14465 "maxLength" : 256,
14466 "minLength" : 4,
14467 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14468 "type" : "string"
14469 },
14470 "size" : {
14471 "description" : "Size of backup file in bytes.",
14472 "type" : "integer"
14473 },
14474 "timestamp" : {
14475 "description" : "Backup timestamp (Unix epoch).",
14476 "type" : "integer"
14477 }
14478 },
14479 "type" : "object"
14480 },
14481 "links" : [
14482 {
14483 "href" : "{filename}",
14484 "rel" : "child"
14485 }
14486 ],
14487 "type" : "array"
14488 }
14489 },
14490 "POST" : {
14491 "allowtoken" : 1,
14492 "description" : "Backup the system configuration.",
14493 "method" : "POST",
14494 "name" : "backup",
14495 "parameters" : {
14496 "additionalProperties" : 0,
14497 "properties" : {
14498 "node" : {
14499 "description" : "The cluster node name.",
14500 "format" : "pve-node",
14501 "type" : "string",
14502 "typetext" : "<string>"
14503 },
14504 "notify" : {
14505 "default" : "never",
14506 "description" : "Specify when to notify via e-mail",
14507 "enum" : [
14508 "always",
14509 "error",
14510 "never"
14511 ],
14512 "optional" : 1,
14513 "type" : "string"
14514 },
14515 "statistic" : {
14516 "default" : 1,
14517 "description" : "Backup statistic databases.",
14518 "optional" : 1,
14519 "type" : "boolean",
14520 "typetext" : "<boolean>"
14521 }
14522 }
14523 },
14524 "permissions" : {
14525 "check" : [
14526 "admin"
14527 ]
14528 },
14529 "protected" : 1,
14530 "proxyto" : "node",
14531 "returns" : {
14532 "type" : "string"
14533 }
14534 }
14535 },
14536 "leaf" : 0,
14537 "path" : "/nodes/{node}/backup",
14538 "text" : "backup"
14539 },
14540 {
14541 "children" : [
14542 {
14543 "children" : [
14544 {
14545 "children" : [
14546 {
14547 "children" : [
14548 {
14549 "info" : {
14550 "DELETE" : {
14551 "allowtoken" : 1,
14552 "description" : "Forget a snapshot",
14553 "method" : "DELETE",
14554 "name" : "forget_snapshot",
14555 "parameters" : {
14556 "additionalProperties" : 0,
14557 "properties" : {
14558 "backup-id" : {
14559 "description" : "ID (hostname) of backup snapshot",
14560 "type" : "string",
14561 "typetext" : "<string>"
14562 },
14563 "backup-time" : {
14564 "description" : "Backup time in RFC 3339 format",
14565 "type" : "string",
14566 "typetext" : "<string>"
14567 },
14568 "node" : {
14569 "description" : "The cluster node name.",
14570 "format" : "pve-node",
14571 "type" : "string",
14572 "typetext" : "<string>"
14573 },
14574 "remote" : {
14575 "description" : "Proxmox Backup Server ID.",
14576 "format" : "pve-configid",
14577 "type" : "string",
14578 "typetext" : "<string>"
14579 }
14580 }
14581 },
14582 "permissions" : {
14583 "check" : [
14584 "admin",
14585 "audit"
14586 ]
14587 },
14588 "protected" : 1,
14589 "proxyto" : "node",
14590 "returns" : {
14591 "type" : "null"
14592 }
14593 },
14594 "POST" : {
14595 "allowtoken" : 1,
14596 "description" : "Restore the system configuration.",
14597 "method" : "POST",
14598 "name" : "restore",
14599 "parameters" : {
14600 "additionalProperties" : 0,
14601 "properties" : {
14602 "backup-id" : {
14603 "description" : "backup-id (hostname) of backup snapshot",
14604 "type" : "string",
14605 "typetext" : "<string>"
14606 },
14607 "backup-time" : {
14608 "description" : "backup-time to restore",
14609 "type" : "string",
14610 "typetext" : "<string>"
14611 },
14612 "config" : {
14613 "default" : 0,
14614 "description" : "Restore system configuration.",
14615 "optional" : 1,
14616 "type" : "boolean",
14617 "typetext" : "<boolean>"
14618 },
14619 "database" : {
14620 "default" : 1,
14621 "description" : "Restore the rule database. This is the default.",
14622 "optional" : 1,
14623 "type" : "boolean",
14624 "typetext" : "<boolean>"
14625 },
14626 "node" : {
14627 "description" : "The cluster node name.",
14628 "format" : "pve-node",
14629 "type" : "string",
14630 "typetext" : "<string>"
14631 },
14632 "remote" : {
14633 "description" : "Proxmox Backup Server ID.",
14634 "format" : "pve-configid",
14635 "type" : "string",
14636 "typetext" : "<string>"
14637 },
14638 "statistic" : {
14639 "default" : 0,
14640 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14641 "optional" : 1,
14642 "type" : "boolean",
14643 "typetext" : "<boolean>"
14644 }
14645 }
14646 },
14647 "permissions" : {
14648 "check" : [
14649 "admin"
14650 ]
14651 },
14652 "protected" : 1,
14653 "proxyto" : "node",
14654 "returns" : {
14655 "type" : "string"
14656 }
14657 }
14658 },
14659 "leaf" : 1,
14660 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}/{backup-time}",
14661 "text" : "{backup-time}"
14662 }
14663 ],
14664 "info" : {
14665 "GET" : {
14666 "allowtoken" : 1,
14667 "description" : "Get snapshots from a specific ID stored on remote.",
14668 "method" : "GET",
14669 "name" : "get_group_snapshots",
14670 "parameters" : {
14671 "additionalProperties" : 0,
14672 "properties" : {
14673 "backup-id" : {
14674 "description" : "ID (hostname) of backup snapshot",
14675 "type" : "string",
14676 "typetext" : "<string>"
14677 },
14678 "node" : {
14679 "description" : "The cluster node name.",
14680 "format" : "pve-node",
14681 "type" : "string",
14682 "typetext" : "<string>"
14683 },
14684 "remote" : {
14685 "description" : "Proxmox Backup Server ID.",
14686 "format" : "pve-configid",
14687 "type" : "string",
14688 "typetext" : "<string>"
14689 }
14690 }
14691 },
14692 "permissions" : {
14693 "check" : [
14694 "admin",
14695 "audit"
14696 ]
14697 },
14698 "protected" : 1,
14699 "proxyto" : "node",
14700 "returns" : {
14701 "items" : {
14702 "properties" : {
14703 "backup-id" : {
14704 "type" : "string"
14705 },
14706 "backup-time" : {
14707 "type" : "string"
14708 },
14709 "ctime" : {
14710 "type" : "string"
14711 },
14712 "size" : {
14713 "type" : "integer"
14714 }
14715 },
14716 "type" : "object"
14717 },
14718 "links" : [
14719 {
14720 "href" : "{backup-time}",
14721 "rel" : "child"
14722 }
14723 ],
14724 "type" : "array"
14725 }
14726 }
14727 },
14728 "leaf" : 0,
14729 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}",
14730 "text" : "{backup-id}"
14731 }
14732 ],
14733 "info" : {
14734 "GET" : {
14735 "allowtoken" : 1,
14736 "description" : "Get snapshots stored on remote.",
14737 "method" : "GET",
14738 "name" : "get_snapshots",
14739 "parameters" : {
14740 "additionalProperties" : 0,
14741 "properties" : {
14742 "node" : {
14743 "description" : "The cluster node name.",
14744 "format" : "pve-node",
14745 "type" : "string",
14746 "typetext" : "<string>"
14747 },
14748 "remote" : {
14749 "description" : "Proxmox Backup Server ID.",
14750 "format" : "pve-configid",
14751 "type" : "string",
14752 "typetext" : "<string>"
14753 }
14754 }
14755 },
14756 "permissions" : {
14757 "check" : [
14758 "admin",
14759 "audit"
14760 ]
14761 },
14762 "protected" : 1,
14763 "proxyto" : "node",
14764 "returns" : {
14765 "items" : {
14766 "properties" : {
14767 "backup-id" : {
14768 "type" : "string"
14769 },
14770 "backup-time" : {
14771 "type" : "string"
14772 },
14773 "ctime" : {
14774 "type" : "string"
14775 },
14776 "size" : {
14777 "type" : "integer"
14778 }
14779 },
14780 "type" : "object"
14781 },
14782 "links" : [
14783 {
14784 "href" : "{backup-id}",
14785 "rel" : "child"
14786 }
14787 ],
14788 "type" : "array"
14789 }
14790 },
14791 "POST" : {
14792 "allowtoken" : 1,
14793 "description" : "Create a new backup and prune the backup group afterwards, if configured.",
14794 "method" : "POST",
14795 "name" : "run_backup",
14796 "parameters" : {
14797 "additionalProperties" : 0,
14798 "properties" : {
14799 "node" : {
14800 "description" : "The cluster node name.",
14801 "format" : "pve-node",
14802 "type" : "string",
14803 "typetext" : "<string>"
14804 },
14805 "notify" : {
14806 "default" : "never",
14807 "description" : "Specify when to notify via e-mail",
14808 "enum" : [
14809 "always",
14810 "error",
14811 "never"
14812 ],
14813 "optional" : 1,
14814 "type" : "string"
14815 },
14816 "remote" : {
14817 "description" : "Proxmox Backup Server ID.",
14818 "format" : "pve-configid",
14819 "type" : "string",
14820 "typetext" : "<string>"
14821 },
14822 "statistic" : {
14823 "default" : 1,
14824 "description" : "Backup statistic databases.",
14825 "optional" : 1,
14826 "type" : "boolean",
14827 "typetext" : "<boolean>"
14828 }
14829 }
14830 },
14831 "permissions" : {
14832 "check" : [
14833 "admin",
14834 "audit"
14835 ]
14836 },
14837 "protected" : 1,
14838 "proxyto" : "node",
14839 "returns" : {
14840 "type" : "string"
14841 }
14842 }
14843 },
14844 "leaf" : 0,
14845 "path" : "/nodes/{node}/pbs/{remote}/snapshot",
14846 "text" : "snapshot"
14847 },
14848 {
14849 "info" : {
14850 "DELETE" : {
14851 "allowtoken" : 1,
14852 "description" : "Delete backup schedule",
14853 "method" : "DELETE",
14854 "name" : "delete_timer",
14855 "parameters" : {
14856 "additionalProperties" : 0,
14857 "properties" : {
14858 "node" : {
14859 "description" : "The cluster node name.",
14860 "format" : "pve-node",
14861 "type" : "string",
14862 "typetext" : "<string>"
14863 },
14864 "remote" : {
14865 "description" : "Proxmox Backup Server ID.",
14866 "format" : "pve-configid",
14867 "type" : "string",
14868 "typetext" : "<string>"
14869 }
14870 }
14871 },
14872 "permissions" : {
14873 "check" : [
14874 "admin",
14875 "audit"
14876 ]
14877 },
14878 "protected" : 1,
14879 "proxyto" : "node",
14880 "returns" : {
14881 "type" : "null"
14882 }
14883 },
14884 "GET" : {
14885 "allowtoken" : 1,
14886 "description" : "Get timer specification",
14887 "method" : "GET",
14888 "name" : "list_timer",
14889 "parameters" : {
14890 "additionalProperties" : 0,
14891 "properties" : {
14892 "node" : {
14893 "description" : "The cluster node name.",
14894 "format" : "pve-node",
14895 "type" : "string",
14896 "typetext" : "<string>"
14897 },
14898 "remote" : {
14899 "description" : "Proxmox Backup Server ID.",
14900 "format" : "pve-configid",
14901 "type" : "string",
14902 "typetext" : "<string>"
14903 }
14904 }
14905 },
14906 "permissions" : {
14907 "check" : [
14908 "admin",
14909 "audit"
14910 ]
14911 },
14912 "protected" : 1,
14913 "proxyto" : "node",
14914 "returns" : {
14915 "properties" : {
14916 "delay" : {
14917 "default" : "5min",
14918 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
14919 "optional" : 1,
14920 "pattern" : "[0-9a-zA-Z. ]+",
14921 "type" : "string"
14922 },
14923 "next-run" : {
14924 "description" : "The date time of the next run, in server locale.",
14925 "optional" : 1,
14926 "type" : "string"
14927 },
14928 "remote" : {
14929 "description" : "Proxmox Backup Server remote ID.",
14930 "format" : "pve-configid",
14931 "optional" : 1,
14932 "type" : "string"
14933 },
14934 "schedule" : {
14935 "default" : "daily",
14936 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
14937 "optional" : 1,
14938 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
14939 "type" : "string"
14940 },
14941 "unitfile" : {
14942 "description" : "unit file for the systemd.timer unit",
14943 "optional" : 1,
14944 "type" : "string"
14945 }
14946 },
14947 "type" : "object"
14948 }
14949 },
14950 "POST" : {
14951 "allowtoken" : 1,
14952 "description" : "Create backup schedule",
14953 "method" : "POST",
14954 "name" : "create_timer",
14955 "parameters" : {
14956 "additionalProperties" : 0,
14957 "properties" : {
14958 "delay" : {
14959 "default" : "5min",
14960 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
14961 "optional" : 1,
14962 "pattern" : "[0-9a-zA-Z. ]+",
14963 "type" : "string"
14964 },
14965 "node" : {
14966 "description" : "The cluster node name.",
14967 "format" : "pve-node",
14968 "type" : "string",
14969 "typetext" : "<string>"
14970 },
14971 "remote" : {
14972 "description" : "Proxmox Backup Server ID.",
14973 "format" : "pve-configid",
14974 "type" : "string",
14975 "typetext" : "<string>"
14976 },
14977 "schedule" : {
14978 "default" : "daily",
14979 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
14980 "optional" : 1,
14981 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
14982 "type" : "string"
14983 }
14984 }
14985 },
14986 "permissions" : {
14987 "check" : [
14988 "admin",
14989 "audit"
14990 ]
14991 },
14992 "protected" : 1,
14993 "proxyto" : "node",
14994 "returns" : {
14995 "type" : "null"
ab2b846b
TL
14996 }
14997 }
14998 },
c5ccf1ab
TL
14999 "leaf" : 1,
15000 "path" : "/nodes/{node}/pbs/{remote}/timer",
15001 "text" : "timer"
15002 }
15003 ],
15004 "info" : {
ab2b846b
TL
15005 "GET" : {
15006 "allowtoken" : 1,
c5ccf1ab 15007 "description" : "Backup Job index.",
ab2b846b 15008 "method" : "GET",
c5ccf1ab 15009 "name" : "remote_index",
ab2b846b
TL
15010 "parameters" : {
15011 "additionalProperties" : 0,
15012 "properties" : {
ab2b846b
TL
15013 "node" : {
15014 "description" : "The cluster node name.",
15015 "format" : "pve-node",
15016 "type" : "string",
15017 "typetext" : "<string>"
ab2b846b 15018 },
c5ccf1ab
TL
15019 "remote" : {
15020 "description" : "Proxmox Backup Server ID.",
15021 "format" : "pve-configid",
ab2b846b
TL
15022 "type" : "string",
15023 "typetext" : "<string>"
ab2b846b
TL
15024 }
15025 }
15026 },
ab2b846b 15027 "returns" : {
c5ccf1ab
TL
15028 "items" : {
15029 "properties" : {
15030 "section" : {
15031 "type" : "string"
15032 }
15033 },
15034 "type" : "object"
15035 },
15036 "links" : [
15037 {
15038 "href" : "{section}",
15039 "rel" : "child"
15040 }
15041 ],
15042 "type" : "array"
ab2b846b
TL
15043 }
15044 }
15045 },
c5ccf1ab
TL
15046 "leaf" : 0,
15047 "path" : "/nodes/{node}/pbs/{remote}",
15048 "text" : "{remote}"
ab2b846b
TL
15049 }
15050 ],
15051 "info" : {
15052 "GET" : {
15053 "allowtoken" : 1,
c5ccf1ab 15054 "description" : "List all configured Proxmox Backup Server jobs.",
ab2b846b
TL
15055 "method" : "GET",
15056 "name" : "list",
15057 "parameters" : {
15058 "additionalProperties" : 0,
15059 "properties" : {
c5ccf1ab
TL
15060 "node" : {
15061 "description" : "The cluster node name.",
15062 "format" : "pve-node",
15063 "type" : "string",
15064 "typetext" : "<string>"
ab2b846b
TL
15065 }
15066 }
15067 },
15068 "permissions" : {
15069 "check" : [
c5ccf1ab
TL
15070 "admin",
15071 "audit"
ab2b846b
TL
15072 ]
15073 },
15074 "protected" : 1,
15075 "proxyto" : "node",
15076 "returns" : {
c5ccf1ab
TL
15077 "items" : {
15078 "additionalProperties" : 0,
15079 "properties" : {
15080 "datastore" : {
15081 "description" : "Proxmox Backup Server datastore name.",
15082 "optional" : 0,
0b9926d3 15083 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
c5ccf1ab
TL
15084 "type" : "string"
15085 },
15086 "disable" : {
15087 "description" : "Flag to disable (deactivate) the entry.",
15088 "optional" : 1,
15089 "type" : "boolean"
15090 },
15091 "fingerprint" : {
15092 "description" : "Certificate SHA 256 fingerprint.",
15093 "optional" : 1,
15094 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15095 "type" : "string"
15096 },
15097 "include-statistics" : {
15098 "description" : "Include statistics in scheduled backups",
15099 "optional" : 1,
15100 "type" : "boolean"
15101 },
15102 "keep-daily" : {
15103 "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.",
15104 "format_description" : "N",
15105 "minimum" : "0",
15106 "optional" : 1,
15107 "type" : "integer"
15108 },
15109 "keep-hourly" : {
15110 "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.",
15111 "format_description" : "N",
15112 "minimum" : "0",
15113 "optional" : 1,
15114 "type" : "integer"
15115 },
15116 "keep-last" : {
15117 "description" : "Keep the last <N> backups.",
15118 "format_description" : "N",
15119 "minimum" : "0",
15120 "optional" : 1,
15121 "type" : "integer"
15122 },
15123 "keep-monthly" : {
15124 "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.",
15125 "format_description" : "N",
15126 "minimum" : "0",
15127 "optional" : 1,
15128 "type" : "integer"
15129 },
15130 "keep-weekly" : {
15131 "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.",
15132 "format_description" : "N",
15133 "minimum" : "0",
15134 "optional" : 1,
15135 "type" : "integer"
15136 },
15137 "keep-yearly" : {
15138 "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.",
15139 "format_description" : "N",
15140 "minimum" : "0",
15141 "optional" : 1,
15142 "type" : "integer"
15143 },
0b9926d3
TL
15144 "namespace" : {
15145 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
15146 "maxLength" : 256,
15147 "optional" : 1,
15148 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
15149 "type" : "string"
15150 },
c5ccf1ab
TL
15151 "notify" : {
15152 "description" : "Specify when to notify via e-mail",
15153 "enum" : [
15154 "always",
15155 "error",
15156 "never"
ab2b846b 15157 ],
c5ccf1ab
TL
15158 "optional" : 1,
15159 "type" : "string"
15160 },
15161 "password" : {
15162 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
15163 "optional" : 1,
15164 "type" : "string"
15165 },
15166 "remote" : {
15167 "description" : "Proxmox Backup Server ID.",
15168 "format" : "pve-configid",
15169 "type" : "string"
15170 },
15171 "server" : {
15172 "description" : "Proxmox Backup Server address.",
15173 "format" : "address",
15174 "maxLength" : 256,
15175 "optional" : 0,
15176 "type" : "string"
15177 },
15178 "username" : {
15179 "description" : "Username or API token ID on the Proxmox Backup Server",
15180 "maxLength" : 512,
15181 "minLength" : 3,
15182 "optional" : 1,
15183 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
15184 "type" : "string"
15185 }
15186 },
15187 "type" : "object"
15188 },
15189 "links" : [
15190 {
15191 "href" : "{remote}",
15192 "rel" : "child"
15193 }
15194 ],
15195 "type" : "array"
15196 }
15197 }
15198 },
15199 "leaf" : 0,
15200 "path" : "/nodes/{node}/pbs",
15201 "text" : "pbs"
15202 },
15203 {
15204 "children" : [
15205 {
15206 "info" : {
15207 "GET" : {
15208 "allowtoken" : 1,
15209 "description" : "Get information about the node's certificates.",
15210 "method" : "GET",
15211 "name" : "info",
15212 "parameters" : {
15213 "additionalProperties" : 0,
15214 "properties" : {
15215 "node" : {
15216 "description" : "The cluster node name.",
15217 "format" : "pve-node",
15218 "type" : "string",
15219 "typetext" : "<string>"
15220 }
15221 }
15222 },
15223 "permissions" : {
15224 "user" : "all"
15225 },
15226 "protected" : 1,
15227 "proxyto" : "node",
15228 "returns" : {
15229 "items" : {
15230 "properties" : {
15231 "filename" : {
15232 "optional" : 1,
15233 "type" : "string"
15234 },
15235 "fingerprint" : {
15236 "description" : "Certificate SHA 256 fingerprint.",
15237 "optional" : 1,
15238 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15239 "type" : "string"
15240 },
15241 "issuer" : {
15242 "description" : "Certificate issuer name.",
15243 "optional" : 1,
15244 "type" : "string"
15245 },
15246 "notafter" : {
15247 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15248 "optional" : 1,
15249 "renderer" : "timestamp",
15250 "type" : "integer"
15251 },
15252 "notbefore" : {
15253 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15254 "optional" : 1,
15255 "renderer" : "timestamp",
15256 "type" : "integer"
15257 },
15258 "pem" : {
15259 "description" : "Certificate in PEM format",
15260 "format" : "pem-certificate",
15261 "optional" : 1,
15262 "type" : "string"
15263 },
15264 "public-key-bits" : {
15265 "description" : "Certificate's public key size",
15266 "optional" : 1,
15267 "type" : "integer"
15268 },
15269 "public-key-type" : {
15270 "description" : "Certificate's public key algorithm",
15271 "optional" : 1,
15272 "type" : "string"
15273 },
15274 "san" : {
15275 "description" : "List of Certificate's SubjectAlternativeName entries.",
15276 "items" : {
15277 "type" : "string"
ab2b846b 15278 },
c5ccf1ab
TL
15279 "optional" : 1,
15280 "renderer" : "yaml",
15281 "type" : "array"
15282 },
15283 "subject" : {
15284 "description" : "Certificate subject name.",
15285 "optional" : 1,
15286 "type" : "string"
ab2b846b
TL
15287 }
15288 },
c5ccf1ab
TL
15289 "type" : "object"
15290 },
15291 "type" : "array"
15292 }
15293 }
15294 },
15295 "leaf" : 1,
15296 "path" : "/nodes/{node}/certificates/info",
15297 "text" : "info"
15298 },
15299 {
15300 "children" : [
15301 {
ab2b846b 15302 "info" : {
c5ccf1ab 15303 "DELETE" : {
ab2b846b 15304 "allowtoken" : 1,
c5ccf1ab
TL
15305 "description" : "DELETE custom certificate chain and key.",
15306 "method" : "DELETE",
15307 "name" : "remove_custom_cert",
ab2b846b
TL
15308 "parameters" : {
15309 "additionalProperties" : 0,
15310 "properties" : {
15311 "node" : {
15312 "description" : "The cluster node name.",
15313 "format" : "pve-node",
15314 "type" : "string",
15315 "typetext" : "<string>"
15316 },
c5ccf1ab
TL
15317 "restart" : {
15318 "default" : 0,
15319 "description" : "Restart pmgproxy.",
15320 "optional" : 1,
15321 "type" : "boolean",
15322 "typetext" : "<boolean>"
15323 },
15324 "type" : {
15325 "description" : "The TLS certificate type (API or SMTP certificate).",
15326 "enum" : [
15327 "api",
15328 "smtp"
15329 ],
15330 "type" : "string"
ab2b846b
TL
15331 }
15332 }
15333 },
15334 "permissions" : {
15335 "check" : [
c5ccf1ab 15336 "admin"
ab2b846b
TL
15337 ]
15338 },
15339 "protected" : 1,
15340 "proxyto" : "node",
15341 "returns" : {
c5ccf1ab 15342 "type" : "null"
ab2b846b
TL
15343 }
15344 },
15345 "POST" : {
15346 "allowtoken" : 1,
c5ccf1ab 15347 "description" : "Upload or update custom certificate chain and key.",
ab2b846b 15348 "method" : "POST",
c5ccf1ab 15349 "name" : "upload_custom_cert",
ab2b846b
TL
15350 "parameters" : {
15351 "additionalProperties" : 0,
15352 "properties" : {
c5ccf1ab
TL
15353 "certificates" : {
15354 "description" : "PEM encoded certificate (chain).",
15355 "format" : "pem-certificate-chain",
15356 "type" : "string",
15357 "typetext" : "<string>"
15358 },
15359 "force" : {
15360 "default" : 0,
15361 "description" : "Overwrite existing custom or ACME certificate files.",
15362 "optional" : 1,
15363 "type" : "boolean",
15364 "typetext" : "<boolean>"
15365 },
15366 "key" : {
15367 "description" : "PEM encoded private key.",
15368 "format" : "pem-string",
15369 "optional" : 0,
15370 "type" : "string",
15371 "typetext" : "<string>"
15372 },
ab2b846b
TL
15373 "node" : {
15374 "description" : "The cluster node name.",
15375 "format" : "pve-node",
15376 "type" : "string",
15377 "typetext" : "<string>"
15378 },
c5ccf1ab
TL
15379 "restart" : {
15380 "default" : 0,
15381 "description" : "Restart services.",
15382 "optional" : 1,
15383 "type" : "boolean",
15384 "typetext" : "<boolean>"
15385 },
15386 "type" : {
15387 "description" : "The TLS certificate type (API or SMTP certificate).",
15388 "enum" : [
15389 "api",
15390 "smtp"
15391 ],
15392 "type" : "string"
ab2b846b
TL
15393 }
15394 }
15395 },
15396 "permissions" : {
15397 "check" : [
c5ccf1ab 15398 "admin"
ab2b846b
TL
15399 ]
15400 },
15401 "protected" : 1,
15402 "proxyto" : "node",
15403 "returns" : {
c5ccf1ab
TL
15404 "properties" : {
15405 "filename" : {
15406 "optional" : 1,
15407 "type" : "string"
15408 },
15409 "fingerprint" : {
15410 "description" : "Certificate SHA 256 fingerprint.",
15411 "optional" : 1,
15412 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15413 "type" : "string"
15414 },
15415 "issuer" : {
15416 "description" : "Certificate issuer name.",
15417 "optional" : 1,
15418 "type" : "string"
15419 },
15420 "notafter" : {
15421 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15422 "optional" : 1,
15423 "renderer" : "timestamp",
15424 "type" : "integer"
15425 },
15426 "notbefore" : {
15427 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15428 "optional" : 1,
15429 "renderer" : "timestamp",
15430 "type" : "integer"
15431 },
15432 "pem" : {
15433 "description" : "Certificate in PEM format",
15434 "format" : "pem-certificate",
15435 "optional" : 1,
15436 "type" : "string"
15437 },
15438 "public-key-bits" : {
15439 "description" : "Certificate's public key size",
15440 "optional" : 1,
15441 "type" : "integer"
15442 },
15443 "public-key-type" : {
15444 "description" : "Certificate's public key algorithm",
15445 "optional" : 1,
15446 "type" : "string"
15447 },
15448 "san" : {
15449 "description" : "List of Certificate's SubjectAlternativeName entries.",
15450 "items" : {
15451 "type" : "string"
15452 },
15453 "optional" : 1,
15454 "renderer" : "yaml",
15455 "type" : "array"
15456 },
15457 "subject" : {
15458 "description" : "Certificate subject name.",
15459 "optional" : 1,
15460 "type" : "string"
15461 }
15462 },
15463 "type" : "object"
15464 }
15465 }
15466 },
15467 "leaf" : 1,
15468 "path" : "/nodes/{node}/certificates/custom/{type}",
15469 "text" : "{type}"
15470 }
15471 ],
15472 "info" : {
15473 "GET" : {
15474 "allowtoken" : 1,
15475 "description" : "Certificate index.",
15476 "method" : "GET",
15477 "name" : "custom_cert_index",
15478 "parameters" : {
15479 "additionalProperties" : 0,
15480 "properties" : {
15481 "node" : {
15482 "description" : "The cluster node name.",
15483 "format" : "pve-node",
15484 "type" : "string",
15485 "typetext" : "<string>"
ab2b846b
TL
15486 }
15487 }
15488 },
c5ccf1ab
TL
15489 "permissions" : {
15490 "user" : "all"
15491 },
15492 "returns" : {
15493 "items" : {
15494 "properties" : {},
15495 "type" : "object"
15496 },
15497 "links" : [
15498 {
15499 "href" : "{type}",
15500 "rel" : "child"
15501 }
15502 ],
15503 "type" : "array"
15504 }
15505 }
15506 },
15507 "leaf" : 0,
15508 "path" : "/nodes/{node}/certificates/custom",
15509 "text" : "custom"
15510 },
15511 {
15512 "children" : [
ab2b846b
TL
15513 {
15514 "info" : {
15515 "DELETE" : {
15516 "allowtoken" : 1,
c5ccf1ab 15517 "description" : "Revoke existing certificate from CA.",
ab2b846b 15518 "method" : "DELETE",
c5ccf1ab 15519 "name" : "revoke_acme_cert",
ab2b846b
TL
15520 "parameters" : {
15521 "additionalProperties" : 0,
15522 "properties" : {
15523 "node" : {
15524 "description" : "The cluster node name.",
15525 "format" : "pve-node",
15526 "type" : "string",
15527 "typetext" : "<string>"
15528 },
c5ccf1ab
TL
15529 "type" : {
15530 "description" : "The TLS certificate type (API or SMTP certificate).",
15531 "enum" : [
15532 "api",
15533 "smtp"
15534 ],
15535 "type" : "string"
ab2b846b
TL
15536 }
15537 }
15538 },
15539 "permissions" : {
15540 "check" : [
c5ccf1ab 15541 "admin"
ab2b846b
TL
15542 ]
15543 },
15544 "protected" : 1,
15545 "proxyto" : "node",
15546 "returns" : {
c5ccf1ab 15547 "type" : "string"
ab2b846b
TL
15548 }
15549 },
c5ccf1ab 15550 "POST" : {
ab2b846b 15551 "allowtoken" : 1,
c5ccf1ab
TL
15552 "description" : "Order a new certificate from ACME-compatible CA.",
15553 "method" : "POST",
15554 "name" : "new_acme_cert",
ab2b846b
TL
15555 "parameters" : {
15556 "additionalProperties" : 0,
15557 "properties" : {
c5ccf1ab
TL
15558 "force" : {
15559 "default" : 0,
15560 "description" : "Overwrite existing custom certificate.",
15561 "optional" : 1,
15562 "type" : "boolean",
15563 "typetext" : "<boolean>"
15564 },
ab2b846b
TL
15565 "node" : {
15566 "description" : "The cluster node name.",
15567 "format" : "pve-node",
15568 "type" : "string",
15569 "typetext" : "<string>"
15570 },
c5ccf1ab
TL
15571 "type" : {
15572 "description" : "The TLS certificate type (API or SMTP certificate).",
15573 "enum" : [
15574 "api",
15575 "smtp"
15576 ],
15577 "type" : "string"
ab2b846b
TL
15578 }
15579 }
15580 },
15581 "permissions" : {
15582 "check" : [
c5ccf1ab 15583 "admin"
ab2b846b
TL
15584 ]
15585 },
15586 "protected" : 1,
15587 "proxyto" : "node",
15588 "returns" : {
c5ccf1ab 15589 "type" : "string"
ab2b846b
TL
15590 }
15591 },
c5ccf1ab 15592 "PUT" : {
ab2b846b 15593 "allowtoken" : 1,
c5ccf1ab
TL
15594 "description" : "Renew existing certificate from CA.",
15595 "method" : "PUT",
15596 "name" : "renew_acme_cert",
ab2b846b
TL
15597 "parameters" : {
15598 "additionalProperties" : 0,
15599 "properties" : {
c5ccf1ab
TL
15600 "force" : {
15601 "default" : 0,
15602 "description" : "Force renewal even if expiry is more than 30 days away.",
ab2b846b 15603 "optional" : 1,
c5ccf1ab
TL
15604 "type" : "boolean",
15605 "typetext" : "<boolean>"
ab2b846b
TL
15606 },
15607 "node" : {
15608 "description" : "The cluster node name.",
15609 "format" : "pve-node",
15610 "type" : "string",
15611 "typetext" : "<string>"
15612 },
c5ccf1ab
TL
15613 "type" : {
15614 "description" : "The TLS certificate type (API or SMTP certificate).",
15615 "enum" : [
15616 "api",
15617 "smtp"
15618 ],
ab2b846b
TL
15619 "type" : "string"
15620 }
15621 }
15622 },
15623 "permissions" : {
15624 "check" : [
c5ccf1ab 15625 "admin"
ab2b846b
TL
15626 ]
15627 },
15628 "protected" : 1,
15629 "proxyto" : "node",
15630 "returns" : {
c5ccf1ab 15631 "type" : "string"
bb6e6e0d
DM
15632 }
15633 }
15634 },
ab2b846b 15635 "leaf" : 1,
c5ccf1ab
TL
15636 "path" : "/nodes/{node}/certificates/acme/{type}",
15637 "text" : "{type}"
ab2b846b
TL
15638 }
15639 ],
15640 "info" : {
bb6e6e0d 15641 "GET" : {
6bd70b95 15642 "allowtoken" : 1,
c5ccf1ab 15643 "description" : "ACME Certificate index.",
bb6e6e0d 15644 "method" : "GET",
c5ccf1ab 15645 "name" : "acme_cert_index",
bb6e6e0d
DM
15646 "parameters" : {
15647 "additionalProperties" : 0,
15648 "properties" : {
bb6e6e0d
DM
15649 "node" : {
15650 "description" : "The cluster node name.",
15651 "format" : "pve-node",
15652 "type" : "string",
15653 "typetext" : "<string>"
bb6e6e0d
DM
15654 }
15655 }
15656 },
c5ccf1ab
TL
15657 "permissions" : {
15658 "user" : "all"
15659 },
bb6e6e0d 15660 "returns" : {
ab2b846b 15661 "items" : {
c5ccf1ab 15662 "properties" : {},
ab2b846b
TL
15663 "type" : "object"
15664 },
15665 "links" : [
15666 {
c5ccf1ab 15667 "href" : "{type}",
ab2b846b
TL
15668 "rel" : "child"
15669 }
15670 ],
15671 "type" : "array"
bb6e6e0d
DM
15672 }
15673 }
15674 },
ab2b846b 15675 "leaf" : 0,
c5ccf1ab
TL
15676 "path" : "/nodes/{node}/certificates/acme",
15677 "text" : "acme"
bb6e6e0d
DM
15678 }
15679 ],
15680 "info" : {
15681 "GET" : {
6bd70b95 15682 "allowtoken" : 1,
c5ccf1ab 15683 "description" : "Node index.",
bb6e6e0d 15684 "method" : "GET",
c5ccf1ab
TL
15685 "name" : "index",
15686 "parameters" : {
15687 "additionalProperties" : 0,
15688 "properties" : {
15689 "node" : {
15690 "description" : "The cluster node name.",
15691 "format" : "pve-node",
15692 "type" : "string",
15693 "typetext" : "<string>"
15694 }
15695 }
15696 },
15697 "permissions" : {
15698 "user" : "all"
15699 },
15700 "returns" : {
15701 "items" : {
15702 "properties" : {},
15703 "type" : "object"
15704 },
15705 "links" : [
15706 {
15707 "href" : "{name}",
15708 "rel" : "child"
15709 }
15710 ],
15711 "type" : "array"
15712 }
15713 }
15714 },
15715 "leaf" : 0,
15716 "path" : "/nodes/{node}/certificates",
15717 "text" : "certificates"
15718 },
15719 {
15720 "info" : {
15721 "GET" : {
15722 "allowtoken" : 1,
15723 "description" : "Get node configuration options.",
15724 "method" : "GET",
15725 "name" : "get_config",
15726 "parameters" : {
15727 "additionalProperties" : 0,
15728 "properties" : {
15729 "node" : {
15730 "description" : "The cluster node name.",
15731 "format" : "pve-node",
15732 "type" : "string",
15733 "typetext" : "<string>"
15734 }
15735 }
15736 },
15737 "permissions" : {
15738 "check" : [
15739 "admin",
15740 "audit"
15741 ]
15742 },
15743 "protected" : 1,
15744 "proxyto" : "node",
15745 "returns" : {
15746 "additionalProperties" : 0,
15747 "properties" : {
15748 "acme" : {
15749 "description" : "Node specific ACME settings.",
15750 "format" : {
15751 "account" : {
15752 "default" : "default",
15753 "description" : "ACME account config file name.",
15754 "format" : "pve-configid",
15755 "format_description" : "name",
15756 "optional" : 1,
15757 "type" : "string"
15758 }
15759 },
15760 "optional" : 1,
15761 "type" : "string"
15762 },
15763 "acmedomain[n]" : {
15764 "description" : "ACME domain and validation plugin",
15765 "format" : {
15766 "alias" : {
15767 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
15768 "format" : "pmg-acme-alias",
15769 "format_description" : "domain",
15770 "optional" : 1,
15771 "type" : "string"
15772 },
15773 "domain" : {
15774 "default_key" : 1,
15775 "description" : "domain for this node's ACME certificate",
15776 "format" : "pmg-acme-domain",
15777 "format_description" : "domain",
15778 "type" : "string"
15779 },
15780 "plugin" : {
15781 "default" : "standalone",
15782 "description" : "The ACME plugin ID",
15783 "format" : "pve-configid",
15784 "format_description" : "name of the plugin configuration",
15785 "optional" : 1,
15786 "type" : "string"
15787 },
15788 "usage" : {
15789 "description" : "Whether this domain is used for the API, SMTP or both",
15790 "format" : "pmg-certificate-type-list",
15791 "format_description" : "usage list",
15792 "type" : "string"
15793 }
15794 },
15795 "optional" : 1,
15796 "type" : "string"
15797 },
15798 "digest" : {
15799 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15800 "maxLength" : 40,
15801 "optional" : 1,
15802 "type" : "string"
15803 }
15804 },
15805 "type" : "object"
15806 }
15807 },
15808 "PUT" : {
15809 "allowtoken" : 1,
15810 "description" : "Set node configuration options.",
15811 "method" : "PUT",
15812 "name" : "set_config",
bb6e6e0d
DM
15813 "parameters" : {
15814 "additionalProperties" : 0,
15815 "properties" : {
c5ccf1ab
TL
15816 "acme" : {
15817 "description" : "Node specific ACME settings.",
15818 "format" : {
15819 "account" : {
15820 "default" : "default",
15821 "description" : "ACME account config file name.",
15822 "format" : "pve-configid",
15823 "format_description" : "name",
15824 "optional" : 1,
15825 "type" : "string"
15826 }
15827 },
15828 "optional" : 1,
15829 "type" : "string",
15830 "typetext" : "[account=<name>]"
15831 },
15832 "acmedomain[n]" : {
15833 "description" : "ACME domain and validation plugin",
15834 "format" : {
15835 "alias" : {
15836 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
15837 "format" : "pmg-acme-alias",
15838 "format_description" : "domain",
15839 "optional" : 1,
15840 "type" : "string"
15841 },
15842 "domain" : {
15843 "default_key" : 1,
15844 "description" : "domain for this node's ACME certificate",
15845 "format" : "pmg-acme-domain",
15846 "format_description" : "domain",
15847 "type" : "string"
15848 },
15849 "plugin" : {
15850 "default" : "standalone",
15851 "description" : "The ACME plugin ID",
15852 "format" : "pve-configid",
15853 "format_description" : "name of the plugin configuration",
15854 "optional" : 1,
15855 "type" : "string"
15856 },
15857 "usage" : {
15858 "description" : "Whether this domain is used for the API, SMTP or both",
15859 "format" : "pmg-certificate-type-list",
15860 "format_description" : "usage list",
15861 "type" : "string"
15862 }
15863 },
15864 "optional" : 1,
15865 "type" : "string",
15866 "typetext" : "[domain=]<domain> ,usage=<usage list> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
15867 },
15868 "delete" : {
15869 "description" : "A list of settings you want to delete.",
15870 "format" : "pve-configid-list",
15871 "optional" : 1,
15872 "type" : "string",
15873 "typetext" : "<string>"
15874 },
15875 "digest" : {
15876 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15877 "maxLength" : 40,
15878 "optional" : 1,
15879 "type" : "string",
15880 "typetext" : "<string>"
15881 },
bb6e6e0d
DM
15882 "node" : {
15883 "description" : "The cluster node name.",
15884 "format" : "pve-node",
15885 "type" : "string",
15886 "typetext" : "<string>"
15887 }
c5ccf1ab
TL
15888 },
15889 "type" : "object"
bb6e6e0d
DM
15890 },
15891 "permissions" : {
15892 "check" : [
15893 "admin",
15894 "audit"
15895 ]
15896 },
15897 "protected" : 1,
15898 "proxyto" : "node",
15899 "returns" : {
c5ccf1ab 15900 "type" : "null"
bb6e6e0d 15901 }
bb6e6e0d
DM
15902 }
15903 },
c5ccf1ab
TL
15904 "leaf" : 1,
15905 "path" : "/nodes/{node}/config",
15906 "text" : "config"
bb6e6e0d 15907 },
241ac83c
TL
15908 {
15909 "info" : {
15910 "GET" : {
6bd70b95 15911 "allowtoken" : 1,
241ac83c
TL
15912 "description" : "Gather various system information about a node",
15913 "method" : "GET",
15914 "name" : "report",
15915 "parameters" : {
15916 "additionalProperties" : 0,
15917 "properties" : {
15918 "node" : {
15919 "description" : "The cluster node name.",
15920 "format" : "pve-node",
15921 "type" : "string",
15922 "typetext" : "<string>"
15923 }
15924 }
15925 },
15926 "permissions" : {
15927 "check" : [
15928 "admin",
15929 "audit"
15930 ]
15931 },
15932 "protected" : 1,
15933 "proxyto" : "node",
15934 "returns" : {
15935 "type" : "string"
15936 }
15937 }
15938 },
15939 "leaf" : 1,
15940 "path" : "/nodes/{node}/report",
15941 "text" : "report"
15942 },
9fda36b0
DM
15943 {
15944 "info" : {
15945 "GET" : {
6bd70b95 15946 "allowtoken" : 1,
9fda36b0
DM
15947 "description" : "Read node RRD statistics",
15948 "method" : "GET",
15949 "name" : "rrddata",
15950 "parameters" : {
15951 "additionalProperties" : 0,
15952 "properties" : {
15953 "cf" : {
15954 "description" : "The RRD consolidation function",
15955 "enum" : [
15956 "AVERAGE",
15957 "MAX"
15958 ],
15959 "optional" : 1,
15960 "type" : "string"
15961 },
15962 "node" : {
15963 "description" : "The cluster node name.",
15964 "format" : "pve-node",
15965 "type" : "string",
15966 "typetext" : "<string>"
15967 },
15968 "timeframe" : {
15969 "description" : "Specify the time frame you are interested in.",
15970 "enum" : [
15971 "hour",
15972 "day",
15973 "week",
15974 "month",
15975 "year"
15976 ],
15977 "type" : "string"
15978 }
15979 }
15980 },
732d76e1
DM
15981 "permissions" : {
15982 "check" : [
15983 "admin",
15984 "audit"
15985 ]
15986 },
9fda36b0
DM
15987 "protected" : 1,
15988 "proxyto" : "node",
15989 "returns" : {
15990 "items" : {
15991 "properties" : {},
15992 "type" : "object"
15993 },
15994 "type" : "array"
15995 }
15996 }
15997 },
15998 "leaf" : 1,
15999 "path" : "/nodes/{node}/rrddata",
16000 "text" : "rrddata"
16001 },
16002 {
16003 "info" : {
16004 "GET" : {
6bd70b95 16005 "allowtoken" : 1,
9fda36b0
DM
16006 "description" : "Read system log",
16007 "method" : "GET",
16008 "name" : "syslog",
16009 "parameters" : {
16010 "additionalProperties" : 0,
16011 "properties" : {
16012 "limit" : {
16013 "minimum" : 0,
16014 "optional" : 1,
16015 "type" : "integer",
16016 "typetext" : "<integer> (0 - N)"
16017 },
16018 "node" : {
16019 "description" : "The cluster node name.",
16020 "format" : "pve-node",
16021 "type" : "string",
16022 "typetext" : "<string>"
16023 },
16024 "service" : {
16025 "description" : "Service ID",
16026 "maxLength" : 128,
16027 "optional" : 1,
16028 "type" : "string",
16029 "typetext" : "<string>"
16030 },
16031 "since" : {
16032 "description" : "Display all log since this date-time string.",
16033 "optional" : 1,
16034 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
16035 "type" : "string"
16036 },
16037 "start" : {
16038 "minimum" : 0,
16039 "optional" : 1,
16040 "type" : "integer",
16041 "typetext" : "<integer> (0 - N)"
16042 },
16043 "until" : {
16044 "description" : "Display all log until this date-time string.",
16045 "optional" : 1,
16046 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
16047 "type" : "string"
16048 }
16049 }
16050 },
732d76e1
DM
16051 "permissions" : {
16052 "check" : [
16053 "admin",
16054 "audit"
16055 ]
16056 },
9fda36b0
DM
16057 "protected" : 1,
16058 "proxyto" : "node",
16059 "returns" : {
16060 "items" : {
16061 "properties" : {
16062 "n" : {
16063 "description" : "Line number",
16064 "type" : "integer"
16065 },
16066 "t" : {
16067 "description" : "Line text",
16068 "type" : "string"
16069 }
16070 },
16071 "type" : "object"
16072 },
16073 "type" : "array"
16074 }
16075 }
16076 },
16077 "leaf" : 1,
16078 "path" : "/nodes/{node}/syslog",
16079 "text" : "syslog"
16080 },
241ac83c
TL
16081 {
16082 "info" : {
16083 "GET" : {
6bd70b95 16084 "allowtoken" : 1,
241ac83c
TL
16085 "description" : "Read Journal",
16086 "method" : "GET",
16087 "name" : "journal",
16088 "parameters" : {
16089 "additionalProperties" : 0,
16090 "properties" : {
16091 "endcursor" : {
16092 "description" : "End before the given Cursor. Conflicts with 'until'.",
16093 "optional" : 1,
16094 "type" : "string",
16095 "typetext" : "<string>"
16096 },
16097 "lastentries" : {
16098 "description" : "Limit to the last X lines. Conflicts with a range.",
16099 "minimum" : 0,
16100 "optional" : 1,
16101 "type" : "integer",
16102 "typetext" : "<integer> (0 - N)"
16103 },
16104 "node" : {
16105 "description" : "The cluster node name.",
16106 "format" : "pve-node",
16107 "type" : "string",
16108 "typetext" : "<string>"
16109 },
16110 "since" : {
16111 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
16112 "minimum" : 0,
16113 "optional" : 1,
16114 "type" : "integer",
16115 "typetext" : "<integer> (0 - N)"
16116 },
16117 "startcursor" : {
16118 "description" : "Start after the given Cursor. Conflicts with 'since'.",
16119 "optional" : 1,
16120 "type" : "string",
16121 "typetext" : "<string>"
16122 },
16123 "until" : {
16124 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
16125 "minimum" : 0,
16126 "optional" : 1,
16127 "type" : "integer",
16128 "typetext" : "<integer> (0 - N)"
16129 }
16130 }
16131 },
16132 "permissions" : {
16133 "check" : [
16134 "admin",
16135 "audit"
16136 ]
16137 },
16138 "protected" : 1,
16139 "proxyto" : "node",
16140 "returns" : {
16141 "items" : {
16142 "type" : "string"
16143 },
16144 "type" : "array"
16145 }
16146 }
16147 },
16148 "leaf" : 1,
16149 "path" : "/nodes/{node}/journal",
16150 "text" : "journal"
16151 },
9fda36b0
DM
16152 {
16153 "info" : {
16154 "POST" : {
6bd70b95 16155 "allowtoken" : 1,
274b47fc 16156 "description" : "Creates a Terminal proxy.",
9fda36b0 16157 "method" : "POST",
274b47fc 16158 "name" : "termproxy",
9fda36b0
DM
16159 "parameters" : {
16160 "additionalProperties" : 0,
16161 "properties" : {
c5ccf1ab
TL
16162 "cmd" : {
16163 "default" : "login",
16164 "description" : "Run specific command or default to login.",
16165 "enum" : [
14ffe66b
TL
16166 "login",
16167 "upgrade"
c5ccf1ab
TL
16168 ],
16169 "optional" : 1,
16170 "type" : "string"
16171 },
16172 "cmd-opts" : {
16173 "default" : "",
16174 "description" : "Add parameters to a command. Encoded as null terminated strings.",
16175 "optional" : 1,
16176 "requires" : "cmd",
16177 "type" : "string",
16178 "typetext" : "<string>"
16179 },
9fda36b0
DM
16180 "node" : {
16181 "description" : "The cluster node name.",
16182 "format" : "pve-node",
16183 "type" : "string",
16184 "typetext" : "<string>"
9fda36b0
DM
16185 }
16186 }
16187 },
274b47fc
DM
16188 "permissions" : {
16189 "check" : [
16190 "admin"
16191 ]
16192 },
9fda36b0
DM
16193 "protected" : 1,
16194 "returns" : {
16195 "additionalProperties" : 0,
16196 "properties" : {
16197 "port" : {
16198 "type" : "integer"
16199 },
16200 "ticket" : {
16201 "type" : "string"
16202 },
16203 "upid" : {
16204 "type" : "string"
16205 },
16206 "user" : {
16207 "type" : "string"
16208 }
16209 }
16210 }
16211 }
16212 },
16213 "leaf" : 1,
274b47fc
DM
16214 "path" : "/nodes/{node}/termproxy",
16215 "text" : "termproxy"
9fda36b0
DM
16216 },
16217 {
16218 "info" : {
16219 "GET" : {
6bd70b95 16220 "allowtoken" : 1,
9fda36b0
DM
16221 "description" : "Opens a weksocket for VNC traffic.",
16222 "method" : "GET",
16223 "name" : "vncwebsocket",
16224 "parameters" : {
16225 "additionalProperties" : 0,
16226 "properties" : {
16227 "node" : {
16228 "description" : "The cluster node name.",
16229 "format" : "pve-node",
16230 "type" : "string",
16231 "typetext" : "<string>"
16232 },
16233 "port" : {
16234 "description" : "Port number returned by previous vncproxy call.",
16235 "maximum" : 5999,
16236 "minimum" : 5900,
16237 "type" : "integer",
16238 "typetext" : "<integer> (5900 - 5999)"
16239 },
16240 "vncticket" : {
16241 "description" : "Ticket from previous call to vncproxy.",
16242 "maxLength" : 512,
16243 "type" : "string",
16244 "typetext" : "<string>"
16245 }
16246 }
16247 },
274b47fc
DM
16248 "permissions" : {
16249 "check" : [
16250 "admin"
16251 ]
16252 },
9fda36b0
DM
16253 "returns" : {
16254 "properties" : {
16255 "port" : {
16256 "type" : "string"
16257 }
16258 },
16259 "type" : "object"
16260 }
16261 }
16262 },
16263 "leaf" : 1,
16264 "path" : "/nodes/{node}/vncwebsocket",
16265 "text" : "vncwebsocket"
16266 },
16267 {
16268 "info" : {
16269 "GET" : {
6bd70b95 16270 "allowtoken" : 1,
9fda36b0
DM
16271 "description" : "Read DNS settings.",
16272 "method" : "GET",
16273 "name" : "dns",
16274 "parameters" : {
16275 "additionalProperties" : 0,
16276 "properties" : {
16277 "node" : {
16278 "description" : "The cluster node name.",
16279 "format" : "pve-node",
16280 "type" : "string",
16281 "typetext" : "<string>"
16282 }
16283 }
16284 },
732d76e1
DM
16285 "permissions" : {
16286 "check" : [
16287 "admin",
16288 "audit"
16289 ]
16290 },
9fda36b0
DM
16291 "proxyto" : "node",
16292 "returns" : {
16293 "additionalProperties" : 0,
16294 "properties" : {
16295 "dns1" : {
16296 "description" : "First name server IP address.",
16297 "optional" : 1,
16298 "type" : "string"
16299 },
16300 "dns2" : {
16301 "description" : "Second name server IP address.",
16302 "optional" : 1,
16303 "type" : "string"
16304 },
16305 "dns3" : {
16306 "description" : "Third name server IP address.",
16307 "optional" : 1,
16308 "type" : "string"
16309 },
16310 "search" : {
16311 "description" : "Search domain for host-name lookup.",
16312 "optional" : 1,
16313 "type" : "string"
16314 }
16315 },
16316 "type" : "object"
16317 }
16318 },
16319 "PUT" : {
6bd70b95 16320 "allowtoken" : 1,
9fda36b0
DM
16321 "description" : "Write DNS settings.",
16322 "method" : "PUT",
16323 "name" : "update_dns",
16324 "parameters" : {
16325 "additionalProperties" : 0,
16326 "properties" : {
16327 "dns1" : {
16328 "description" : "First name server IP address.",
16329 "format" : "ip",
16330 "optional" : 1,
16331 "type" : "string",
16332 "typetext" : "<string>"
16333 },
16334 "dns2" : {
16335 "description" : "Second name server IP address.",
16336 "format" : "ip",
16337 "optional" : 1,
16338 "type" : "string",
16339 "typetext" : "<string>"
16340 },
16341 "dns3" : {
16342 "description" : "Third name server IP address.",
16343 "format" : "ip",
16344 "optional" : 1,
16345 "type" : "string",
16346 "typetext" : "<string>"
16347 },
16348 "node" : {
16349 "description" : "The cluster node name.",
16350 "format" : "pve-node",
16351 "type" : "string",
16352 "typetext" : "<string>"
16353 },
16354 "search" : {
16355 "description" : "Search domain for host-name lookup.",
16356 "type" : "string",
16357 "typetext" : "<string>"
16358 }
16359 }
16360 },
16361 "protected" : 1,
16362 "proxyto" : "node",
16363 "returns" : {
16364 "type" : "null"
16365 }
16366 }
16367 },
16368 "leaf" : 1,
16369 "path" : "/nodes/{node}/dns",
16370 "text" : "dns"
16371 },
16372 {
16373 "info" : {
16374 "GET" : {
6bd70b95 16375 "allowtoken" : 1,
9fda36b0
DM
16376 "description" : "Read server time and time zone settings.",
16377 "method" : "GET",
16378 "name" : "time",
16379 "parameters" : {
16380 "additionalProperties" : 0,
16381 "properties" : {
16382 "node" : {
16383 "description" : "The cluster node name.",
16384 "format" : "pve-node",
16385 "type" : "string",
16386 "typetext" : "<string>"
16387 }
16388 }
16389 },
732d76e1
DM
16390 "permissions" : {
16391 "check" : [
16392 "admin",
16393 "audit"
16394 ]
16395 },
9fda36b0
DM
16396 "proxyto" : "node",
16397 "returns" : {
16398 "additionalProperties" : 0,
16399 "properties" : {
16400 "localtime" : {
16401 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
16402 "minimum" : 1297163644,
16403 "type" : "integer"
16404 },
16405 "time" : {
16406 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16407 "minimum" : 1297163644,
16408 "type" : "integer"
16409 },
16410 "timezone" : {
16411 "description" : "Time zone",
16412 "type" : "string"
16413 }
16414 },
16415 "type" : "object"
16416 }
16417 },
16418 "PUT" : {
6bd70b95 16419 "allowtoken" : 1,
9fda36b0
DM
16420 "description" : "Set time zone.",
16421 "method" : "PUT",
16422 "name" : "set_timezone",
16423 "parameters" : {
16424 "additionalProperties" : 0,
16425 "properties" : {
16426 "node" : {
16427 "description" : "The cluster node name.",
16428 "format" : "pve-node",
16429 "type" : "string",
16430 "typetext" : "<string>"
16431 },
16432 "timezone" : {
16433 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
16434 "type" : "string",
16435 "typetext" : "<string>"
16436 }
16437 }
16438 },
16439 "protected" : 1,
16440 "proxyto" : "node",
16441 "returns" : {
16442 "type" : "null"
16443 }
16444 }
16445 },
16446 "leaf" : 1,
16447 "path" : "/nodes/{node}/time",
16448 "text" : "time"
16449 },
16450 {
16451 "info" : {
16452 "GET" : {
6bd70b95 16453 "allowtoken" : 1,
9fda36b0
DM
16454 "description" : "Read server status. This is used by the cluster manager to test the node health.",
16455 "method" : "GET",
16456 "name" : "status",
16457 "parameters" : {
16458 "additionalProperties" : 0,
16459 "properties" : {
16460 "node" : {
16461 "description" : "The cluster node name.",
16462 "format" : "pve-node",
16463 "type" : "string",
16464 "typetext" : "<string>"
16465 }
16466 }
16467 },
241ac83c
TL
16468 "permissions" : {
16469 "check" : [
16470 "admin",
16471 "qmanager",
16472 "audit"
16473 ]
16474 },
9fda36b0
DM
16475 "protected" : 1,
16476 "proxyto" : "node",
16477 "returns" : {
16478 "additionalProperties" : 1,
16479 "properties" : {
16480 "insync" : {
16481 "description" : "Database is synced with other nodes.",
16482 "type" : "boolean"
16483 },
16484 "time" : {
16485 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16486 "minimum" : 1297163644,
16487 "type" : "integer"
16488 },
16489 "uptime" : {
16490 "description" : "The uptime of the system in seconds.",
16491 "minimum" : 0,
16492 "type" : "integer"
16493 }
16494 },
16495 "type" : "object"
16496 }
274b47fc
DM
16497 },
16498 "POST" : {
6bd70b95 16499 "allowtoken" : 1,
274b47fc
DM
16500 "description" : "Reboot or shutdown a node.",
16501 "method" : "POST",
16502 "name" : "node_cmd",
16503 "parameters" : {
16504 "additionalProperties" : 0,
16505 "properties" : {
16506 "command" : {
16507 "description" : "Specify the command.",
16508 "enum" : [
16509 "reboot",
16510 "shutdown"
16511 ],
16512 "type" : "string"
16513 },
16514 "node" : {
16515 "description" : "The cluster node name.",
16516 "format" : "pve-node",
16517 "type" : "string",
16518 "typetext" : "<string>"
16519 }
16520 }
16521 },
16522 "permissions" : {
16523 "check" : [
16524 "admin"
16525 ]
16526 },
16527 "protected" : 1,
16528 "proxyto" : "node",
16529 "returns" : {
16530 "type" : "null"
16531 }
9fda36b0
DM
16532 }
16533 },
16534 "leaf" : 1,
16535 "path" : "/nodes/{node}/status",
16536 "text" : "status"
16537 }
16538 ],
16539 "info" : {
16540 "GET" : {
6bd70b95 16541 "allowtoken" : 1,
9fda36b0
DM
16542 "description" : "Node index.",
16543 "method" : "GET",
16544 "name" : "index",
16545 "parameters" : {
16546 "additionalProperties" : 0,
16547 "properties" : {
16548 "node" : {
16549 "description" : "The cluster node name.",
16550 "format" : "pve-node",
16551 "type" : "string",
16552 "typetext" : "<string>"
16553 }
16554 }
16555 },
16556 "permissions" : {
16557 "user" : "all"
16558 },
16559 "returns" : {
16560 "items" : {
16561 "properties" : {},
16562 "type" : "object"
16563 },
16564 "links" : [
16565 {
16566 "href" : "{name}",
16567 "rel" : "child"
16568 }
16569 ],
16570 "type" : "array"
16571 }
16572 }
16573 },
16574 "leaf" : 0,
16575 "path" : "/nodes/{node}",
16576 "text" : "{node}"
16577 }
16578 ],
16579 "info" : {
16580 "GET" : {
6bd70b95 16581 "allowtoken" : 1,
9fda36b0
DM
16582 "description" : "Cluster node index.",
16583 "method" : "GET",
16584 "name" : "index",
16585 "parameters" : {
16586 "additionalProperties" : 0
16587 },
16588 "permissions" : {
16589 "user" : "all"
16590 },
16591 "returns" : {
16592 "items" : {
16593 "properties" : {},
16594 "type" : "object"
16595 },
16596 "links" : [
16597 {
16598 "href" : "{node}",
16599 "rel" : "child"
16600 }
16601 ],
16602 "type" : "array"
16603 }
16604 }
16605 },
16606 "leaf" : 0,
16607 "path" : "/nodes",
16608 "text" : "nodes"
16609 },
16610 {
16611 "children" : [
16612 {
16613 "children" : [
16614 {
16615 "info" : {
16616 "DELETE" : {
6bd70b95 16617 "allowtoken" : 1,
9fda36b0
DM
16618 "description" : "Delete a user.",
16619 "method" : "DELETE",
16620 "name" : "delete",
16621 "parameters" : {
16622 "additionalProperties" : 0,
16623 "properties" : {
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 "GET" : {
6bd70b95 16641 "allowtoken" : 1,
9fda36b0
DM
16642 "description" : "Read User data.",
16643 "method" : "GET",
16644 "name" : "read",
16645 "parameters" : {
16646 "additionalProperties" : 0,
16647 "properties" : {
16648 "userid" : {
16649 "description" : "User ID",
16650 "format" : "pmg-userid",
16651 "maxLength" : 64,
16652 "minLength" : 4,
16653 "type" : "string",
16654 "typetext" : "<string>"
16655 }
16656 }
16657 },
4a46ced6
DM
16658 "permissions" : {
16659 "check" : [
16660 "admin",
16661 "qmanager",
16662 "audit"
16663 ]
16664 },
9fda36b0
DM
16665 "protected" : 1,
16666 "proxyto" : "master",
16667 "returns" : {
9fda36b0
DM
16668 "type" : "object"
16669 }
16670 },
e0e71e6a
TL
16671 "PUT" : {
16672 "allowtoken" : 1,
16673 "description" : "Update user data.",
16674 "method" : "PUT",
16675 "name" : "write",
16676 "parameters" : {
16677 "additionalProperties" : 0,
16678 "properties" : {
16679 "comment" : {
16680 "description" : "Comment.",
16681 "optional" : 1,
16682 "type" : "string",
16683 "typetext" : "<string>"
16684 },
16685 "crypt_pass" : {
16686 "description" : "Encrypted password (see `man crypt`)",
16687 "optional" : 1,
16688 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
16689 "type" : "string"
16690 },
16691 "delete" : {
16692 "description" : "A list of settings you want to delete.",
16693 "format" : "pve-configid-list",
16694 "maxLength" : 4096,
16695 "optional" : 1,
16696 "type" : "string",
16697 "typetext" : "<string>"
16698 },
16699 "email" : {
16700 "description" : "Users E-Mail address.",
16701 "format" : "email",
16702 "optional" : 1,
16703 "type" : "string",
16704 "typetext" : "<string>"
16705 },
16706 "enable" : {
16707 "default" : 0,
16708 "description" : "Flag to enable or disable the account.",
16709 "optional" : 1,
16710 "type" : "boolean",
16711 "typetext" : "<boolean>"
16712 },
16713 "expire" : {
16714 "default" : 0,
16715 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
16716 "minimum" : 0,
16717 "optional" : 1,
16718 "type" : "integer",
16719 "typetext" : "<integer> (0 - N)"
16720 },
16721 "firstname" : {
16722 "description" : "First name.",
16723 "maxLength" : 64,
16724 "optional" : 1,
16725 "type" : "string",
16726 "typetext" : "<string>"
16727 },
16728 "keys" : {
16729 "description" : "Keys for two factor auth (yubico).",
16730 "maxLength" : 128,
16731 "optional" : 1,
16732 "type" : "string",
16733 "typetext" : "<string>"
16734 },
16735 "lastname" : {
16736 "description" : "Last name.",
16737 "maxLength" : 64,
16738 "optional" : 1,
16739 "type" : "string",
16740 "typetext" : "<string>"
16741 },
16742 "password" : {
16743 "description" : "Password",
16744 "maxLength" : 32,
16745 "minLength" : 5,
16746 "optional" : 1,
16747 "type" : "string",
16748 "typetext" : "<string>"
16749 },
16750 "role" : {
16751 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
16752 "enum" : [
16753 "root",
16754 "admin",
16755 "helpdesk",
16756 "qmanager",
16757 "audit"
16758 ],
16759 "optional" : 1,
16760 "type" : "string"
16761 },
16762 "userid" : {
16763 "description" : "User ID",
16764 "format" : "pmg-userid",
16765 "maxLength" : 64,
16766 "minLength" : 4,
16767 "type" : "string",
16768 "typetext" : "<string>"
16769 }
16770 }
16771 },
16772 "protected" : 1,
16773 "proxyto" : "master",
16774 "returns" : {
16775 "type" : "null"
16776 }
16777 }
16778 },
16779 "leaf" : 1,
16780 "path" : "/access/users/{userid}",
16781 "text" : "{userid}"
16782 }
16783 ],
16784 "info" : {
16785 "GET" : {
16786 "allowtoken" : 1,
16787 "description" : "List users.",
16788 "method" : "GET",
16789 "name" : "index",
16790 "parameters" : {
16791 "additionalProperties" : 0
16792 },
16793 "permissions" : {
16794 "check" : [
16795 "admin",
16796 "qmanager",
16797 "audit"
16798 ]
16799 },
16800 "protected" : 1,
16801 "proxyto" : "master",
16802 "returns" : {
16803 "items" : {
16804 "properties" : {
16805 "comment" : {
16806 "optional" : 1,
16807 "type" : "string"
16808 },
16809 "enable" : {
16810 "type" : "boolean"
16811 },
16812 "role" : {
16813 "type" : "string"
16814 },
16815 "userid" : {
16816 "type" : "string"
16817 }
16818 },
16819 "type" : "object"
16820 },
16821 "links" : [
16822 {
16823 "href" : "{userid}",
16824 "rel" : "child"
16825 }
16826 ],
16827 "type" : "array"
16828 }
16829 },
16830 "POST" : {
16831 "allowtoken" : 1,
16832 "description" : "Create new user",
16833 "method" : "POST",
16834 "name" : "create",
16835 "parameters" : {
16836 "additionalProperties" : 0,
16837 "properties" : {
16838 "comment" : {
16839 "description" : "Comment.",
16840 "optional" : 1,
16841 "type" : "string",
16842 "typetext" : "<string>"
16843 },
16844 "crypt_pass" : {
16845 "description" : "Encrypted password (see `man crypt`)",
16846 "optional" : 1,
16847 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
16848 "type" : "string"
16849 },
16850 "email" : {
16851 "description" : "Users E-Mail address.",
16852 "format" : "email",
16853 "optional" : 1,
16854 "type" : "string",
16855 "typetext" : "<string>"
16856 },
16857 "enable" : {
16858 "default" : 0,
16859 "description" : "Flag to enable or disable the account.",
16860 "optional" : 1,
16861 "type" : "boolean",
16862 "typetext" : "<boolean>"
16863 },
16864 "expire" : {
16865 "default" : 0,
16866 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
16867 "minimum" : 0,
16868 "optional" : 1,
16869 "type" : "integer",
16870 "typetext" : "<integer> (0 - N)"
16871 },
16872 "firstname" : {
16873 "description" : "First name.",
16874 "maxLength" : 64,
16875 "optional" : 1,
16876 "type" : "string",
16877 "typetext" : "<string>"
16878 },
16879 "keys" : {
16880 "description" : "Keys for two factor auth (yubico).",
16881 "maxLength" : 128,
16882 "optional" : 1,
16883 "type" : "string",
16884 "typetext" : "<string>"
16885 },
16886 "lastname" : {
16887 "description" : "Last name.",
16888 "maxLength" : 64,
16889 "optional" : 1,
16890 "type" : "string",
16891 "typetext" : "<string>"
16892 },
16893 "password" : {
16894 "description" : "Password",
16895 "maxLength" : 32,
16896 "minLength" : 5,
16897 "optional" : 1,
16898 "type" : "string",
16899 "typetext" : "<string>"
16900 },
16901 "role" : {
16902 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
16903 "enum" : [
16904 "root",
16905 "admin",
16906 "helpdesk",
16907 "qmanager",
16908 "audit"
16909 ],
16910 "type" : "string"
16911 },
16912 "userid" : {
16913 "description" : "User ID",
16914 "format" : "pmg-userid",
16915 "maxLength" : 64,
16916 "minLength" : 4,
16917 "type" : "string",
16918 "typetext" : "<string>"
16919 }
16920 }
16921 },
16922 "protected" : 1,
16923 "proxyto" : "master",
16924 "returns" : {
16925 "type" : "null"
16926 }
16927 }
16928 },
16929 "leaf" : 0,
16930 "path" : "/access/users",
16931 "text" : "users"
16932 },
16933 {
16934 "children" : [
16935 {
16936 "children" : [
16937 {
16938 "info" : {
16939 "DELETE" : {
16940 "allowtoken" : 0,
16941 "description" : "Delete a TFA entry by ID.",
16942 "method" : "DELETE",
16943 "name" : "delete_tfa",
16944 "parameters" : {
16945 "additionalProperties" : 0,
16946 "properties" : {
16947 "id" : {
16948 "description" : "A TFA entry id.",
16949 "type" : "string",
16950 "typetext" : "<string>"
16951 },
16952 "password" : {
16953 "description" : "The current password.",
16954 "maxLength" : 64,
16955 "minLength" : 5,
16956 "optional" : 1,
16957 "type" : "string",
16958 "typetext" : "<string>"
16959 },
16960 "userid" : {
16961 "description" : "User ID",
16962 "format" : "pmg-userid",
16963 "maxLength" : 64,
16964 "minLength" : 4,
16965 "type" : "string",
16966 "typetext" : "<string>"
16967 }
16968 }
16969 },
16970 "permissions" : {
16971 "check" : [
16972 "admin",
16973 "qmanager",
16974 "audit"
16975 ],
16976 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
16977 },
16978 "protected" : 1,
16979 "proxyto" : "master",
16980 "returns" : {
16981 "type" : "null"
16982 }
16983 },
16984 "GET" : {
16985 "allowtoken" : 0,
16986 "description" : "Fetch a requested TFA entry if present.",
16987 "method" : "GET",
16988 "name" : "get_tfa_entry",
16989 "parameters" : {
16990 "additionalProperties" : 0,
16991 "properties" : {
16992 "id" : {
16993 "description" : "A TFA entry id.",
16994 "type" : "string",
16995 "typetext" : "<string>"
16996 },
16997 "userid" : {
16998 "description" : "User ID",
16999 "format" : "pmg-userid",
17000 "maxLength" : 64,
17001 "minLength" : 4,
17002 "type" : "string",
17003 "typetext" : "<string>"
17004 }
17005 }
17006 },
17007 "permissions" : {
17008 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
17009 "user" : "all"
17010 },
17011 "protected" : 1,
17012 "proxyto" : "master",
17013 "returns" : {
17014 "description" : "TFA Entry.",
17015 "properties" : {
17016 "created" : {
17017 "description" : "Creation time of this entry as unix epoch.",
17018 "type" : "integer"
17019 },
17020 "description" : {
17021 "description" : "User chosen description for this entry.",
17022 "type" : "string"
17023 },
17024 "enable" : {
17025 "default" : 1,
17026 "description" : "Whether this TFA entry is currently enabled.",
17027 "optional" : 1,
17028 "type" : "boolean"
17029 },
17030 "id" : {
17031 "description" : "The id used to reference this entry.",
17032 "type" : "string"
17033 },
17034 "type" : {
17035 "description" : "TFA Entry Type.",
17036 "enum" : [
17037 "totp",
17038 "u2f",
17039 "webauthn",
17040 "recovery"
17041 ],
17042 "type" : "string"
17043 }
17044 },
17045 "type" : "object"
17046 }
17047 },
17048 "PUT" : {
17049 "allowtoken" : 0,
17050 "description" : "Add a TFA entry for a user.",
17051 "method" : "PUT",
17052 "name" : "update_tfa_entry",
17053 "parameters" : {
17054 "additionalProperties" : 0,
17055 "properties" : {
17056 "description" : {
17057 "description" : "A description to distinguish multiple entries from one another",
17058 "maxLength" : 255,
17059 "optional" : 1,
17060 "type" : "string",
17061 "typetext" : "<string>"
17062 },
17063 "enable" : {
17064 "description" : "Whether the entry should be enabled for login.",
17065 "optional" : 1,
17066 "type" : "boolean",
17067 "typetext" : "<boolean>"
17068 },
17069 "id" : {
17070 "description" : "A TFA entry id.",
17071 "type" : "string",
17072 "typetext" : "<string>"
17073 },
17074 "password" : {
17075 "description" : "The current password.",
17076 "maxLength" : 64,
17077 "minLength" : 5,
17078 "optional" : 1,
17079 "type" : "string",
17080 "typetext" : "<string>"
17081 },
17082 "userid" : {
17083 "description" : "User ID",
17084 "format" : "pmg-userid",
17085 "maxLength" : 64,
17086 "minLength" : 4,
17087 "type" : "string",
17088 "typetext" : "<string>"
17089 }
17090 }
17091 },
17092 "permissions" : {
17093 "check" : [
17094 "admin",
17095 "qmanager",
17096 "audit"
17097 ],
17098 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17099 },
17100 "protected" : 1,
17101 "proxyto" : "master",
17102 "returns" : {
17103 "type" : "null"
17104 }
17105 }
17106 },
17107 "leaf" : 1,
17108 "path" : "/access/tfa/{userid}/{id}",
17109 "text" : "{id}"
17110 }
17111 ],
17112 "info" : {
17113 "GET" : {
17114 "allowtoken" : 0,
17115 "description" : "List TFA configurations of users.",
17116 "method" : "GET",
17117 "name" : "list_user_tfa",
17118 "parameters" : {
17119 "additionalProperties" : 0,
17120 "properties" : {
17121 "userid" : {
17122 "description" : "User ID",
17123 "format" : "pmg-userid",
17124 "maxLength" : 64,
17125 "minLength" : 4,
17126 "type" : "string",
17127 "typetext" : "<string>"
17128 }
17129 }
17130 },
17131 "permissions" : {
17132 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
17133 "user" : "all"
17134 },
17135 "protected" : 1,
17136 "proxyto" : "master",
17137 "returns" : {
17138 "description" : "A list of the user's TFA entries.",
17139 "items" : {
17140 "description" : "TFA Entry.",
17141 "properties" : {
17142 "created" : {
17143 "description" : "Creation time of this entry as unix epoch.",
17144 "type" : "integer"
17145 },
17146 "description" : {
17147 "description" : "User chosen description for this entry.",
17148 "type" : "string"
17149 },
17150 "enable" : {
17151 "default" : 1,
17152 "description" : "Whether this TFA entry is currently enabled.",
17153 "optional" : 1,
17154 "type" : "boolean"
17155 },
17156 "id" : {
17157 "description" : "The id used to reference this entry.",
17158 "type" : "string"
17159 },
17160 "type" : {
17161 "description" : "TFA Entry Type.",
17162 "enum" : [
17163 "totp",
17164 "u2f",
17165 "webauthn",
17166 "recovery"
17167 ],
17168 "type" : "string"
17169 }
17170 },
17171 "type" : "object"
17172 },
17173 "type" : "array"
17174 }
17175 },
17176 "POST" : {
17177 "allowtoken" : 0,
17178 "description" : "Add a TFA entry for a user.",
17179 "method" : "POST",
17180 "name" : "add_tfa_entry",
9fda36b0
DM
17181 "parameters" : {
17182 "additionalProperties" : 0,
17183 "properties" : {
e0e71e6a
TL
17184 "challenge" : {
17185 "description" : "When responding to a u2f challenge: the original challenge string",
9fda36b0
DM
17186 "optional" : 1,
17187 "type" : "string",
17188 "typetext" : "<string>"
17189 },
e0e71e6a
TL
17190 "description" : {
17191 "description" : "A description to distinguish multiple entries from one another",
17192 "maxLength" : 255,
9fda36b0
DM
17193 "optional" : 1,
17194 "type" : "string",
17195 "typetext" : "<string>"
17196 },
e0e71e6a
TL
17197 "password" : {
17198 "description" : "The current password.",
9fda36b0 17199 "maxLength" : 64,
e0e71e6a 17200 "minLength" : 5,
9fda36b0
DM
17201 "optional" : 1,
17202 "type" : "string",
17203 "typetext" : "<string>"
17204 },
e0e71e6a
TL
17205 "totp" : {
17206 "description" : "A totp URI.",
9fda36b0
DM
17207 "optional" : 1,
17208 "type" : "string",
17209 "typetext" : "<string>"
17210 },
e0e71e6a
TL
17211 "type" : {
17212 "description" : "TFA Entry Type.",
9fda36b0 17213 "enum" : [
e0e71e6a
TL
17214 "totp",
17215 "u2f",
17216 "webauthn",
17217 "recovery"
9fda36b0 17218 ],
9fda36b0
DM
17219 "type" : "string"
17220 },
17221 "userid" : {
17222 "description" : "User ID",
17223 "format" : "pmg-userid",
17224 "maxLength" : 64,
17225 "minLength" : 4,
17226 "type" : "string",
17227 "typetext" : "<string>"
e0e71e6a
TL
17228 },
17229 "value" : {
17230 "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
17231 "optional" : 1,
17232 "type" : "string",
17233 "typetext" : "<string>"
9fda36b0
DM
17234 }
17235 }
17236 },
e0e71e6a
TL
17237 "permissions" : {
17238 "check" : [
17239 "admin",
17240 "qmanager",
17241 "audit"
17242 ],
17243 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17244 },
9fda36b0
DM
17245 "protected" : 1,
17246 "proxyto" : "master",
17247 "returns" : {
e0e71e6a
TL
17248 "properties" : {
17249 "challenge" : {
17250 "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
17251 "optional" : 1,
17252 "type" : "string"
17253 },
17254 "id" : {
17255 "description" : "The id of a newly added TFA entry.",
17256 "type" : "string"
17257 },
17258 "recovery" : {
17259 "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
17260 "items" : {
17261 "description" : "A recovery entry.",
17262 "type" : "string"
17263 },
17264 "optional" : 1,
17265 "type" : "array"
17266 }
17267 },
17268 "type" : "object"
9fda36b0
DM
17269 }
17270 }
17271 },
e0e71e6a
TL
17272 "leaf" : 0,
17273 "path" : "/access/tfa/{userid}",
9fda36b0
DM
17274 "text" : "{userid}"
17275 }
17276 ],
17277 "info" : {
17278 "GET" : {
e0e71e6a
TL
17279 "allowtoken" : 0,
17280 "description" : "List TFA configurations of users.",
9fda36b0 17281 "method" : "GET",
e0e71e6a 17282 "name" : "list_tfa",
9fda36b0
DM
17283 "parameters" : {
17284 "additionalProperties" : 0
17285 },
17286 "permissions" : {
e0e71e6a
TL
17287 "description" : "Returns all or just the logged-in user, depending on privileges.",
17288 "user" : "all"
9fda36b0
DM
17289 },
17290 "protected" : 1,
17291 "proxyto" : "master",
17292 "returns" : {
e0e71e6a 17293 "description" : "The list tuples of user and TFA entries.",
9fda36b0
DM
17294 "items" : {
17295 "properties" : {
e0e71e6a
TL
17296 "entries" : {
17297 "items" : {
17298 "description" : "TFA Entry.",
17299 "properties" : {
17300 "created" : {
17301 "description" : "Creation time of this entry as unix epoch.",
17302 "type" : "integer"
17303 },
17304 "description" : {
17305 "description" : "User chosen description for this entry.",
17306 "type" : "string"
17307 },
17308 "enable" : {
17309 "default" : 1,
17310 "description" : "Whether this TFA entry is currently enabled.",
17311 "optional" : 1,
17312 "type" : "boolean"
17313 },
17314 "id" : {
17315 "description" : "The id used to reference this entry.",
17316 "type" : "string"
17317 },
17318 "type" : {
17319 "description" : "TFA Entry Type.",
17320 "enum" : [
17321 "totp",
17322 "u2f",
17323 "webauthn",
17324 "recovery"
17325 ],
17326 "type" : "string"
17327 }
17328 },
17329 "type" : "object"
17330 },
17331 "type" : "array"
9fda36b0
DM
17332 },
17333 "userid" : {
e0e71e6a 17334 "description" : "User this entry belongs to.",
9fda36b0
DM
17335 "type" : "string"
17336 }
17337 },
17338 "type" : "object"
17339 },
9fda36b0
DM
17340 "type" : "array"
17341 }
9fda36b0
DM
17342 }
17343 },
17344 "leaf" : 0,
e0e71e6a
TL
17345 "path" : "/access/tfa",
17346 "text" : "tfa"
9fda36b0
DM
17347 },
17348 {
17349 "info" : {
17350 "GET" : {
6bd70b95 17351 "allowtoken" : 1,
9fda36b0
DM
17352 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
17353 "method" : "GET",
17354 "name" : "get_ticket",
17355 "parameters" : {
17356 "additionalProperties" : 0
17357 },
17358 "permissions" : {
17359 "user" : "world"
17360 },
17361 "returns" : {
17362 "type" : "null"
17363 }
a55e94a6 17364 },
9fda36b0 17365 "POST" : {
6bd70b95 17366 "allowtoken" : 1,
9fda36b0
DM
17367 "description" : "Create or verify authentication ticket.",
17368 "method" : "POST",
17369 "name" : "create_ticket",
17370 "parameters" : {
17371 "additionalProperties" : 0,
17372 "properties" : {
17373 "otp" : {
17374 "description" : "One-time password for Two-factor authentication.",
17375 "optional" : 1,
17376 "type" : "string",
17377 "typetext" : "<string>"
410dc2c9 17378 },
9fda36b0
DM
17379 "password" : {
17380 "description" : "The secret password. This can also be a valid ticket.",
17381 "type" : "string",
17382 "typetext" : "<string>"
17383 },
274b47fc
DM
17384 "path" : {
17385 "description" : "Verify ticket, and check if user have access on 'path'",
17386 "maxLength" : 64,
17387 "optional" : 1,
17388 "type" : "string",
17389 "typetext" : "<string>"
17390 },
9fda36b0
DM
17391 "realm" : {
17392 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
732d76e1
DM
17393 "enum" : [
17394 "pam",
17395 "pmg",
17396 "quarantine"
17397 ],
9fda36b0
DM
17398 "maxLength" : 32,
17399 "optional" : 1,
732d76e1 17400 "type" : "string"
9fda36b0 17401 },
e0e71e6a
TL
17402 "tfa-challenge" : {
17403 "description" : "The signed TFA challenge string the user wants to respond to.",
17404 "optional" : 1,
17405 "type" : "string",
17406 "typetext" : "<string>"
17407 },
9fda36b0
DM
17408 "username" : {
17409 "description" : "User name",
17410 "maxLength" : 64,
17411 "type" : "string",
17412 "typetext" : "<string>"
17413 }
17414 }
17415 },
17416 "permissions" : {
17417 "description" : "You need to pass valid credientials.",
17418 "user" : "world"
17419 },
17420 "protected" : 1,
17421 "returns" : {
17422 "properties" : {
17423 "CSRFPreventionToken" : {
17424 "optional" : 1,
17425 "type" : "string"
17426 },
17427 "role" : {
17428 "optional" : 1,
17429 "type" : "string"
17430 },
17431 "ticket" : {
17432 "optional" : 1,
17433 "type" : "string"
17434 },
17435 "username" : {
17436 "type" : "string"
17437 }
17438 },
17439 "type" : "object"
17440 }
17441 }
17442 },
17443 "leaf" : 1,
17444 "path" : "/access/ticket",
17445 "text" : "ticket"
17446 },
17447 {
17448 "info" : {
17449 "PUT" : {
6bd70b95 17450 "allowtoken" : 1,
9fda36b0
DM
17451 "description" : "Change user password.",
17452 "method" : "PUT",
17453 "name" : "change_passsword",
17454 "parameters" : {
17455 "additionalProperties" : 0,
17456 "properties" : {
17457 "password" : {
17458 "description" : "The new password.",
17459 "maxLength" : 64,
17460 "minLength" : 5,
17461 "type" : "string",
17462 "typetext" : "<string>"
17463 },
17464 "userid" : {
17465 "description" : "User ID",
17466 "format" : "pmg-userid",
17467 "maxLength" : 64,
17468 "minLength" : 4,
17469 "type" : "string",
17470 "typetext" : "<string>"
410dc2c9
DM
17471 }
17472 }
17473 },
9fda36b0
DM
17474 "permissions" : {
17475 "description" : "Each user is allowed to change his own password. Only root can change the password of another user.",
17476 "user" : "all"
17477 },
17478 "protected" : 1,
17479 "returns" : {
17480 "type" : "null"
17481 }
17482 }
17483 },
17484 "leaf" : 1,
17485 "path" : "/access/password",
17486 "text" : "password"
17487 }
17488 ],
17489 "info" : {
17490 "GET" : {
6bd70b95 17491 "allowtoken" : 1,
9fda36b0
DM
17492 "description" : "Directory index.",
17493 "method" : "GET",
17494 "name" : "index",
17495 "parameters" : {
17496 "additionalProperties" : 0
17497 },
17498 "permissions" : {
17499 "user" : "all"
17500 },
17501 "returns" : {
17502 "items" : {
17503 "properties" : {
17504 "subdir" : {
17505 "type" : "string"
17506 }
17507 },
17508 "type" : "object"
410dc2c9 17509 },
9fda36b0
DM
17510 "links" : [
17511 {
17512 "href" : "{subdir}",
17513 "rel" : "child"
17514 }
17515 ],
17516 "type" : "array"
17517 }
17518 }
17519 },
17520 "leaf" : 0,
17521 "path" : "/access",
17522 "text" : "access"
17523 },
17524 {
17525 "children" : [
17526 {
9fda36b0 17527 "info" : {
549cfb68
TL
17528 "DELETE" : {
17529 "allowtoken" : 1,
17530 "description" : "Delete user whitelist entries.",
17531 "method" : "DELETE",
17532 "name" : "whitelist_delete_base",
17533 "parameters" : {
17534 "additionalProperties" : 0,
17535 "properties" : {
17536 "address" : {
17537 "description" : "The address, or comma-separated list of addresses, you want to remove.",
17538 "minLength" : 3,
17539 "pattern" : "",
17540 "type" : "string"
17541 },
17542 "pmail" : {
d8212759 17543 "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
17544 "maxLength" : 512,
17545 "minLength" : 3,
17546 "optional" : 1,
c5ccf1ab 17547 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
17548 "type" : "string"
17549 }
17550 }
17551 },
17552 "permissions" : {
17553 "check" : [
17554 "admin",
17555 "qmanager",
17556 "audit",
17557 "quser"
17558 ]
17559 },
17560 "protected" : 1,
17561 "returns" : {
17562 "type" : "null"
17563 }
17564 },
9fda36b0 17565 "GET" : {
6bd70b95 17566 "allowtoken" : 1,
9fda36b0
DM
17567 "description" : "Show user whitelist.",
17568 "method" : "GET",
17569 "name" : "whitelist",
17570 "parameters" : {
17571 "additionalProperties" : 0,
17572 "properties" : {
17573 "pmail" : {
d8212759 17574 "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
17575 "maxLength" : 512,
17576 "minLength" : 3,
9fda36b0 17577 "optional" : 1,
c5ccf1ab 17578 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17579 "type" : "string"
9fda36b0
DM
17580 }
17581 }
17582 },
17583 "permissions" : {
17584 "check" : [
17585 "admin",
17586 "qmanager",
17587 "audit",
17588 "quser"
17589 ]
17590 },
17591 "returns" : {
17592 "items" : {
17593 "properties" : {
17594 "address" : {
17595 "type" : "string"
410dc2c9
DM
17596 }
17597 },
9fda36b0
DM
17598 "type" : "object"
17599 },
17600 "type" : "array"
17601 }
17602 },
17603 "POST" : {
6bd70b95 17604 "allowtoken" : 1,
9fda36b0
DM
17605 "description" : "Add user whitelist entries.",
17606 "method" : "POST",
17607 "name" : "whitelist_add",
17608 "parameters" : {
17609 "additionalProperties" : 0,
17610 "properties" : {
17611 "address" : {
17612 "description" : "The address you want to add.",
9fda36b0 17613 "minLength" : 3,
241ac83c 17614 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
17615 "type" : "string"
17616 },
17617 "pmail" : {
d8212759 17618 "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
17619 "maxLength" : 512,
17620 "minLength" : 3,
9fda36b0 17621 "optional" : 1,
c5ccf1ab 17622 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17623 "type" : "string"
410dc2c9
DM
17624 }
17625 }
17626 },
9fda36b0
DM
17627 "permissions" : {
17628 "check" : [
17629 "admin",
17630 "qmanager",
17631 "audit",
17632 "quser"
17633 ]
17634 },
17635 "protected" : 1,
17636 "returns" : {
17637 "type" : "null"
17638 }
17639 }
17640 },
14ffe66b 17641 "leaf" : 1,
9fda36b0
DM
17642 "path" : "/quarantine/whitelist",
17643 "text" : "whitelist"
17644 },
17645 {
9fda36b0 17646 "info" : {
549cfb68
TL
17647 "DELETE" : {
17648 "allowtoken" : 1,
17649 "description" : "Delete user blacklist entries.",
17650 "method" : "DELETE",
17651 "name" : "blacklist_delete_base",
17652 "parameters" : {
17653 "additionalProperties" : 0,
17654 "properties" : {
17655 "address" : {
17656 "description" : "The address, or comma-separated list of addresses, you want to remove.",
17657 "minLength" : 3,
17658 "pattern" : "",
17659 "type" : "string"
17660 },
17661 "pmail" : {
d8212759 17662 "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
17663 "maxLength" : 512,
17664 "minLength" : 3,
17665 "optional" : 1,
c5ccf1ab 17666 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
17667 "type" : "string"
17668 }
17669 }
17670 },
17671 "permissions" : {
17672 "check" : [
17673 "admin",
17674 "qmanager",
17675 "audit",
17676 "quser"
17677 ]
17678 },
17679 "protected" : 1,
17680 "returns" : {
17681 "type" : "null"
17682 }
17683 },
9fda36b0 17684 "GET" : {
6bd70b95 17685 "allowtoken" : 1,
9fda36b0
DM
17686 "description" : "Show user blacklist.",
17687 "method" : "GET",
17688 "name" : "blacklist",
17689 "parameters" : {
17690 "additionalProperties" : 0,
17691 "properties" : {
17692 "pmail" : {
d8212759 17693 "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
17694 "maxLength" : 512,
17695 "minLength" : 3,
9fda36b0 17696 "optional" : 1,
c5ccf1ab 17697 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17698 "type" : "string"
9fda36b0
DM
17699 }
17700 }
17701 },
17702 "permissions" : {
17703 "check" : [
17704 "admin",
17705 "qmanager",
17706 "audit",
17707 "quser"
17708 ]
17709 },
17710 "returns" : {
17711 "items" : {
17712 "properties" : {
17713 "address" : {
17714 "type" : "string"
410dc2c9
DM
17715 }
17716 },
9fda36b0
DM
17717 "type" : "object"
17718 },
17719 "type" : "array"
17720 }
17721 },
17722 "POST" : {
6bd70b95 17723 "allowtoken" : 1,
9fda36b0
DM
17724 "description" : "Add user blacklist entries.",
17725 "method" : "POST",
17726 "name" : "blacklist_add",
17727 "parameters" : {
17728 "additionalProperties" : 0,
17729 "properties" : {
17730 "address" : {
17731 "description" : "The address you want to add.",
9fda36b0 17732 "minLength" : 3,
241ac83c 17733 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
17734 "type" : "string"
17735 },
17736 "pmail" : {
d8212759 17737 "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
17738 "maxLength" : 512,
17739 "minLength" : 3,
9fda36b0 17740 "optional" : 1,
c5ccf1ab 17741 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17742 "type" : "string"
9fda36b0
DM
17743 }
17744 }
17745 },
17746 "permissions" : {
17747 "check" : [
17748 "admin",
17749 "qmanager",
17750 "audit",
17751 "quser"
17752 ]
17753 },
17754 "protected" : 1,
17755 "returns" : {
17756 "type" : "null"
17757 }
17758 }
17759 },
14ffe66b 17760 "leaf" : 1,
9fda36b0
DM
17761 "path" : "/quarantine/blacklist",
17762 "text" : "blacklist"
17763 },
17764 {
17765 "info" : {
17766 "GET" : {
6bd70b95 17767 "allowtoken" : 1,
9fda36b0
DM
17768 "description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).",
17769 "method" : "GET",
17770 "name" : "spamusers",
17771 "parameters" : {
17772 "additionalProperties" : 0,
17773 "properties" : {
17774 "endtime" : {
17775 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17776 "minimum" : 1,
17777 "optional" : 1,
17778 "type" : "integer",
17779 "typetext" : "<integer> (1 - N)"
17780 },
f4831d94
TL
17781 "quarantine-type" : {
17782 "default" : "spam",
17783 "description" : "Query this type of quarantine for users.",
17784 "enum" : [
f4831d94 17785 "virus",
8c308065
TL
17786 "spam",
17787 "attachment"
f4831d94
TL
17788 ],
17789 "optional" : 1,
17790 "type" : "string"
17791 },
9fda36b0
DM
17792 "starttime" : {
17793 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17794 "minimum" : 0,
17795 "optional" : 1,
17796 "type" : "integer",
17797 "typetext" : "<integer> (0 - N)"
410dc2c9 17798 }
9fda36b0
DM
17799 }
17800 },
17801 "permissions" : {
17802 "check" : [
17803 "admin",
17804 "qmanager",
17805 "audit"
17806 ]
17807 },
17808 "returns" : {
17809 "items" : {
17810 "properties" : {
17811 "mail" : {
17812 "description" : "the receiving email",
17813 "type" : "string"
17814 }
17815 },
17816 "type" : "object"
410dc2c9 17817 },
9fda36b0
DM
17818 "type" : "array"
17819 }
17820 }
17821 },
17822 "leaf" : 1,
17823 "path" : "/quarantine/spamusers",
17824 "text" : "spamusers"
17825 },
17826 {
17827 "info" : {
17828 "GET" : {
6bd70b95 17829 "allowtoken" : 1,
9fda36b0
DM
17830 "description" : "Get Spam Quarantine Status",
17831 "method" : "GET",
17832 "name" : "spamstatus",
17833 "parameters" : {
17834 "additionalProperties" : 0
17835 },
17836 "permissions" : {
17837 "check" : [
17838 "admin",
17839 "qmanager",
17840 "audit"
17841 ]
17842 },
17843 "returns" : {
17844 "properties" : {
17845 "avgbytes" : {
17846 "description" : "Average size of stored mails in bytes.",
17847 "type" : "number"
17848 },
17849 "avgspam" : {
17850 "description" : "Average spam level.",
17851 "type" : "number"
17852 },
17853 "count" : {
17854 "description" : "Number of stored mails.",
17855 "type" : "integer"
17856 },
17857 "mbytes" : {
17858 "description" : "Estimated disk space usage in MByte.",
17859 "type" : "number"
17860 }
17861 },
17862 "type" : "object"
17863 }
17864 }
17865 },
17866 "leaf" : 1,
17867 "path" : "/quarantine/spamstatus",
17868 "text" : "spamstatus"
17869 },
17870 {
17871 "info" : {
17872 "GET" : {
6bd70b95 17873 "allowtoken" : 1,
d8212759 17874 "description" : "Get a list of users with whitelist/blacklist settings.",
9fda36b0
DM
17875 "method" : "GET",
17876 "name" : "quarusers",
17877 "parameters" : {
241ac83c
TL
17878 "additionalProperties" : 0,
17879 "properties" : {
17880 "list" : {
17881 "description" : "If set, limits the result to the given list.",
17882 "enum" : [
17883 "BL",
17884 "WL"
17885 ],
17886 "optional" : 1,
17887 "type" : "string"
17888 }
17889 }
9fda36b0
DM
17890 },
17891 "permissions" : {
17892 "check" : [
17893 "admin",
17894 "qmanager",
17895 "audit"
17896 ]
17897 },
17898 "returns" : {
17899 "items" : {
17900 "properties" : {
17901 "mail" : {
17902 "description" : "the receiving email",
17903 "type" : "string"
410dc2c9
DM
17904 }
17905 },
9fda36b0
DM
17906 "type" : "object"
17907 },
17908 "type" : "array"
17909 }
17910 }
17911 },
17912 "leaf" : 1,
17913 "path" : "/quarantine/quarusers",
17914 "text" : "quarusers"
17915 },
17916 {
17917 "info" : {
17918 "GET" : {
6bd70b95 17919 "allowtoken" : 1,
9fda36b0
DM
17920 "description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.",
17921 "method" : "GET",
17922 "name" : "spam",
17923 "parameters" : {
17924 "additionalProperties" : 0,
17925 "properties" : {
17926 "endtime" : {
17927 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17928 "minimum" : 1,
17929 "optional" : 1,
17930 "type" : "integer",
17931 "typetext" : "<integer> (1 - N)"
17932 },
17933 "pmail" : {
d8212759 17934 "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
17935 "maxLength" : 512,
17936 "minLength" : 3,
9fda36b0 17937 "optional" : 1,
c5ccf1ab 17938 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17939 "type" : "string"
9fda36b0
DM
17940 },
17941 "starttime" : {
17942 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17943 "minimum" : 0,
17944 "optional" : 1,
17945 "type" : "integer",
17946 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
17947 }
17948 }
17949 },
9fda36b0
DM
17950 "permissions" : {
17951 "check" : [
17952 "admin",
17953 "qmanager",
17954 "audit",
17955 "quser"
17956 ]
17957 },
17958 "returns" : {
17959 "items" : {
17960 "properties" : {
17961 "bytes" : {
17962 "description" : "Size of raw email.",
17963 "type" : "integer"
17964 },
17965 "envelope_sender" : {
17966 "description" : "SMTP envelope sender.",
17967 "type" : "string"
17968 },
17969 "from" : {
17970 "description" : "Header 'From' field.",
17971 "type" : "string"
17972 },
17973 "id" : {
17974 "description" : "Unique ID",
17975 "type" : "string"
17976 },
17977 "receiver" : {
17978 "description" : "Receiver email address",
17979 "type" : "string"
17980 },
17981 "sender" : {
17982 "description" : "Header 'Sender' field.",
17983 "optional" : 1,
17984 "type" : "string"
17985 },
17986 "spamlevel" : {
17987 "description" : "Spam score.",
17988 "type" : "number"
17989 },
17990 "subject" : {
17991 "description" : "Header 'Subject' field.",
17992 "type" : "string"
17993 },
17994 "time" : {
17995 "description" : "Receive time stamp",
17996 "type" : "integer"
410dc2c9
DM
17997 }
17998 },
9fda36b0 17999 "type" : "object"
410dc2c9 18000 },
9fda36b0
DM
18001 "type" : "array"
18002 }
18003 }
18004 },
18005 "leaf" : 1,
18006 "path" : "/quarantine/spam",
18007 "text" : "spam"
18008 },
18009 {
18010 "info" : {
18011 "GET" : {
6bd70b95 18012 "allowtoken" : 1,
9fda36b0
DM
18013 "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
18014 "method" : "GET",
18015 "name" : "virus",
18016 "parameters" : {
18017 "additionalProperties" : 0,
18018 "properties" : {
18019 "endtime" : {
18020 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18021 "minimum" : 1,
18022 "optional" : 1,
18023 "type" : "integer",
18024 "typetext" : "<integer> (1 - N)"
410dc2c9 18025 },
f4831d94
TL
18026 "pmail" : {
18027 "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.",
18028 "maxLength" : 512,
18029 "minLength" : 3,
18030 "optional" : 1,
18031 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18032 "type" : "string"
18033 },
9fda36b0
DM
18034 "starttime" : {
18035 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18036 "minimum" : 0,
18037 "optional" : 1,
18038 "type" : "integer",
18039 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
18040 }
18041 }
18042 },
9fda36b0
DM
18043 "permissions" : {
18044 "check" : [
18045 "admin",
18046 "qmanager",
18047 "audit"
18048 ]
18049 },
18050 "returns" : {
18051 "items" : {
18052 "properties" : {
18053 "bytes" : {
18054 "description" : "Size of raw email.",
18055 "type" : "integer"
18056 },
18057 "envelope_sender" : {
18058 "description" : "SMTP envelope sender.",
18059 "type" : "string"
18060 },
18061 "from" : {
18062 "description" : "Header 'From' field.",
18063 "type" : "string"
18064 },
18065 "id" : {
18066 "description" : "Unique ID",
18067 "type" : "string"
18068 },
18069 "receiver" : {
18070 "description" : "Receiver email address",
18071 "type" : "string"
18072 },
18073 "sender" : {
18074 "description" : "Header 'Sender' field.",
18075 "optional" : 1,
18076 "type" : "string"
18077 },
18078 "subject" : {
18079 "description" : "Header 'Subject' field.",
18080 "type" : "string"
18081 },
18082 "time" : {
18083 "description" : "Receive time stamp",
18084 "type" : "integer"
18085 },
18086 "virusname" : {
18087 "description" : "Virus name.",
18088 "type" : "string"
d7cd791b
DM
18089 }
18090 },
9fda36b0
DM
18091 "type" : "object"
18092 },
18093 "type" : "array"
18094 }
18095 }
18096 },
18097 "leaf" : 1,
18098 "path" : "/quarantine/virus",
18099 "text" : "virus"
18100 },
d210277a
TL
18101 {
18102 "info" : {
18103 "GET" : {
6bd70b95 18104 "allowtoken" : 1,
d210277a
TL
18105 "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).",
18106 "method" : "GET",
18107 "name" : "attachment",
18108 "parameters" : {
18109 "additionalProperties" : 0,
18110 "properties" : {
18111 "endtime" : {
18112 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18113 "minimum" : 1,
18114 "optional" : 1,
18115 "type" : "integer",
18116 "typetext" : "<integer> (1 - N)"
18117 },
f4831d94
TL
18118 "pmail" : {
18119 "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.",
18120 "maxLength" : 512,
18121 "minLength" : 3,
18122 "optional" : 1,
18123 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18124 "type" : "string"
18125 },
d210277a
TL
18126 "starttime" : {
18127 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18128 "minimum" : 0,
18129 "optional" : 1,
18130 "type" : "integer",
18131 "typetext" : "<integer> (0 - N)"
18132 }
18133 }
18134 },
18135 "permissions" : {
18136 "check" : [
18137 "admin",
18138 "qmanager",
18139 "audit"
18140 ]
18141 },
18142 "returns" : {
18143 "items" : {
18144 "properties" : {
18145 "bytes" : {
18146 "description" : "Size of raw email.",
18147 "type" : "integer"
18148 },
18149 "envelope_sender" : {
18150 "description" : "SMTP envelope sender.",
18151 "type" : "string"
18152 },
18153 "from" : {
18154 "description" : "Header 'From' field.",
18155 "type" : "string"
18156 },
18157 "id" : {
18158 "description" : "Unique ID",
18159 "type" : "string"
18160 },
18161 "receiver" : {
18162 "description" : "Receiver email address",
18163 "type" : "string"
18164 },
18165 "sender" : {
18166 "description" : "Header 'Sender' field.",
18167 "optional" : 1,
18168 "type" : "string"
18169 },
18170 "subject" : {
18171 "description" : "Header 'Subject' field.",
18172 "type" : "string"
18173 },
18174 "time" : {
18175 "description" : "Receive time stamp",
18176 "type" : "integer"
18177 }
18178 },
18179 "type" : "object"
18180 },
18181 "type" : "array"
18182 }
18183 }
18184 },
18185 "leaf" : 1,
18186 "path" : "/quarantine/attachment",
18187 "text" : "attachment"
18188 },
9fda36b0
DM
18189 {
18190 "info" : {
18191 "GET" : {
6bd70b95 18192 "allowtoken" : 1,
9fda36b0
DM
18193 "description" : "Get Virus Quarantine Status",
18194 "method" : "GET",
18195 "name" : "virusstatus",
18196 "parameters" : {
18197 "additionalProperties" : 0
18198 },
18199 "permissions" : {
18200 "check" : [
18201 "admin",
18202 "qmanager",
18203 "audit"
18204 ]
18205 },
18206 "returns" : {
18207 "properties" : {
18208 "avgbytes" : {
18209 "description" : "Average size of stored mails in bytes.",
18210 "type" : "number"
18211 },
18212 "count" : {
18213 "description" : "Number of stored mails.",
18214 "type" : "integer"
18215 },
18216 "mbytes" : {
18217 "description" : "Estimated disk space usage in MByte.",
18218 "type" : "number"
d7cd791b 18219 }
9fda36b0
DM
18220 },
18221 "type" : "object"
18222 }
d7cd791b 18223 }
9fda36b0
DM
18224 },
18225 "leaf" : 1,
18226 "path" : "/quarantine/virusstatus",
18227 "text" : "virusstatus"
18228 },
18229 {
d7cd791b
DM
18230 "info" : {
18231 "GET" : {
6bd70b95 18232 "allowtoken" : 1,
9fda36b0 18233 "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 18234 "method" : "GET",
9fda36b0 18235 "name" : "content",
d7cd791b
DM
18236 "parameters" : {
18237 "additionalProperties" : 0,
18238 "properties" : {
9fda36b0
DM
18239 "id" : {
18240 "description" : "Unique ID",
274b47fc
DM
18241 "maxLength" : 60,
18242 "pattern" : "C\\d+R\\d+T\\d+",
9fda36b0
DM
18243 "type" : "string"
18244 },
18245 "raw" : {
18246 "default" : 0,
241ac83c 18247 "description" : "Display 'raw' eml data. Deactivates size limit.",
9fda36b0
DM
18248 "optional" : 1,
18249 "type" : "boolean",
18250 "typetext" : "<boolean>"
d7cd791b
DM
18251 }
18252 }
18253 },
18254 "permissions" : {
9fda36b0
DM
18255 "check" : [
18256 "admin",
18257 "qmanager",
18258 "audit",
18259 "quser"
18260 ]
d7cd791b
DM
18261 },
18262 "returns" : {
9fda36b0
DM
18263 "properties" : {
18264 "bytes" : {
18265 "description" : "Size of raw email.",
18266 "type" : "integer"
18267 },
18268 "content" : {
18269 "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The 'htmlmail' formatter displays the whole email.",
18270 "type" : "string"
18271 },
18272 "envelope_sender" : {
18273 "description" : "SMTP envelope sender.",
18274 "type" : "string"
18275 },
18276 "from" : {
18277 "description" : "Header 'From' field.",
18278 "type" : "string"
18279 },
18280 "header" : {
18281 "description" : "Raw email header data.",
18282 "type" : "string"
18283 },
18284 "id" : {
18285 "description" : "Unique ID",
18286 "type" : "string"
18287 },
18288 "receiver" : {
18289 "description" : "Receiver email address",
18290 "type" : "string"
18291 },
18292 "sender" : {
18293 "description" : "Header 'Sender' field.",
18294 "optional" : 1,
18295 "type" : "string"
18296 },
18297 "spaminfo" : {
18298 "description" : "Information about matched spam tests (name, score, desc, url).",
18299 "type" : "array"
18300 },
18301 "spamlevel" : {
18302 "description" : "Spam score.",
18303 "type" : "number"
18304 },
18305 "subject" : {
18306 "description" : "Header 'Subject' field.",
18307 "type" : "string"
18308 },
18309 "time" : {
18310 "description" : "Receive time stamp",
18311 "type" : "integer"
18312 }
d7cd791b 18313 },
9fda36b0
DM
18314 "type" : "object"
18315 }
18316 },
18317 "POST" : {
6bd70b95 18318 "allowtoken" : 1,
9fda36b0
DM
18319 "description" : "Execute quarantine actions.",
18320 "method" : "POST",
18321 "name" : "action",
18322 "parameters" : {
18323 "additionalProperties" : 0,
18324 "properties" : {
18325 "action" : {
18326 "description" : "Action - specify what you want to do with the mail.",
18327 "enum" : [
18328 "whitelist",
18329 "blacklist",
18330 "deliver",
18331 "delete"
18332 ],
18333 "type" : "string"
18334 },
18335 "id" : {
d8212759 18336 "description" : "Unique IDs, separate with ;",
445686c9 18337 "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
9fda36b0 18338 "type" : "string"
410dc2c9 18339 }
9fda36b0
DM
18340 }
18341 },
18342 "permissions" : {
18343 "check" : [
18344 "admin",
18345 "qmanager",
18346 "quser"
18347 ]
18348 },
18349 "protected" : 1,
18350 "returns" : {
18351 "type" : "null"
410dc2c9
DM
18352 }
18353 }
18354 },
9fda36b0
DM
18355 "leaf" : 1,
18356 "path" : "/quarantine/content",
18357 "text" : "content"
d210277a
TL
18358 },
18359 {
18360 "info" : {
18361 "GET" : {
6bd70b95 18362 "allowtoken" : 1,
d210277a
TL
18363 "description" : "Get Attachments for E-Mail in Quarantine.",
18364 "method" : "GET",
18365 "name" : "listattachments",
18366 "parameters" : {
18367 "additionalProperties" : 0,
18368 "properties" : {
18369 "id" : {
18370 "description" : "Unique ID",
18371 "maxLength" : 60,
18372 "pattern" : "C\\d+R\\d+T\\d+",
18373 "type" : "string"
18374 }
18375 }
18376 },
18377 "permissions" : {
18378 "check" : [
18379 "admin",
18380 "qmanager",
f4831d94
TL
18381 "audit",
18382 "quser"
d210277a
TL
18383 ]
18384 },
18385 "returns" : {
18386 "items" : {
18387 "properties" : {
18388 "content-type" : {
18389 "description" : "Raw email header data.",
18390 "type" : "string"
18391 },
18392 "id" : {
18393 "description" : "Attachment ID",
18394 "type" : "integer"
18395 },
18396 "name" : {
18397 "description" : "Raw email header data.",
18398 "type" : "string"
18399 },
18400 "size" : {
18401 "description" : "Size of raw attachment in bytes.",
18402 "type" : "integer"
18403 }
18404 },
18405 "type" : "object"
18406 },
18407 "type" : "array"
18408 }
18409 }
18410 },
18411 "leaf" : 1,
18412 "path" : "/quarantine/listattachments",
18413 "text" : "listattachments"
18414 },
18415 {
18416 "info" : {
18417 "GET" : {
6bd70b95 18418 "allowtoken" : 1,
d210277a
TL
18419 "description" : "Download E-Mail or Attachment from Quarantine.",
18420 "download" : 1,
18421 "method" : "GET",
18422 "name" : "download",
18423 "parameters" : {
18424 "additionalProperties" : 0,
18425 "properties" : {
18426 "attachmentid" : {
18427 "description" : "The Attachment ID for the mail.",
18428 "optional" : 1,
18429 "type" : "integer",
18430 "typetext" : "<integer>"
18431 },
18432 "mailid" : {
18433 "description" : "Unique ID",
18434 "maxLength" : 60,
18435 "pattern" : "C\\d+R\\d+T\\d+",
18436 "type" : "string"
18437 }
18438 }
18439 },
18440 "permissions" : {
18441 "check" : [
18442 "admin",
18443 "qmanager",
18444 "audit",
18445 "quser"
18446 ]
18447 },
18448 "returns" : {
18449 "type" : "object"
18450 }
18451 }
18452 },
18453 "leaf" : 1,
18454 "path" : "/quarantine/download",
18455 "text" : "download"
ab2b846b
TL
18456 },
18457 {
18458 "info" : {
18459 "POST" : {
18460 "allowtoken" : 1,
18461 "description" : "Send Quarantine link to given e-mail.",
18462 "method" : "POST",
18463 "name" : "sendlink",
18464 "parameters" : {
18465 "additionalProperties" : 0,
18466 "properties" : {
18467 "mail" : {
18468 "description" : "Email Address (allow most characters).",
18469 "maxLength" : 512,
18470 "minLength" : 3,
c5ccf1ab 18471 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
18472 "type" : "string"
18473 }
18474 }
18475 },
18476 "permissions" : {
18477 "user" : "world"
18478 },
18479 "protected" : 1,
18480 "returns" : {
18481 "type" : "null"
18482 }
18483 }
18484 },
18485 "leaf" : 1,
18486 "path" : "/quarantine/sendlink",
18487 "text" : "sendlink"
410dc2c9
DM
18488 }
18489 ],
18490 "info" : {
18491 "GET" : {
6bd70b95 18492 "allowtoken" : 1,
9fda36b0 18493 "description" : "Directory index.",
410dc2c9
DM
18494 "method" : "GET",
18495 "name" : "index",
18496 "parameters" : {
18497 "additionalProperties" : 0
18498 },
18499 "permissions" : {
18500 "user" : "all"
18501 },
18502 "returns" : {
18503 "items" : {
18504 "properties" : {},
18505 "type" : "object"
18506 },
18507 "links" : [
18508 {
9fda36b0 18509 "href" : "{name}",
410dc2c9
DM
18510 "rel" : "child"
18511 }
18512 ],
18513 "type" : "array"
18514 }
18515 }
18516 },
18517 "leaf" : 0,
9fda36b0
DM
18518 "path" : "/quarantine",
18519 "text" : "quarantine"
410dc2c9
DM
18520 },
18521 {
18522 "children" : [
a55e94a6 18523 {
a55e94a6
DM
18524 "info" : {
18525 "GET" : {
6bd70b95 18526 "allowtoken" : 1,
9fda36b0 18527 "description" : "Contact Address Statistics.",
a55e94a6 18528 "method" : "GET",
9fda36b0 18529 "name" : "contact",
a55e94a6
DM
18530 "parameters" : {
18531 "additionalProperties" : 0,
18532 "properties" : {
9fda36b0
DM
18533 "day" : {
18534 "description" : "Day of month. Get statistics for a single day.",
18535 "maximum" : 31,
18536 "minimum" : 1,
a55e94a6
DM
18537 "optional" : 1,
18538 "type" : "integer",
9fda36b0 18539 "typetext" : "<integer> (1 - 31)"
a55e94a6 18540 },
9fda36b0
DM
18541 "endtime" : {
18542 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18543 "minimum" : 1,
410dc2c9 18544 "optional" : 1,
9fda36b0
DM
18545 "type" : "integer",
18546 "typetext" : "<integer> (1 - N)"
410dc2c9 18547 },
9fda36b0
DM
18548 "filter" : {
18549 "description" : "Contact address filter.",
18550 "maxLength" : 512,
18551 "optional" : 1,
410dc2c9
DM
18552 "type" : "string",
18553 "typetext" : "<string>"
18554 },
9fda36b0
DM
18555 "month" : {
18556 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18557 "maximum" : 12,
18558 "minimum" : 1,
410dc2c9 18559 "optional" : 1,
9fda36b0
DM
18560 "type" : "integer",
18561 "typetext" : "<integer> (1 - 12)"
410dc2c9 18562 },
9fda36b0
DM
18563 "orderby" : {
18564 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18565 "maxLength" : 4096,
18566 "optional" : 1,
410dc2c9
DM
18567 "type" : "string",
18568 "typetext" : "<string>"
9fda36b0
DM
18569 },
18570 "starttime" : {
18571 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18572 "minimum" : 0,
18573 "optional" : 1,
18574 "type" : "integer",
18575 "typetext" : "<integer> (0 - N)"
18576 },
18577 "year" : {
18578 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18579 "maximum" : 3000,
18580 "minimum" : 1900,
18581 "optional" : 1,
18582 "type" : "integer",
18583 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
18584 }
18585 }
18586 },
18587 "permissions" : {
9fda36b0
DM
18588 "check" : [
18589 "admin",
18590 "qmanager",
18591 "audit"
18592 ]
410dc2c9 18593 },
410dc2c9 18594 "returns" : {
9fda36b0
DM
18595 "items" : {
18596 "properties" : {
18597 "bytes" : {
18598 "description" : "Mail traffic (Bytes).",
18599 "type" : "number"
18600 },
18601 "contact" : {
18602 "description" : "Contact email.",
18603 "type" : "string"
18604 },
18605 "count" : {
18606 "description" : "Mail count.",
18607 "optional" : 1,
18608 "type" : "number"
18609 },
18610 "viruscount" : {
18611 "description" : "Number of sent virus mails.",
18612 "optional" : 1,
18613 "type" : "number"
18614 }
410dc2c9 18615 },
9fda36b0 18616 "type" : "object"
410dc2c9 18617 },
9fda36b0
DM
18618 "links" : [
18619 {
18620 "href" : "{contact}",
18621 "rel" : "child"
18622 }
18623 ],
18624 "type" : "array"
410dc2c9
DM
18625 }
18626 }
18627 },
14ffe66b 18628 "leaf" : 1,
9fda36b0
DM
18629 "path" : "/statistics/contact",
18630 "text" : "contact"
410dc2c9 18631 },
c5ccf1ab
TL
18632 {
18633 "info" : {
18634 "GET" : {
18635 "allowtoken" : 1,
18636 "description" : "Detailed Statistics.",
18637 "method" : "GET",
18638 "name" : "detailstats",
18639 "parameters" : {
18640 "additionalProperties" : 0,
18641 "properties" : {
18642 "address" : {
18643 "description" : "Email address.",
18644 "maxLength" : 512,
18645 "minLength" : 3,
18646 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18647 "type" : "string"
18648 },
18649 "day" : {
18650 "description" : "Day of month. Get statistics for a single day.",
18651 "maximum" : 31,
18652 "minimum" : 1,
18653 "optional" : 1,
18654 "type" : "integer",
18655 "typetext" : "<integer> (1 - 31)"
18656 },
18657 "endtime" : {
18658 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18659 "minimum" : 1,
18660 "optional" : 1,
18661 "type" : "integer",
18662 "typetext" : "<integer> (1 - N)"
18663 },
18664 "filter" : {
18665 "description" : "Address filter.",
18666 "maxLength" : 512,
18667 "optional" : 1,
18668 "type" : "string",
18669 "typetext" : "<string>"
18670 },
18671 "month" : {
18672 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18673 "maximum" : 12,
18674 "minimum" : 1,
18675 "optional" : 1,
18676 "type" : "integer",
18677 "typetext" : "<integer> (1 - 12)"
18678 },
18679 "orderby" : {
18680 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18681 "maxLength" : 4096,
18682 "optional" : 1,
18683 "type" : "string",
18684 "typetext" : "<string>"
18685 },
18686 "starttime" : {
18687 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18688 "minimum" : 0,
18689 "optional" : 1,
18690 "type" : "integer",
18691 "typetext" : "<integer> (0 - N)"
18692 },
18693 "type" : {
18694 "description" : "Type of statistics",
18695 "enum" : [
18696 "contact",
18697 "sender",
18698 "receiver"
18699 ],
18700 "type" : "string"
18701 },
18702 "year" : {
18703 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18704 "maximum" : 3000,
18705 "minimum" : 1900,
18706 "optional" : 1,
18707 "type" : "integer",
18708 "typetext" : "<integer> (1900 - 3000)"
18709 }
18710 }
18711 },
18712 "permissions" : {
18713 "check" : [
18714 "admin",
18715 "qmanager",
18716 "audit"
18717 ]
18718 },
18719 "returns" : {
18720 "items" : {
18721 "properties" : {
18722 "blocked" : {
18723 "description" : "Mail was blocked.",
18724 "type" : "boolean"
18725 },
18726 "bytes" : {
18727 "description" : "Mail traffic (Bytes).",
18728 "type" : "number"
18729 },
18730 "receiver" : {
18731 "description" : "Receiver email. (for sender statistics)",
18732 "optional" : 1,
18733 "type" : "string"
18734 },
18735 "sender" : {
18736 "description" : "Sender email. (for contact and receiver statistics)",
18737 "optional" : 1,
18738 "type" : "string"
18739 },
18740 "spamlevel" : {
18741 "description" : "Spam score.",
18742 "type" : "number"
18743 },
18744 "time" : {
18745 "description" : "Receive time stamp",
18746 "type" : "integer"
18747 },
18748 "virusinfo" : {
18749 "description" : "Virus name.",
18750 "optional" : 1,
18751 "type" : "string"
18752 }
18753 },
18754 "type" : "object"
18755 },
18756 "type" : "array"
18757 }
18758 }
18759 },
18760 "leaf" : 1,
18761 "path" : "/statistics/detail",
18762 "text" : "detail"
18763 },
410dc2c9
DM
18764 {
18765 "info" : {
9fda36b0 18766 "GET" : {
6bd70b95 18767 "allowtoken" : 1,
9fda36b0
DM
18768 "description" : "Sender Address Statistics.",
18769 "method" : "GET",
18770 "name" : "sender",
410dc2c9
DM
18771 "parameters" : {
18772 "additionalProperties" : 0,
18773 "properties" : {
9fda36b0
DM
18774 "day" : {
18775 "description" : "Day of month. Get statistics for a single day.",
18776 "maximum" : 31,
18777 "minimum" : 1,
18778 "optional" : 1,
18779 "type" : "integer",
18780 "typetext" : "<integer> (1 - 31)"
18781 },
18782 "endtime" : {
18783 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18784 "minimum" : 1,
18785 "optional" : 1,
18786 "type" : "integer",
18787 "typetext" : "<integer> (1 - N)"
18788 },
18789 "filter" : {
18790 "description" : "Sender address filter.",
18791 "maxLength" : 512,
18792 "optional" : 1,
410dc2c9
DM
18793 "type" : "string",
18794 "typetext" : "<string>"
18795 },
9fda36b0
DM
18796 "month" : {
18797 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18798 "maximum" : 12,
18799 "minimum" : 1,
18800 "optional" : 1,
18801 "type" : "integer",
18802 "typetext" : "<integer> (1 - 12)"
18803 },
18804 "orderby" : {
18805 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18806 "maxLength" : 4096,
18807 "optional" : 1,
410dc2c9
DM
18808 "type" : "string",
18809 "typetext" : "<string>"
9fda36b0
DM
18810 },
18811 "starttime" : {
18812 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18813 "minimum" : 0,
18814 "optional" : 1,
18815 "type" : "integer",
18816 "typetext" : "<integer> (0 - N)"
18817 },
18818 "year" : {
18819 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18820 "maximum" : 3000,
18821 "minimum" : 1900,
18822 "optional" : 1,
18823 "type" : "integer",
18824 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
18825 }
18826 }
18827 },
a55e94a6 18828 "permissions" : {
9fda36b0
DM
18829 "check" : [
18830 "admin",
18831 "qmanager",
18832 "audit"
18833 ]
a55e94a6 18834 },
410dc2c9 18835 "returns" : {
9fda36b0
DM
18836 "items" : {
18837 "properties" : {
18838 "bytes" : {
18839 "description" : "Mail traffic (Bytes).",
18840 "type" : "number"
18841 },
18842 "count" : {
18843 "description" : "Mail count.",
18844 "optional" : 1,
18845 "type" : "number"
18846 },
18847 "sender" : {
18848 "description" : "Sender email.",
18849 "type" : "string"
18850 },
18851 "viruscount" : {
18852 "description" : "Number of sent virus mails.",
18853 "optional" : 1,
18854 "type" : "number"
18855 }
18856 },
18857 "type" : "object"
18858 },
18859 "links" : [
18860 {
18861 "href" : "{sender}",
18862 "rel" : "child"
18863 }
18864 ],
18865 "type" : "array"
410dc2c9 18866 }
9fda36b0
DM
18867 }
18868 },
14ffe66b 18869 "leaf" : 1,
9fda36b0
DM
18870 "path" : "/statistics/sender",
18871 "text" : "sender"
18872 },
d7cd791b 18873 {
d7cd791b
DM
18874 "info" : {
18875 "GET" : {
6bd70b95 18876 "allowtoken" : 1,
9fda36b0 18877 "description" : "Receiver Address Statistics.",
d7cd791b 18878 "method" : "GET",
9fda36b0 18879 "name" : "receiver",
d7cd791b
DM
18880 "parameters" : {
18881 "additionalProperties" : 0,
18882 "properties" : {
9fda36b0
DM
18883 "day" : {
18884 "description" : "Day of month. Get statistics for a single day.",
18885 "maximum" : 31,
18886 "minimum" : 1,
18887 "optional" : 1,
18888 "type" : "integer",
18889 "typetext" : "<integer> (1 - 31)"
18890 },
18891 "endtime" : {
18892 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18893 "minimum" : 1,
18894 "optional" : 1,
18895 "type" : "integer",
18896 "typetext" : "<integer> (1 - N)"
18897 },
18898 "filter" : {
18899 "description" : "Receiver address filter.",
18900 "maxLength" : 512,
18901 "optional" : 1,
18902 "type" : "string",
18903 "typetext" : "<string>"
18904 },
18905 "month" : {
18906 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18907 "maximum" : 12,
18908 "minimum" : 1,
18909 "optional" : 1,
18910 "type" : "integer",
18911 "typetext" : "<integer> (1 - 12)"
18912 },
18913 "orderby" : {
18914 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18915 "maxLength" : 4096,
d7cd791b
DM
18916 "optional" : 1,
18917 "type" : "string",
18918 "typetext" : "<string>"
9fda36b0
DM
18919 },
18920 "starttime" : {
18921 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18922 "minimum" : 0,
18923 "optional" : 1,
18924 "type" : "integer",
18925 "typetext" : "<integer> (0 - N)"
18926 },
18927 "year" : {
18928 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18929 "maximum" : 3000,
18930 "minimum" : 1900,
18931 "optional" : 1,
18932 "type" : "integer",
18933 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
18934 }
18935 }
18936 },
18937 "permissions" : {
18938 "check" : [
18939 "admin",
18940 "qmanager",
9fda36b0 18941 "audit"
d7cd791b
DM
18942 ]
18943 },
18944 "returns" : {
18945 "items" : {
18946 "properties" : {
9fda36b0
DM
18947 "bytes" : {
18948 "description" : "Mail traffic (Bytes).",
18949 "type" : "number"
18950 },
18951 "count" : {
18952 "description" : "Mail count.",
18953 "optional" : 1,
18954 "type" : "number"
18955 },
18956 "receiver" : {
18957 "description" : "Sender email.",
d7cd791b 18958 "type" : "string"
9fda36b0
DM
18959 },
18960 "spamcount" : {
18961 "description" : "Number of sent spam mails.",
18962 "optional" : 1,
18963 "type" : "number"
18964 },
18965 "viruscount" : {
18966 "description" : "Number of sent virus mails.",
18967 "optional" : 1,
18968 "type" : "number"
d7cd791b
DM
18969 }
18970 },
18971 "type" : "object"
18972 },
9fda36b0
DM
18973 "links" : [
18974 {
18975 "href" : "{receiver}",
18976 "rel" : "child"
d7cd791b 18977 }
9fda36b0
DM
18978 ],
18979 "type" : "array"
d7cd791b
DM
18980 }
18981 }
18982 },
14ffe66b 18983 "leaf" : 1,
9fda36b0
DM
18984 "path" : "/statistics/receiver",
18985 "text" : "receiver"
d7cd791b
DM
18986 },
18987 {
d7cd791b
DM
18988 "info" : {
18989 "GET" : {
6bd70b95 18990 "allowtoken" : 1,
9fda36b0 18991 "description" : "Mail Domains Statistics.",
d7cd791b 18992 "method" : "GET",
9fda36b0 18993 "name" : "domains",
d7cd791b
DM
18994 "parameters" : {
18995 "additionalProperties" : 0,
18996 "properties" : {
9fda36b0
DM
18997 "day" : {
18998 "description" : "Day of month. Get statistics for a single day.",
18999 "maximum" : 31,
19000 "minimum" : 1,
19001 "optional" : 1,
19002 "type" : "integer",
19003 "typetext" : "<integer> (1 - 31)"
19004 },
19005 "endtime" : {
19006 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19007 "minimum" : 1,
19008 "optional" : 1,
19009 "type" : "integer",
19010 "typetext" : "<integer> (1 - N)"
19011 },
19012 "month" : {
19013 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19014 "maximum" : 12,
19015 "minimum" : 1,
19016 "optional" : 1,
19017 "type" : "integer",
19018 "typetext" : "<integer> (1 - 12)"
19019 },
19020 "starttime" : {
19021 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19022 "minimum" : 0,
d7cd791b 19023 "optional" : 1,
9fda36b0
DM
19024 "type" : "integer",
19025 "typetext" : "<integer> (0 - N)"
19026 },
19027 "year" : {
19028 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19029 "maximum" : 3000,
19030 "minimum" : 1900,
19031 "optional" : 1,
19032 "type" : "integer",
19033 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19034 }
19035 }
19036 },
19037 "permissions" : {
19038 "check" : [
19039 "admin",
19040 "qmanager",
9fda36b0 19041 "audit"
d7cd791b
DM
19042 ]
19043 },
19044 "returns" : {
19045 "items" : {
19046 "properties" : {
274b47fc
DM
19047 "bytes_in" : {
19048 "description" : "Incoming mail traffic (Bytes).",
19049 "type" : "number"
19050 },
19051 "bytes_out" : {
19052 "description" : "Outgoing mail traffic (Bytes).",
19053 "type" : "number"
19054 },
9fda36b0
DM
19055 "count_in" : {
19056 "description" : "Incoming mail count.",
19057 "type" : "number"
19058 },
19059 "count_out" : {
19060 "description" : "Outgoing mail count.",
19061 "type" : "number"
19062 },
19063 "domain" : {
19064 "description" : "Domain name.",
d7cd791b 19065 "type" : "string"
9fda36b0 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 "viruscount_in" : {
19076 "description" : "Number of incoming virus mails.",
19077 "type" : "number"
19078 },
19079 "viruscount_out" : {
19080 "description" : "Number of outgoing virus mails.",
19081 "type" : "number"
d7cd791b
DM
19082 }
19083 },
19084 "type" : "object"
19085 },
19086 "type" : "array"
19087 }
9fda36b0
DM
19088 }
19089 },
19090 "leaf" : 1,
19091 "path" : "/statistics/domains",
19092 "text" : "domains"
19093 },
19094 {
19095 "info" : {
19096 "GET" : {
6bd70b95 19097 "allowtoken" : 1,
9fda36b0
DM
19098 "description" : "General Mail Statistics.",
19099 "method" : "GET",
19100 "name" : "mail",
d7cd791b
DM
19101 "parameters" : {
19102 "additionalProperties" : 0,
19103 "properties" : {
9fda36b0
DM
19104 "day" : {
19105 "description" : "Day of month. Get statistics for a single day.",
19106 "maximum" : 31,
19107 "minimum" : 1,
19108 "optional" : 1,
19109 "type" : "integer",
19110 "typetext" : "<integer> (1 - 31)"
d7cd791b 19111 },
9fda36b0
DM
19112 "endtime" : {
19113 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19114 "minimum" : 1,
d7cd791b 19115 "optional" : 1,
9fda36b0
DM
19116 "type" : "integer",
19117 "typetext" : "<integer> (1 - N)"
19118 },
19119 "month" : {
19120 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19121 "maximum" : 12,
19122 "minimum" : 1,
19123 "optional" : 1,
19124 "type" : "integer",
19125 "typetext" : "<integer> (1 - 12)"
19126 },
19127 "starttime" : {
19128 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19129 "minimum" : 0,
19130 "optional" : 1,
19131 "type" : "integer",
19132 "typetext" : "<integer> (0 - N)"
19133 },
19134 "year" : {
19135 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19136 "maximum" : 3000,
19137 "minimum" : 1900,
19138 "optional" : 1,
19139 "type" : "integer",
19140 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19141 }
19142 }
19143 },
19144 "permissions" : {
19145 "check" : [
19146 "admin",
19147 "qmanager",
9fda36b0 19148 "audit"
d7cd791b
DM
19149 ]
19150 },
d7cd791b 19151 "returns" : {
9fda36b0
DM
19152 "properties" : {
19153 "avptime" : {
19154 "description" : "Average mail processing time in seconds.",
19155 "type" : "number"
19156 },
19157 "bounces_in" : {
19158 "description" : "Incoming bounce mail count (sender = <>).",
19159 "type" : "number"
19160 },
19161 "bounces_out" : {
19162 "description" : "Outgoing bounce mail count (sender = <>).",
19163 "type" : "number"
19164 },
19165 "bytes_in" : {
19166 "description" : "Incoming mail traffic (bytes).",
19167 "type" : "number"
19168 },
19169 "bytes_out" : {
19170 "description" : "Outgoing mail traffic (bytes).",
19171 "type" : "number"
19172 },
19173 "count" : {
19174 "description" : "Overall mail count (in and out).",
19175 "type" : "number"
19176 },
19177 "count_in" : {
19178 "description" : "Incoming mail count.",
19179 "type" : "number"
19180 },
19181 "count_out" : {
19182 "description" : "Outgoing mail count.",
19183 "type" : "number"
19184 },
19185 "glcount" : {
19186 "description" : "Number of greylisted mails.",
19187 "type" : "number"
19188 },
19189 "junk_in" : {
274b47fc 19190 "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19191 "type" : "number"
19192 },
19193 "junk_out" : {
19194 "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
19195 "type" : "number"
19196 },
274b47fc
DM
19197 "pregreet_rejects" : {
19198 "description" : "PREGREET recject count.",
19199 "type" : "integer"
19200 },
19201 "rbl_rejects" : {
19202 "description" : "Number of RBL rejects.",
19203 "type" : "integer"
19204 },
9fda36b0
DM
19205 "spamcount_in" : {
19206 "description" : "Incoming spam mails.",
19207 "type" : "number"
19208 },
19209 "spamcount_out" : {
19210 "description" : "Outgoing spam mails.",
19211 "type" : "number"
19212 },
19213 "spfcount" : {
19214 "description" : "Mails rejected by SPF.",
19215 "type" : "number"
19216 },
19217 "viruscount_in" : {
19218 "description" : "Number of incoming virus mails.",
19219 "type" : "number"
19220 },
19221 "viruscount_out" : {
19222 "description" : "Number of outgoing virus mails.",
19223 "type" : "number"
19224 }
19225 },
19226 "type" : "object"
d7cd791b
DM
19227 }
19228 }
19229 },
9fda36b0
DM
19230 "leaf" : 1,
19231 "path" : "/statistics/mail",
19232 "text" : "mail"
d7cd791b 19233 },
732d76e1
DM
19234 {
19235 "info" : {
19236 "GET" : {
6bd70b95 19237 "allowtoken" : 1,
732d76e1
DM
19238 "description" : "Mail Count Statistics.",
19239 "method" : "GET",
19240 "name" : "recent",
19241 "parameters" : {
19242 "additionalProperties" : 0,
19243 "properties" : {
19244 "hours" : {
19245 "default" : 12,
19246 "description" : "How many hours you want to get",
19247 "maximum" : 24,
19248 "minimum" : 1,
19249 "optional" : 1,
19250 "type" : "integer",
19251 "typetext" : "<integer> (1 - 24)"
19252 },
19253 "timespan" : {
19254 "default" : 1800,
19255 "description" : "The Timespan for one datapoint (in seconds)",
19256 "maximum" : 1800,
19257 "minimum" : 1,
19258 "optional" : 1,
19259 "type" : "integer",
19260 "typetext" : "<integer> (1 - 1800)"
19261 }
19262 }
19263 },
19264 "permissions" : {
19265 "check" : [
19266 "admin",
19267 "qmanager",
19268 "audit"
19269 ]
19270 },
19271 "returns" : {
19272 "items" : {
19273 "properties" : {
19274 "bytes_in" : {
19275 "description" : "Number of incoming bytes mails.",
19276 "type" : "number"
19277 },
19278 "bytes_out" : {
19279 "description" : "Number of outgoing bytes mails.",
19280 "type" : "number"
19281 },
19282 "count" : {
19283 "description" : "Overall mail count (in and out).",
19284 "type" : "number"
19285 },
19286 "count_in" : {
19287 "description" : "Incoming mail count.",
19288 "type" : "number"
19289 },
19290 "count_out" : {
19291 "description" : "Outgoing mail count.",
19292 "type" : "number"
19293 },
19294 "index" : {
19295 "description" : "Time index.",
19296 "type" : "integer"
19297 },
19298 "spam" : {
19299 "description" : "Overall spam mail count (in and out).",
19300 "type" : "number"
19301 },
19302 "spam_in" : {
19303 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19304 "type" : "number"
19305 },
19306 "spam_out" : {
19307 "description" : "Outgoing spam mails.",
19308 "type" : "number"
19309 },
19310 "time" : {
19311 "description" : "Time (Unix epoch).",
19312 "type" : "integer"
19313 },
19314 "timespan" : {
19315 "description" : "Timespan in seconds for one data point",
19316 "type" : "number"
19317 },
19318 "virus_in" : {
19319 "description" : "Number of incoming virus mails.",
19320 "type" : "number"
19321 },
19322 "virus_out" : {
19323 "description" : "Number of outgoing virus mails.",
19324 "type" : "number"
19325 }
19326 },
19327 "type" : "object"
19328 },
19329 "type" : "array"
19330 }
19331 }
19332 },
19333 "leaf" : 1,
19334 "path" : "/statistics/recent",
19335 "text" : "recent"
19336 },
19337 {
19338 "info" : {
19339 "GET" : {
6bd70b95 19340 "allowtoken" : 1,
732d76e1
DM
19341 "description" : "Top recent Mail Receivers (including spam)",
19342 "method" : "GET",
19343 "name" : "recentreceivers",
19344 "parameters" : {
19345 "additionalProperties" : 0,
19346 "properties" : {
19347 "hours" : {
19348 "default" : 12,
19349 "description" : "How many hours you want to get",
19350 "maximum" : 24,
19351 "minimum" : 1,
19352 "optional" : 1,
19353 "type" : "integer",
19354 "typetext" : "<integer> (1 - 24)"
19355 },
19356 "limit" : {
19357 "default" : 5,
19358 "description" : "The maximum number of receivers to return.",
19359 "maximum" : 50,
19360 "minimum" : 1,
19361 "optional" : 1,
19362 "type" : "integer",
19363 "typetext" : "<integer> (1 - 50)"
19364 }
19365 }
19366 },
19367 "permissions" : {
19368 "check" : [
19369 "admin",
19370 "qmanager",
19371 "audit"
19372 ]
19373 },
19374 "returns" : {
19375 "items" : {
19376 "properties" : {
19377 "count" : {
19378 "description" : "The count of incoming not blocked E-Mails",
19379 "type" : "integer"
19380 },
19381 "receiver" : {
19382 "description" : "The receiver",
19383 "type" : "string"
19384 }
19385 },
19386 "type" : "object"
19387 },
19388 "type" : "array"
19389 }
19390 }
19391 },
19392 "leaf" : 1,
19393 "path" : "/statistics/recentreceivers",
19394 "text" : "recentreceivers"
19395 },
d7cd791b 19396 {
9fda36b0
DM
19397 "info" : {
19398 "GET" : {
6bd70b95 19399 "allowtoken" : 1,
9fda36b0
DM
19400 "description" : "Mail Count Statistics.",
19401 "method" : "GET",
19402 "name" : "mailcount",
19403 "parameters" : {
19404 "additionalProperties" : 0,
19405 "properties" : {
19406 "day" : {
19407 "description" : "Day of month. Get statistics for a single day.",
19408 "maximum" : 31,
19409 "minimum" : 1,
19410 "optional" : 1,
19411 "type" : "integer",
19412 "typetext" : "<integer> (1 - 31)"
d7cd791b 19413 },
9fda36b0
DM
19414 "endtime" : {
19415 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19416 "minimum" : 1,
19417 "optional" : 1,
19418 "type" : "integer",
19419 "typetext" : "<integer> (1 - N)"
d7cd791b 19420 },
9fda36b0
DM
19421 "month" : {
19422 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19423 "maximum" : 12,
19424 "minimum" : 1,
19425 "optional" : 1,
19426 "type" : "integer",
19427 "typetext" : "<integer> (1 - 12)"
19428 },
19429 "starttime" : {
19430 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19431 "minimum" : 0,
19432 "optional" : 1,
19433 "type" : "integer",
19434 "typetext" : "<integer> (0 - N)"
19435 },
19436 "timespan" : {
19437 "default" : 3600,
19438 "description" : "Return Mails/<timespan>, where <timespan> is specified in seconds.",
19439 "maximum" : 31622400,
19440 "minimum" : 3600,
19441 "optional" : 1,
19442 "type" : "integer",
19443 "typetext" : "<integer> (3600 - 31622400)"
19444 },
19445 "year" : {
19446 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19447 "maximum" : 3000,
19448 "minimum" : 1900,
19449 "optional" : 1,
19450 "type" : "integer",
19451 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19452 }
19453 }
19454 },
9fda36b0
DM
19455 "permissions" : {
19456 "check" : [
19457 "admin",
19458 "qmanager",
19459 "audit"
19460 ]
19461 },
19462 "returns" : {
19463 "items" : {
19464 "properties" : {
19465 "bounces_in" : {
19466 "description" : "Incoming bounce mail count (sender = <>).",
19467 "type" : "number"
19468 },
19469 "bounces_out" : {
19470 "description" : "Outgoing bounce mail count (sender = <>).",
19471 "type" : "number"
19472 },
19473 "count" : {
19474 "description" : "Overall mail count (in and out).",
19475 "type" : "number"
19476 },
19477 "count_in" : {
19478 "description" : "Incoming mail count.",
19479 "type" : "number"
19480 },
19481 "count_out" : {
19482 "description" : "Outgoing mail count.",
19483 "type" : "number"
19484 },
19485 "index" : {
19486 "description" : "Time index.",
19487 "type" : "integer"
19488 },
274b47fc
DM
19489 "pregreet_rejects" : {
19490 "description" : "PREGREET recject count.",
19491 "type" : "integer"
19492 },
19493 "rbl_rejects" : {
19494 "description" : "Number of RBL rejects.",
19495 "type" : "integer"
19496 },
9fda36b0 19497 "spamcount_in" : {
274b47fc 19498 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19499 "type" : "number"
19500 },
19501 "spamcount_out" : {
19502 "description" : "Outgoing spam mails.",
19503 "type" : "number"
19504 },
19505 "time" : {
19506 "description" : "Time (Unix epoch).",
19507 "type" : "integer"
19508 },
19509 "viruscount_in" : {
19510 "description" : "Number of incoming virus mails.",
19511 "type" : "number"
19512 },
19513 "viruscount_out" : {
19514 "description" : "Number of outgoing virus mails.",
19515 "type" : "number"
19516 }
19517 },
19518 "type" : "object"
19519 },
19520 "type" : "array"
19521 }
d7cd791b 19522 }
9fda36b0
DM
19523 },
19524 "leaf" : 1,
19525 "path" : "/statistics/mailcount",
19526 "text" : "mailcount"
19527 },
19528 {
d7cd791b
DM
19529 "info" : {
19530 "GET" : {
6bd70b95 19531 "allowtoken" : 1,
9fda36b0 19532 "description" : "Get Statistics about detected Viruses.",
d7cd791b 19533 "method" : "GET",
9fda36b0 19534 "name" : "virus",
d7cd791b
DM
19535 "parameters" : {
19536 "additionalProperties" : 0,
19537 "properties" : {
9fda36b0
DM
19538 "day" : {
19539 "description" : "Day of month. Get statistics for a single day.",
19540 "maximum" : 31,
19541 "minimum" : 1,
19542 "optional" : 1,
19543 "type" : "integer",
19544 "typetext" : "<integer> (1 - 31)"
19545 },
d7cd791b 19546 "endtime" : {
9fda36b0 19547 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
d7cd791b
DM
19548 "minimum" : 1,
19549 "optional" : 1,
19550 "type" : "integer",
19551 "typetext" : "<integer> (1 - N)"
19552 },
9fda36b0
DM
19553 "month" : {
19554 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19555 "maximum" : 12,
19556 "minimum" : 1,
d7cd791b 19557 "optional" : 1,
9fda36b0
DM
19558 "type" : "integer",
19559 "typetext" : "<integer> (1 - 12)"
d7cd791b
DM
19560 },
19561 "starttime" : {
9fda36b0 19562 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
d7cd791b
DM
19563 "minimum" : 0,
19564 "optional" : 1,
19565 "type" : "integer",
19566 "typetext" : "<integer> (0 - N)"
9fda36b0
DM
19567 },
19568 "year" : {
19569 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19570 "maximum" : 3000,
19571 "minimum" : 1900,
19572 "optional" : 1,
19573 "type" : "integer",
19574 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19575 }
19576 }
19577 },
19578 "permissions" : {
19579 "check" : [
19580 "admin",
19581 "qmanager",
9fda36b0 19582 "audit"
d7cd791b
DM
19583 ]
19584 },
19585 "returns" : {
19586 "items" : {
19587 "properties" : {
19588 "count" : {
9fda36b0 19589 "description" : "Detection count.",
d7cd791b
DM
19590 "type" : "integer"
19591 },
9fda36b0
DM
19592 "name" : {
19593 "description" : "Virus name.",
19594 "type" : "string"
d7cd791b
DM
19595 }
19596 },
19597 "type" : "object"
19598 },
d7cd791b
DM
19599 "type" : "array"
19600 }
19601 }
19602 },
9fda36b0
DM
19603 "leaf" : 1,
19604 "path" : "/statistics/virus",
19605 "text" : "virus"
d7cd791b
DM
19606 },
19607 {
19608 "info" : {
19609 "GET" : {
6bd70b95 19610 "allowtoken" : 1,
9fda36b0 19611 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
d7cd791b 19612 "method" : "GET",
9fda36b0 19613 "name" : "spamscores",
d7cd791b
DM
19614 "parameters" : {
19615 "additionalProperties" : 0,
19616 "properties" : {
9fda36b0
DM
19617 "day" : {
19618 "description" : "Day of month. Get statistics for a single day.",
19619 "maximum" : 31,
19620 "minimum" : 1,
19621 "optional" : 1,
19622 "type" : "integer",
19623 "typetext" : "<integer> (1 - 31)"
d7cd791b 19624 },
9fda36b0
DM
19625 "endtime" : {
19626 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19627 "minimum" : 1,
d7cd791b 19628 "optional" : 1,
9fda36b0
DM
19629 "type" : "integer",
19630 "typetext" : "<integer> (1 - N)"
19631 },
19632 "month" : {
19633 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19634 "maximum" : 12,
19635 "minimum" : 1,
19636 "optional" : 1,
19637 "type" : "integer",
19638 "typetext" : "<integer> (1 - 12)"
19639 },
19640 "starttime" : {
19641 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19642 "minimum" : 0,
19643 "optional" : 1,
19644 "type" : "integer",
19645 "typetext" : "<integer> (0 - N)"
19646 },
19647 "year" : {
19648 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19649 "maximum" : 3000,
19650 "minimum" : 1900,
19651 "optional" : 1,
19652 "type" : "integer",
19653 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19654 }
19655 }
19656 },
19657 "permissions" : {
19658 "check" : [
19659 "admin",
19660 "qmanager",
9fda36b0 19661 "audit"
d7cd791b
DM
19662 ]
19663 },
19664 "returns" : {
9fda36b0
DM
19665 "items" : {
19666 "properties" : {
19667 "count" : {
19668 "description" : "Detection count.",
19669 "type" : "integer"
19670 },
19671 "level" : {
19672 "description" : "Spam level.",
19673 "type" : "string"
19674 },
19675 "ratio" : {
19676 "description" : "Portion of overall mail count.",
19677 "type" : "number"
19678 }
d7cd791b 19679 },
9fda36b0
DM
19680 "type" : "object"
19681 },
19682 "type" : "array"
19683 }
19684 }
19685 },
19686 "leaf" : 1,
19687 "path" : "/statistics/spamscores",
19688 "text" : "spamscores"
19689 },
19690 {
19691 "info" : {
19692 "GET" : {
6bd70b95 19693 "allowtoken" : 1,
9fda36b0
DM
19694 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
19695 "method" : "GET",
19696 "name" : "maildistribution",
19697 "parameters" : {
19698 "additionalProperties" : 0,
19699 "properties" : {
19700 "day" : {
19701 "description" : "Day of month. Get statistics for a single day.",
19702 "maximum" : 31,
19703 "minimum" : 1,
d7cd791b 19704 "optional" : 1,
9fda36b0
DM
19705 "type" : "integer",
19706 "typetext" : "<integer> (1 - 31)"
d7cd791b 19707 },
9fda36b0
DM
19708 "endtime" : {
19709 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19710 "minimum" : 1,
19711 "optional" : 1,
19712 "type" : "integer",
19713 "typetext" : "<integer> (1 - N)"
d7cd791b 19714 },
9fda36b0
DM
19715 "month" : {
19716 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19717 "maximum" : 12,
19718 "minimum" : 1,
19719 "optional" : 1,
19720 "type" : "integer",
19721 "typetext" : "<integer> (1 - 12)"
d7cd791b 19722 },
9fda36b0
DM
19723 "starttime" : {
19724 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19725 "minimum" : 0,
19726 "optional" : 1,
19727 "type" : "integer",
19728 "typetext" : "<integer> (0 - N)"
d7cd791b 19729 },
9fda36b0
DM
19730 "year" : {
19731 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19732 "maximum" : 3000,
19733 "minimum" : 1900,
19734 "optional" : 1,
19735 "type" : "integer",
19736 "typetext" : "<integer> (1900 - 3000)"
d7cd791b 19737 }
9fda36b0
DM
19738 }
19739 },
19740 "permissions" : {
19741 "check" : [
19742 "admin",
19743 "qmanager",
19744 "audit"
19745 ]
19746 },
19747 "returns" : {
19748 "items" : {
19749 "properties" : {
19750 "bounces_in" : {
19751 "description" : "Incoming bounce mail count (sender = <>).",
19752 "type" : "number"
19753 },
19754 "bounces_out" : {
19755 "description" : "Outgoing bounce mail count (sender = <>).",
19756 "type" : "number"
19757 },
19758 "count" : {
19759 "description" : "Overall mail count (in and out).",
19760 "type" : "number"
19761 },
19762 "count_in" : {
19763 "description" : "Incoming mail count.",
19764 "type" : "number"
19765 },
19766 "count_out" : {
19767 "description" : "Outgoing mail count.",
19768 "type" : "number"
19769 },
19770 "index" : {
19771 "description" : "Hour (0-23).",
19772 "type" : "integer"
19773 },
19774 "spamcount_in" : {
19775 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19776 "type" : "number"
19777 },
19778 "spamcount_out" : {
19779 "description" : "Outgoing spam mails.",
19780 "type" : "number"
19781 },
19782 "viruscount_in" : {
19783 "description" : "Number of incoming virus mails.",
19784 "type" : "number"
19785 },
19786 "viruscount_out" : {
19787 "description" : "Number of outgoing virus mails.",
19788 "type" : "number"
19789 }
19790 },
19791 "type" : "object"
d7cd791b 19792 },
9fda36b0 19793 "type" : "array"
d7cd791b 19794 }
9fda36b0
DM
19795 }
19796 },
19797 "leaf" : 1,
19798 "path" : "/statistics/maildistribution",
19799 "text" : "maildistribution"
19800 },
19801 {
19802 "info" : {
19803 "GET" : {
6bd70b95 19804 "allowtoken" : 1,
274b47fc 19805 "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
9fda36b0 19806 "method" : "GET",
274b47fc 19807 "name" : "rejectcount",
d7cd791b
DM
19808 "parameters" : {
19809 "additionalProperties" : 0,
19810 "properties" : {
9fda36b0
DM
19811 "day" : {
19812 "description" : "Day of month. Get statistics for a single day.",
19813 "maximum" : 31,
19814 "minimum" : 1,
19815 "optional" : 1,
19816 "type" : "integer",
19817 "typetext" : "<integer> (1 - 31)"
d7cd791b 19818 },
9fda36b0
DM
19819 "endtime" : {
19820 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19821 "minimum" : 1,
19822 "optional" : 1,
19823 "type" : "integer",
19824 "typetext" : "<integer> (1 - N)"
19825 },
19826 "month" : {
19827 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19828 "maximum" : 12,
19829 "minimum" : 1,
19830 "optional" : 1,
19831 "type" : "integer",
19832 "typetext" : "<integer> (1 - 12)"
19833 },
19834 "starttime" : {
19835 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19836 "minimum" : 0,
19837 "optional" : 1,
19838 "type" : "integer",
19839 "typetext" : "<integer> (0 - N)"
19840 },
19841 "timespan" : {
19842 "default" : 3600,
274b47fc 19843 "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.",
9fda36b0
DM
19844 "maximum" : 31622400,
19845 "minimum" : 3600,
19846 "optional" : 1,
19847 "type" : "integer",
19848 "typetext" : "<integer> (3600 - 31622400)"
19849 },
19850 "year" : {
19851 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19852 "maximum" : 3000,
19853 "minimum" : 1900,
19854 "optional" : 1,
19855 "type" : "integer",
19856 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19857 }
19858 }
19859 },
19860 "permissions" : {
19861 "check" : [
19862 "admin",
19863 "qmanager",
9fda36b0 19864 "audit"
d7cd791b
DM
19865 ]
19866 },
d7cd791b 19867 "returns" : {
9fda36b0
DM
19868 "items" : {
19869 "properties" : {
9fda36b0
DM
19870 "index" : {
19871 "description" : "Time index.",
19872 "type" : "integer"
19873 },
274b47fc
DM
19874 "pregreet_rejects" : {
19875 "description" : "PREGREET recject count.",
19876 "type" : "integer"
19877 },
19878 "rbl_rejects" : {
19879 "description" : "RBL recject count.",
19880 "type" : "integer"
19881 },
9fda36b0
DM
19882 "time" : {
19883 "description" : "Time (Unix epoch).",
19884 "type" : "integer"
19885 }
19886 },
19887 "type" : "object"
19888 },
19889 "type" : "array"
d7cd791b
DM
19890 }
19891 }
19892 },
19893 "leaf" : 1,
274b47fc
DM
19894 "path" : "/statistics/rejectcount",
19895 "text" : "rejectcount"
d7cd791b
DM
19896 }
19897 ],
19898 "info" : {
19899 "GET" : {
6bd70b95 19900 "allowtoken" : 1,
d7cd791b
DM
19901 "description" : "Directory index.",
19902 "method" : "GET",
19903 "name" : "index",
19904 "parameters" : {
19905 "additionalProperties" : 0
19906 },
19907 "permissions" : {
9fda36b0
DM
19908 "check" : [
19909 "admin",
19910 "qmanager",
19911 "audit"
19912 ]
d7cd791b
DM
19913 },
19914 "returns" : {
19915 "items" : {
19916 "properties" : {},
19917 "type" : "object"
19918 },
19919 "links" : [
19920 {
19921 "href" : "{name}",
19922 "rel" : "child"
19923 }
19924 ],
19925 "type" : "array"
19926 }
19927 }
19928 },
19929 "leaf" : 0,
9fda36b0
DM
19930 "path" : "/statistics",
19931 "text" : "statistics"
d7cd791b 19932 },
410dc2c9
DM
19933 {
19934 "info" : {
19935 "GET" : {
6bd70b95 19936 "allowtoken" : 1,
410dc2c9
DM
19937 "description" : "API version details.",
19938 "method" : "GET",
19939 "name" : "version",
19940 "parameters" : {
19941 "additionalProperties" : 0
19942 },
19943 "permissions" : {
19944 "user" : "all"
19945 },
19946 "returns" : {
19947 "properties" : {
19948 "release" : {
241ac83c 19949 "description" : "The current installed Proxmox Mailgateway Release",
410dc2c9
DM
19950 "type" : "string"
19951 },
19952 "repoid" : {
241ac83c 19953 "description" : "The short git commit hash ID from which this version was build",
410dc2c9
DM
19954 "type" : "string"
19955 },
19956 "version" : {
241ac83c 19957 "description" : "The current installed pmg-api package version",
410dc2c9
DM
19958 "type" : "string"
19959 }
19960 },
19961 "type" : "object"
19962 }
19963 }
19964 },
19965 "leaf" : 1,
19966 "path" : "/version",
19967 "text" : "version"
19968 }
19969]
19970;
19971