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